Tunaman Posted April 15, 2022 Posted April 15, 2022 I'm attempting to use an output as a controller in a scene, and it seems that it has only implemented half of the link in the scene. I created a scene, added 1 insteon SL as a responder, and added 1 Elk Output as a controller: However, it appears that it does create both controller and responder links on the Output: What I'm trying to do is allow my Elk to trigger a scene via an Output -- is this a defect, or is this by design?
Jimbo.Automates Posted April 15, 2022 Posted April 15, 2022 Not a defect, and not by design, just never considered they would be used that way.Added issue: https://github.com/UniversalDevicesInc-PG3/udi-poly-ELK/issues/73Sent from my Pixel 6 Pro using Tapatalk
Charlie_Morlock Posted April 15, 2022 Posted April 15, 2022 Thanks for the quick response.Back in the early days of Elk implications, is was pretty common to create phantom outputs to be used to trigger events. This is a great way to integrate elk tasks.This did work with the Elk Module. I just discovered it when switching to IOP.Great job on the node server, you managed to implement many more features of the Elk protocol than the module had!Sent from my SM-T727A using Tapatalk 1
Jimbo.Automates Posted April 15, 2022 Posted April 15, 2022 Thanks, for now you can use status in a program. It is pretty simple to add so will try to get to it and all the other requests sometime soon.Sent from my Pixel 6 Pro using Tapatalk
Tunaman Posted April 15, 2022 Author Posted April 15, 2022 Yep, I'll go with the work-around for now. FYI -- there was a perl module written 10-15 years ago that had worked out the logic for most of the elk RS-232 message protocol. I picked that up 7-8 years ago to update it to include new message types, but have not maintained it for at least 5 years now. I only mention it because when I was done with it, I had pretty much worked out all of the logic except for the audio devices (didn't really see how that would be useful). I really don't think that Elk has updated the protocol since, so it is likely still a fairly comprehensive perl implementation of the RS-232. I was mainly using it for logging, but had also added some code so that it would update an ISY state variable whenever a temperature device sent an update message. I think I may have also been logging user codes as well If you are interested, I can probably find the perl code -- it may serve as a useful reference. 1
Jimbo.Automates Posted May 9, 2022 Posted May 9, 2022 Thanks for the offer on the Perl code, I wish node servers were in Perl, that's language I use at work a lot more than Python! But all the new kids love Python... This issue should work properly in 3.3.0.
bigDvette Posted May 22, 2022 Posted May 22, 2022 I've had to turn off all my scenes that use an elk output as a trigger. It seems they randomly reset/go on-off audit triggers my scene which in this case shuts down the whole house. 1
Jimbo.Automates Posted May 22, 2022 Posted May 22, 2022 I've had to turn off all my scenes that use an elk output as a trigger. It seems they randomly reset/go on-off audit triggers my scene which in this case shuts down the whole house.Can you define random? Put log in Debug and when it happens download log and PM it to me. I would test but on vacation and won't be home for another couple weeks.Sent from my Pixel 6 Pro using Tapatalk
bigDvette Posted May 23, 2022 Posted May 23, 2022 I've setup a program to notify me when it happens, it may go weeks or a month. 1
bigDvette Posted May 24, 2022 Posted May 24, 2022 So the last 2 nights, at or around 4am the ELK Node server does a query and does the same thing it would do when it starts up. Just like when it starts up, the variable is set to Off and then On. Setting to Off activate my test program that notifies me when it goes off. I also have a program to tell me when it is set to On. Even though when I go to look at variable it shows on, I only get the notification when it is set off. It looks like it is initializing the value. Below is when this starts (prior to that it is just doing it's polling thing) and then specifically the lines specific to the variable. START 2022-05-24 04:03:18,905 Command udi_interface INFO Controller:query: ELK Controller: 2022-05-24 04:03:18,906 Command udi_interface DEBUG Controller:check_params: ELK Controller: host=XXXXXXXXXXXXXXX 2022-05-24 04:03:18,907 Command udi_interface DEBUG Controller:check_params: exit: config_st=True 2022-05-24 04:03:18,907 Command udi_interface.node INFO node:reportDrivers: Updating All Drivers to ISY for ELK Controller(controller) 2022-05-24 04:03:18,908 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'set': [{'address': 'controller', 'driver': 'GV1', 'value': 1, 'uom': 25}, {'address': 'controller', 'driver': 'ST', 'value': '1', 'uom': 25}]} 2022-05-24 04:03:19,105 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message query 2022-05-24 04:03:19,107 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING query 2022-05-24 04:03:19,107 Command udi_interface INFO BaseNode:query: area_1:1 - Main House: 2022-05-24 04:03:19,107 Command udi_interface BUNCH OF STUFF QUERYING EVERY AREA AND ZONE UNTIL IT GETS TO OUTPUTS OUTPUT VARIABLE 2022-05-24 04:03:22,454 Command udi_interface DEBUG Output:set_drivers: House On: force=False reportCmd=True 2022-05-24 04:03:22,455 Command udi_interface INFO Output:set_onoff: House On: val=None force=False reportCmd=True 2022-05-24 04:03:22,456 Command udi_interface DEBUG BaseNode:set_driver: House On: ST,100 default=0 force=False,report=True 2022-05-24 04:03:22,456 Command udi_interface DEBUG Output:set_onoff: House On: Send DON 2022-05-24 04:03:22,457 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'command': [{'address': 'output_63', 'cmd': 'DON'}]} 2022-05-24 04:03:22,459 Command udi_interface.node INFO node:reportDrivers: Updating All Drivers to ISY for House On(output_63) 2022-05-24 04:03:22,459 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'set': [{'address': 'output_63', 'driver': 'ST', 'value': 100, 'uom': 78}, {'address': 'output_63', 'driver': 'TIME', 'value': '0', 'uom': 58}]} 2022-05-24 04:03:22,721 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message query 2022-05-24 04:03:22,722 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING query 1
Jimbo.Automates Posted May 24, 2022 Posted May 24, 2022 So the last 2 nights, at or around 4am the ELK Node server does a query and does the same thing it would do when it starts up. Just like when it starts up, the variable is set to Off and then On. Setting to Off activate my test program that notifies me when it goes off. I also have a program to tell me when it is set to On. Even though when I go to look at variable it shows on, I only get the notification when it is set off. It looks like it is initializing the value. Below is when this starts (prior to that it is just doing it's polling thing) and then specifically the lines specific to the variable. START 2022-05-24 04:03:18,905 Command udi_interface INFO Controller:query: ELK Controller: 2022-05-24 04:03:18,906 Command udi_interface DEBUG Controller:check_params: ELK Controller: host=XXXXXXXXXXXXXXX 2022-05-24 04:03:18,907 Command udi_interface DEBUG Controller:check_params: exit: config_st=True 2022-05-24 04:03:18,907 Command udi_interface.node INFO node:reportDrivers: Updating All Drivers to ISY for ELK Controller(controller) 2022-05-24 04:03:18,908 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'set': [{'address': 'controller', 'driver': 'GV1', 'value': 1, 'uom': 25}, {'address': 'controller', 'driver': 'ST', 'value': '1', 'uom': 25}]} 2022-05-24 04:03:19,105 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message query 2022-05-24 04:03:19,107 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING query 2022-05-24 04:03:19,107 Command udi_interface INFO BaseNode:query: area_1:1 - Main House: 2022-05-24 04:03:19,107 Command udi_interface BUNCH OF STUFF QUERYING EVERY AREA AND ZONE UNTIL IT GETS TO OUTPUTS OUTPUT VARIABLE 2022-05-24 04:03:22,454 Command udi_interface DEBUG Output:set_drivers: House On: force=False reportCmd=True 2022-05-24 04:03:22,455 Command udi_interface INFO Output:set_onoff: House On: val=None force=False reportCmd=True 2022-05-24 04:03:22,456 Command udi_interface DEBUG BaseNode:set_driver: House On: ST,100 default=0 force=False,report=True 2022-05-24 04:03:22,456 Command udi_interface DEBUG Output:set_onoff: House On: Send DON 2022-05-24 04:03:22,457 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'command': [{'address': 'output_63', 'cmd': 'DON'}]} 2022-05-24 04:03:22,459 Command udi_interface.node INFO node:reportDrivers: Updating All Drivers to ISY for House On(output_63) 2022-05-24 04:03:22,459 Command udi_interface.interface DEBUG interface:send: PUBLISHING {'set': [{'address': 'output_63', 'driver': 'ST', 'value': 100, 'uom': 78}, {'address': 'output_63', 'driver': 'TIME', 'value': '0', 'uom': 58}]} 2022-05-24 04:03:22,721 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message query 2022-05-24 04:03:22,722 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING queryThanks, that was my suspicion, just when you said random I wasn't sure. It should set status during nightly query, but not send DON/DOF I will fix that when I return home.Sent from my Pixel 6 Pro using Tapatalk
Jimbo.Automates Posted June 5, 2022 Posted June 5, 2022 On 5/24/2022 at 1:39 PM, bigDvette said: thanks! Fixed in 3.3.3 1
Recommended Posts