From: George C. <ge...@fe...> - 2014-02-05 02:55:28
|
Hi all, I've been trying to process events from an IOLinc, and not getting anywhere. Changes at the device don't trigger a state_now change, but querying the status does. INSTEON_IOLINC, 22.78.7C, io_garage_door, Sensors #Garage door sensor 22.78.7C 2540 I/O Link DOOR, io_garage_door, Test_door In my garage_door.pl file I have a simple test: if ( my $state = state_now $Test_door ) { # $state will be open or close print_log "================ door : $state" ; } if ( my $state = state_now $io_garage_door ) { print_log "================ io_driveway_camera : $state" ; } I don't see my test messages logged, even though the IO/linc status changes. Regardless of whether I close the sensor contact or press the set button, I see the following 3 messages, either reporting off or on. But it doesn't change the device states. Received message from: $io_garage_door; command: off; type: alllink; group: 01 Received message from: $io_garage_door; command: off; type: cleanup; group: 01 Received message from: $io_garage_door; command: link_cleanup_report; type: alllink; group: 01 However if I use the web Insteon device interface to explicitly query the device status, it shows the correct status. And that also then triggers an event and both of my messages print. 04/02/2014 21:47:16 Running: io garage door status - relay 04/02/2014 21:47:16 [Insteon_PLM] DEBUG2: Sending obj=$io_garage_door; command=status_request incurred delay of 0.00 seconds; starting hop-count: 1 04/02/2014 21:47:16 [Insteon::BaseObject] received status for $io_garage_door with on-level: 0%, hops left: 0 04/02/2014 21:47:16 [Insteon::BaseObject] $io_garage_door::set_receive(off, $PLM) 04/02/2014 21:47:17 ================ Test_door : closed 04/02/2014 21:47:17 ================ io_garage_door : off I must be missing something. How do I cause a remote change of sensor on the iolinc to be processed the same way that sending the query is processed. George |