Skip to content
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

Insteon: Add Support for "Fast On" & "Fast Off" Commands #418

Open
JaredF opened this issue Jun 16, 2014 · 1 comment
Open

Insteon: Add Support for "Fast On" & "Fast Off" Commands #418

JaredF opened this issue Jun 16, 2014 · 1 comment

Comments

@JaredF
Copy link
Collaborator

JaredF commented Jun 16, 2014

Double tapping buttons on most Insteon controllers sends a "Fast On" or "Fast Off" message to the linked responders which will then immediately turn completely on or off, ignoring any preprogrammed dim levels or ramp rates. Currently, MH recognizes these commands as "on_fast" and "off_fast" in log messages, but does not update the internal state of the linked devices.

Related discussion started by @gac410 at: http://misterhouse.10964.n7.nabble.com/fast-messages-from-SwitchLincRelay-td19566.html

The discussion mentions only the SwitchLinc Relay device, but I believe most controllers support this. I have confirmed that both KeyPadLincs and RemoteLincs also support this feature.

Sample log output of a "fast_on":

06/15/2014 21:55:16  [Insteon_PLM] DEBUG3: Received PLM raw data: 025011aad3000001cb1200                                                                                                                                [12/4317]
06/15/2014 21:55:16  [Insteon_PLM] DEBUG3: Processing PLM raw data: 025011aad3000001cb1200
06/15/2014 21:55:16  [Insteon_PLM] DEBUG4:
         PLM Command: (0250) insteon_received
            From Address: 11:aa:d3
              To Address: 00:00:01
           Message Flags: cb
                Message Type: (110) All-Link Broadcast Message
              Message Length: (0) Standard Length
                   Hops Left: 2
                    Max Hops: 3
         Insteon Message: 1200
                       Cmd 1: (12) ALL-Link Alias 2 High
                       Cmd 2: 00

06/15/2014 21:55:16  [Insteon::BaseInterface] DEBUG3: Message received with 2 hops left, delaying next transmit by 250 milliseconds to avoid collisions.
06/15/2014 21:55:16  [Insteon::BaseInterface] Received message from: $Living_Room_Remote_1; command: on_fast; type: alllink; group: 01
06/15/2014 21:55:16  [Insteon::BaseObject] DEBUG3: Adding hop count of 1 to hop_array of $Living_Room_Remote_1
06/15/2014 21:55:16  [Insteon::BaseObject] DEBUG4: $Living_Room_Remote_1->default_hop_count()=1 :: hop_array[]=1121111111
06/15/2014 21:55:16  [Insteon::BaseObject] $Living_Room_Remote_1::set_receive(on, $Living_Room_Remote_1)
06/15/2014 21:55:16  [Insteon::BaseObject] DEBUG3 Delaying any outgoing messages by 600 milliseconds to avoid collision with subsequent cleanup messages from $Living_Room_Remote_1
06/15/2014 21:55:17  [Insteon_PLM] DEBUG3: Received PLM raw data: 025011aad3000001cb1200
06/15/2014 21:55:17  [Insteon_PLM] DEBUG3: Processing PLM raw data: 025011aad3000001cb1200
06/15/2014 21:55:17  [Insteon_PLM] DEBUG4:
         PLM Command: (0250) insteon_received
            From Address: 11:aa:d3
              To Address: 00:00:01
           Message Flags: cb
                Message Type: (110) All-Link Broadcast Message
              Message Length: (0) Standard Length
                   Hops Left: 2
                    Max Hops: 3
         Insteon Message: 1200
                       Cmd 1: (12) ALL-Link Alias 2 High
                       Cmd 2: 00

06/15/2014 21:55:17  [Insteon::BaseObject] DEBUG3: Adding hop count of 1 to hop_array of $Living_Room_Remote_1
06/15/2014 21:55:17  [Insteon::BaseObject] DEBUG4: $Living_Room_Remote_1->default_hop_count()=1 :: hop_array[]=1112111111
06/15/2014 21:55:17  [Insteon::BaseInterface] WARN! Dropped duplicate incoming message 11aad3000001cb1200, from $Living_Room_Remote_1
06/15/2014 21:55:17  [Insteon_PLM] DEBUG3: Received PLM raw data: 025011aad313ac7e411201
06/15/2014 21:55:17  [Insteon_PLM] DEBUG3: Processing PLM raw data: 025011aad313ac7e411201
06/15/2014 21:55:17  [Insteon_PLM] DEBUG4:
         PLM Command: (0250) insteon_received
            From Address: 11:aa:d3
              To Address: 13:ac:7e
           Message Flags: 41
                Message Type: (010) All-Link Cleanup Direct Message
              Message Length: (0) Standard Length
                   Hops Left: 0
                    Max Hops: 1
         Insteon Message: 1201
                       Cmd 1: (12) ALL-Link Alias 2 High
                       Cmd 2: (01) Group

06/15/2014 21:55:17  [Insteon::BaseInterface] DEBUG3: Message received with 0 hops left, plus ACK will take 1 to deliver, delaying next transmit by 150 milliseconds to avoid collisions.
06/15/2014 21:55:17  [Insteon::BaseInterface] Received message from: $Living_Room_Remote_1; command: on_fast; type: cleanup; group: 01
06/15/2014 21:55:17  [Insteon::BaseObject] DEBUG3: Adding hop count of 1 to hop_array of $Living_Room_Remote_1
06/15/2014 21:55:17  [Insteon::BaseObject] DEBUG4: $Living_Room_Remote_1->default_hop_count()=1 :: hop_array[]=1111211111
06/15/2014 21:55:17  [Insteon::BaseObject] $Living_Room_Remote_1::set_receive(on, $Living_Room_Remote_1)
06/15/2014 21:55:17  [Insteon::BaseObject] Ignoring duplicate set on state command for $Living_Room_Remote_1 received in less than 1000 milliseconds
06/15/2014 21:55:17  [Insteon::BaseObject] Ignoring duplicate set on_fast state command for $Living_Room_Floor_Lamp received in less than 1000 milliseconds
@JaredF JaredF changed the title Insteon: Add Support for "Fast On" & "Fast Off" Commands Insteon: Add Support for "Fast On" & "Fast Off" Commands [Enhancement] Jun 16, 2014
@JaredF JaredF changed the title Insteon: Add Support for "Fast On" & "Fast Off" Commands [Enhancement] Insteon: Add Support for "Fast On" & "Fast Off" Commands Jun 17, 2014
@gac410
Copy link
Contributor

gac410 commented Dec 7, 2014

Back to my original thread, I'm still using this patch. Though I've not kept up with checkins, it works well for my requirements. I use the fast_ commands on the relay devices to pause timed events. Ex:
double-tap bath fan to stop it from turning off in 15 minutes. Double-tap garage lights to stop automatic operation from sensing open/close of the garage door.

Unfortunately I don't have the other devices mentioned above to confirm that my change works for them.

gac410@8148328

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants