-
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
Is there a way to detect where a change came from in the BACnet Stack? #528
Comments
Got the debounce working but would still like to know if i can detect where a change is coming from `class AnalogOutputFeedbackObject(AnalogOutputCmdObject):
|
maybe see this git discussion about trying to see where client requests come from. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The issue that I'm having is that an external device makes a change to a Point and before the database has been updated, the BACnet stack has been updated by the process that checks the database, so the external change gets "lost" (its intermitent of course, since sometime the database is updated)
`# Function to create Binary Output Object
def create_binary_output(row):
try:
ArrayOfPropertyIdentifier = ArrayOf(PropertyIdentifier)
property_list = ArrayOfPropertyIdentifier([
'presentValue', 'statusFlags', 'eventState', 'inactiveText', 'activeText',
'outOfService', 'description', 'reliability', 'polarity'
])
@bacpypes_debugging
@register_object_type(vendor_id=47)
class BinaryOutputFeedbackObject(BinaryOutputCmdObject):
def init(self, *args, **kwargs):
super().init(*args, **kwargs)
`
(green text)
I've tried to implement a "debounce" feature, but that just complains that its unknown property
`from bacpypes.local.object import AnalogOutputCmdObject
import time
import logging
class AnalogOutputFeedbackObject(AnalogOutputCmdObject):
def init(self, *args, **kwargs):
self.last_update_time = 0
self.debounce_interval = 1 # seconds
if _debug:
AnalogOutputFeedbackObject._debug("init %r %r", args, kwargs)
super().init(*args, **kwargs)
`
The text was updated successfully, but these errors were encountered: