-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem with ConfirmedEventNotification in BACpypes Sample #507
Comments
Am not the expert here... but think Does that sound about right? If I under stand your approach you have 2 different PC's on a LAN and your trying to send an event notification but the point may not exist in the other device?? I am not super familiar with Event Notifications or the EventNotification.py. Do you have a BACnet device on a test bench or what are you using? if it comes down to it you can simulate a BACnet device on a like a raspberry pi or something and then use bacpypes to read and write to it...
Just some suggestions but there is a section in the ReadTheDocs as well: |
The sample application that you referenced is a recipient of an event notification, it doesn't initiate them. It uses the WriteProperty service to tell the server "when there is something that needs to be sent with notification class 0, send a notification to 'me' and I'm giving you my device identifier". Note that this request completely re-writes the recipient list, so if this is acknowledged then the old recipients will be obliterated and won't get notifications. If you think you can successfully update the recipient list, try reading it back and make sure it was actually updated. Then trigger a notification of some object that references notification class 0 and you will probably see: There is a chance that the device you are talking to doesn't support device identifiers as a recipient (see Recipient), in which case the WriteProperty should fail and you can try to fill in the DeviceAddress which is a bit tedious.
What you do with the notification is up to your application. It's common to at least log the event and if it's an "alarm" then notify the user in some way. It's also common to disconnect the event recipient from this other activity by forwarding it to an MQTT broker, AMPQ middleware, or other streaming protocol so your application doesn't spend a lot of time before acknowledging the event. When thousands of events arrive in a few seconds (think campus-wide power spike or other utility distribution failure) it's important to process them all before any of the APDU timeouts expire (usually around 3 seconds) or you'll get repeat notifications (assuming they are confirmed), and you want to drain the operating system's UDP socket buffer as quickly as possible (notifications get dropped before you have a chance to see them). |
Hi Joel,
First of all, thank you for your great work on BACpypes. I'm relatively new to BACpypes and I'm currently trying to send and receive ConfirmedEventNotification messages.
I've attempted to use the provided sample 'EventNotification.py' on two different PCs. However, when I tried to use the 'writerl 192.168.1.105 0' command (where 192.168.1.105 is the IP address of the other device), I encountered some issues. After resolving those issues, I encountered an 'object: unknownObject' error.
I have a few questions and requests:
Thank you in advance for your assistance.
The text was updated successfully, but these errors were encountered: