UniversalDevicesInc-PG3 / udi-poly-ELK

MIT License
2 stars 1 forks source link

Armed Status reported incorrectly as Armed Away when actually disarmed #77

Closed wmcneilgh closed 2 years ago

wmcneilgh commented 2 years ago

My elk Node server is reporting my Elk Armed Status as "Armed Away" in the IoP AC (and IoP programs are seeing value "Armed Away"), when in fact the actual status is "disarmed". I have tried restarting elk Node server. Attached is a log file with debug+modules turned on. The restart of the elk Node server with debug+modules is at time 13:47:46 in debug.log

elk Node server is 3.3.5, IoP is 5.4.4

ELK_7-11-2022_14824_PM.zip

jimboca commented 2 years ago

Thanks, I saw your forum post as well, I'll try to take a look today.

jimboca commented 2 years ago

Yes, this looks like a bug.  For some reason Polyglot thinks the last known value is 1 (Armed Away) so on restart that's what it's getting.  The bug is that the NS should set it to the current value received from the ELK but it's not doing that.

Here's the issue, PG3 set's the initial value:

2022-07-11 13:48:06,015 ELK-13172  udi_interface.node DEBUG    node:_updateDrivers: Update area_1 default GV1 to 1 / 25

Then the 'set_drivers' method doesn't pass in the current elk value, so it gets the default form get_driver instead of the default...

2022-07-11 13:48:06,734 Thread-12  udi_interface      DEBUG    BaseNode:set_driver: area_1:Area 1: GV0,None default=0 force=False,report=True
2022-07-11 13:48:06,735 Thread-12  udi_interface.node DEBUG    node:getDriver: area_1:Area 1 ST - 0 :: getting dv GV0
2022-07-11 13:48:06,736 Thread-12  udi_interface.node DEBUG    node:getDriver: area_1:Area 1 GV0 - 1 :: getting dv GV0
2022-07-11 13:48:06,737 Thread-12  udi_interface      INFO     BaseNode:set_driver: area_1:Area 1: Using getDriver(GV0)=1
2022-07-11 13:48:06,738 Thread-12  udi_interface.node DEBUG    node:setDriver: area_1:Area 1 Reporting set GV0 to 1 to Polyglot
2022-07-11 13:48:06,738 Thread-12  udi_interface.node DEBUG    node:reportDriver: Updating value to 1
2022-07-11 13:48:06,739 Thread-12  udi_interface.interface DEBUG    interface:send: PUBLISHING {'set': [{'address': 'area_1', 'driver': 'GV0', 'value': '1', 'uom': 25}]}
2022-07-11 13:48:06,741 Thread-12  udi_interface      INFO     BaseNode:set_driver: area_1:Area 1: set_driver(GV0,1) 'Armed Status' = 'Armed Away'