Ok so I want to clarify some things. I was wrong. I made some incorrect conclusions based on some testing I did and the results I saw, but I failed to dig further and confirm what was actually happening.
GE devices DO NOT do instant status updates. They appear to do instant status by using a workaround in the Z Wave protocol. As can be found in many other posts about Z Wave devices online, instant status is a patent (though the name is not patented, just the method) previously held by Lutron (US Patent #5,905,442). This patent is said to have expired, though I cannot confirm, but others have. GE decided not to license this patent from Lutron in their Z Wave and possibly others. The GE/Jasco 45XXX/12XXX series devices use a feature of the Z Wave protocol to get around this and make it look like it can do instant status updates. The new GE/Jasco 14XXX series devices still do not have instant status updates, but they support OTA firmware updates, so this may come in a future update.
What GE does to get around the instant status updates is send a hail command to the network. This is a broadcast message the controller responds to. From what I have read and understand, the controller is the only device that responds to these broadcast messages. So the device sending a hail must have the controller (node 1) as it’s primary or first neighbor. If the device has a routing slave between it and the controller, the routing slave will not re-broadcast or route broadcast messages. When the controller receives a hail command or broadcast message, it tells the controller to query the node that sent the message. The device responds to the query and tells the controller its new status.
What I was experiencing was some devices no longer had node 1 (the controller) as its primary neighbor. Those nodes were the ones not updating their status on physical interaction. I had to do multiple network heals and in OZWCP force an update of the return routes for specific nodes.
So to re-cap, GE/Jasco (and others that didn’t license the Lutron patent) can use hail commands on physical state change to provide pseudo instant status updates. However, if you have any devices that are far enough away from the main controller, you will want to setup polling for these devices.
To support my further research, here’s the two articles I read.
How to Fix GE Z-Wave Switches Not Updating in the Home Assistant UI
Also here is a snippet of my OZW log that shows physically interacting with a switch. This shows the hail command, the query from the controller, followed by the response from the device with its new status.
switch on:
2017-12-03 20:59:36.682 Detail, Node007, Received: 0x01, 0x11, 0x00, 0x49, 0x84, 0x07, 0x0b, 0x04, 0x10, 0x01, 0x25, 0x27, 0x75, 0x73, 0x70, 0x86, 0x72, 0x77, 0xcd
2017-12-03 20:59:36.682 Detail,
2017-12-03 20:59:36.682 Info, Node007, UPDATE_STATE_NODE_INFO_RECEIVED from node 7
2017-12-03 20:59:36.682 Detail, Node007, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Dynamic live=1
2017-12-03 20:59:36.682 Detail, Node007, QueryStage_Dynamic
2017-12-03 20:59:36.683 Detail, Node007, Queuing (Send) SwitchBinaryCmd_Get (Node=7): 0x01, 0x09, 0x00, 0x13, 0x07, 0x02, 0x25, 0x02, 0x25, 0x3b, 0xd9
2017-12-03 20:59:36.683 Detail, Node007, Queuing (Query) Query Stage Complete (Dynamic)
2017-12-03 20:59:36.683 Detail,
2017-12-03 20:59:36.683 Info, Node007, Sending (Send) message (Callback ID=0x3b, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=7): 0x01, 0x09, 0x00, 0x13, 0x07, 0x02, 0x25, 0x02, 0x25, 0x3b, 0xd9
2017-12-03 20:59:36.690 Detail, Node007, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-03 20:59:36.690 Detail, Node007, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-03 20:59:36.707 Detail, Node007, Received: 0x01, 0x07, 0x00, 0x13, 0x3b, 0x00, 0x00, 0x02, 0xd2
2017-12-03 20:59:36.707 Detail, Node007, ZW_SEND_DATA Request with callback ID 0x3b received (expected 0x3b)
2017-12-03 20:59:36.707 Info, Node007, Request RTT 24 Average Request RTT 25
2017-12-03 20:59:36.707 Detail, Expected callbackId was received
2017-12-03 20:59:36.717 Detail, Node007, Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x07, 0x03, 0x25, 0x03, 0xff, 0x2f
2017-12-03 20:59:36.717 Detail,
2017-12-03 20:59:36.717 Info, Node007, Response RTT 34 Average Response RTT 35
2017-12-03 20:59:36.717 Info, Node007, Received SwitchBinary report from node 7: level=On
2017-12-03 20:59:36.717 Detail, Node007, Refreshed Value: old value=false, new value=true, type=bool
2017-12-03 20:59:36.718 Detail, Node007, Changes to this value are not verified
2017-12-03 20:59:36.718 Detail, Node007, Expected reply and command class was received
2017-12-03 20:59:36.718 Detail, Node007, Message transaction complete
2017-12-03 20:59:36.718 Detail,
2017-12-03 20:59:36.718 Detail, Node007, Removing current message
2017-12-03 20:59:36.718 Detail, Node007, Notification: ValueChanged
2017-12-03 20:59:36.718 Info, Notification: Value Changed Home 0xdd0757f3 Node 7 Genre user Class SWITCH BINARY Instance 1 Index 0 Type bool
2017-12-03 20:59:36.718 Detail, Node007, Query Stage Complete (Dynamic)
2017-12-03 20:59:36.718 Detail, Node007, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Configuration live=1
2017-12-03 20:59:36.718 Detail, Node007, QueryStage_Configuration
2017-12-03 20:59:36.718 Detail, Node007, QueryStage_Complete
2017-12-03 20:59:36.718 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=1
2017-12-03 20:59:36.718 Warning, CheckCompletedNodeQueries all=0, deadFound=0 sleepingOnly=1
2017-12-03 20:59:36.718 Detail, Node007, Notification: NodeQueriesComplete
2017-12-03 20:59:36.718 Info, Notification: Node 7 Queries Complete
switch off:
2017-12-03 20:59:55.720 Detail, Node007, Received: 0x01, 0x11, 0x00, 0x49, 0x84, 0x07, 0x0b, 0x04, 0x10, 0x01, 0x25, 0x27, 0x75, 0x73, 0x70, 0x86, 0x72, 0x77, 0xcd
2017-12-03 20:59:55.720 Detail,
2017-12-03 20:59:55.720 Info, Node007, UPDATE_STATE_NODE_INFO_RECEIVED from node 7
2017-12-03 20:59:55.720 Detail, Node007, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Dynamic live=1
2017-12-03 20:59:55.720 Detail, Node007, QueryStage_Dynamic
2017-12-03 20:59:55.720 Detail, Node007, Queuing (Send) SwitchBinaryCmd_Get (Node=7): 0x01, 0x09, 0x00, 0x13, 0x07, 0x02, 0x25, 0x02, 0x25, 0x3c, 0xde
2017-12-03 20:59:55.720 Detail, Node007, Queuing (Query) Query Stage Complete (Dynamic)
2017-12-03 20:59:55.721 Detail,
2017-12-03 20:59:55.721 Info, Node007, Sending (Send) message (Callback ID=0x3c, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=7): 0x01, 0x09, 0x00, 0x13, 0x07, 0x02, 0x25, 0x02, 0x25, 0x3c, 0xde
2017-12-03 20:59:55.728 Detail, Node007, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-03 20:59:55.728 Detail, Node007, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-03 20:59:55.745 Detail, Node007, Received: 0x01, 0x07, 0x00, 0x13, 0x3c, 0x00, 0x00, 0x03, 0xd4
2017-12-03 20:59:55.745 Detail, Node007, ZW_SEND_DATA Request with callback ID 0x3c received (expected 0x3c)
2017-12-03 20:59:55.745 Info, Node007, Request RTT 24 Average Request RTT 24
2017-12-03 20:59:55.745 Detail, Expected callbackId was received
2017-12-03 20:59:55.756 Detail, Node007, Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x07, 0x03, 0x25, 0x03, 0x00, 0xd0
2017-12-03 20:59:55.756 Detail,
2017-12-03 20:59:55.756 Info, Node007, Response RTT 35 Average Response RTT 35
2017-12-03 20:59:55.756 Info, Node007, Received SwitchBinary report from node 7: level=Off
2017-12-03 20:59:55.756 Detail, Node007, Refreshed Value: old value=true, new value=false, type=bool
2017-12-03 20:59:55.756 Detail, Node007, Changes to this value are not verified
2017-12-03 20:59:55.756 Detail, Node007, Expected reply and command class was received
2017-12-03 20:59:55.756 Detail, Node007, Message transaction complete
2017-12-03 20:59:55.756 Detail,
2017-12-03 20:59:55.756 Detail, Node007, Removing current message
2017-12-03 20:59:55.756 Detail, Node007, Notification: ValueChanged
2017-12-03 20:59:55.756 Info, Notification: Value Changed Home 0xdd0757f3 Node 7 Genre user Class SWITCH BINARY Instance 1 Index 0 Type bool
2017-12-03 20:59:55.756 Detail, Node007, Query Stage Complete (Dynamic)
2017-12-03 20:59:55.756 Detail, Node007, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Configuration live=1
2017-12-03 20:59:55.756 Detail, Node007, QueryStage_Configuration
2017-12-03 20:59:55.756 Detail, Node007, QueryStage_Complete
2017-12-03 20:59:55.756 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=1
2017-12-03 20:59:55.757 Warning, CheckCompletedNodeQueries all=0, deadFound=0 sleepingOnly=1
2017-12-03 20:59:55.757 Detail, Node007, Notification: NodeQueriesComplete
2017-12-03 20:59:55.757 Info, Notification: Node 7 Queries Complete
I apologize if I led anyone astray in my posts. I apologize for the incomplete research and incorrect conclusions I made.
EDIT: For comparison, here is a snippet of the OZW log showing toggling the switch from a z wave command or HA frontend.
switch on:
2017-12-04 00:05:25.991 Info, Node006, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - True
2017-12-04 00:05:25.991 Info, Node006, SwitchBinary::Set - Setting node 6 to On
2017-12-04 00:05:25.992 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0xff, 0x25, 0x57, 0x4a
2017-12-04 00:05:25.992 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x58, 0xbb
2017-12-04 00:05:25.992 Detail,
2017-12-04 00:05:25.992 Info, Node006, Sending (Send) message (Callback ID=0x57, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0xff, 0x25, 0x57, 0x4a
2017-12-04 00:05:25.999 Detail, Node006, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-04 00:05:25.999 Detail, Node006, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-04 00:05:26.053 Detail, Node006, Received: 0x01, 0x07, 0x00, 0x13, 0x57, 0x00, 0x00, 0x06, 0xba
2017-12-04 00:05:26.053 Detail, Node006, ZW_SEND_DATA Request with callback ID 0x57 received (expected 0x57)
2017-12-04 00:05:26.054 Info, Node006, Request RTT 62 Average Request RTT 69
2017-12-04 00:05:26.054 Detail, Expected callbackId was received
2017-12-04 00:05:26.054 Detail, Expected reply was received
2017-12-04 00:05:26.054 Detail, Message transaction complete
2017-12-04 00:05:26.054 Detail,
2017-12-04 00:05:26.054 Detail, Node006, Removing current message
2017-12-04 00:05:26.054 Detail,
2017-12-04 00:05:26.054 Info, Node006, Sending (Send) message (Callback ID=0x58, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x58, 0xbb
2017-12-04 00:05:26.062 Detail, Node006, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-04 00:05:26.062 Detail, Node006, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-04 00:05:26.119 Detail, Node006, Received: 0x01, 0x07, 0x00, 0x13, 0x58, 0x00, 0x00, 0x06, 0xb5
2017-12-04 00:05:26.119 Detail, Node006, ZW_SEND_DATA Request with callback ID 0x58 received (expected 0x58)
2017-12-04 00:05:26.119 Info, Node006, Request RTT 64 Average Request RTT 66
2017-12-04 00:05:26.119 Detail, Expected callbackId was received
2017-12-04 00:05:26.175 Detail, Node006, Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x06, 0x03, 0x25, 0x03, 0xff, 0x2e
2017-12-04 00:05:26.175 Detail,
2017-12-04 00:05:26.175 Info, Node006, Response RTT 121 Average Response RTT 127
2017-12-04 00:05:26.175 Info, Node006, Received SwitchBinary report from node 6: level=On
2017-12-04 00:05:26.175 Detail, Node006, Refreshed Value: old value=false, new value=true, type=bool
2017-12-04 00:05:26.175 Detail, Node006, Changes to this value are not verified
2017-12-04 00:05:26.175 Detail, Node006, Expected reply and command class was received
2017-12-04 00:05:26.175 Detail, Node006, Message transaction complete
2017-12-04 00:05:26.176 Detail,
2017-12-04 00:05:26.176 Detail, Node006, Removing current message
2017-12-04 00:05:26.176 Detail, Node006, Notification: ValueChanged
2017-12-04 00:05:26.176 Info, Notification: Value Changed Home 0xdd0757f3 Node 6 Genre user Class SWITCH BINARY Instance 1 Index 0 Type bool
switch off:
2017-12-04 00:06:09.841 Info, Node006, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - False
2017-12-04 00:06:09.842 Info, Node006, SwitchBinary::Set - Setting node 6 to Off
2017-12-04 00:06:09.842 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0x00, 0x25, 0x59, 0xbb
2017-12-04 00:06:09.842 Detail, Node006, Queuing (Send) SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x5a, 0xb9
2017-12-04 00:06:09.842 Detail,
2017-12-04 00:06:09.842 Info, Node006, Sending (Send) message (Callback ID=0x59, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=6): 0x01, 0x0a, 0x00, 0x13, 0x06, 0x03, 0x25, 0x01, 0x00, 0x25, 0x59, 0xbb
2017-12-04 00:06:10.349 Warning, WARNING: 500ms passed without reading the rest of the frame...aborting frame read
2017-12-04 00:06:10.350 Warning, WARNING: Out of frame flow! (0x13). Sending NAK.
2017-12-04 00:06:10.350 Detail, Node006, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-04 00:06:10.350 Detail, Node006, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-04 00:06:10.351 Detail, Node006, Received: 0x01, 0x07, 0x00, 0x13, 0x59, 0x00, 0x00, 0x06, 0xb4
2017-12-04 00:06:10.351 Detail, Node006, ZW_SEND_DATA Request with callback ID 0x59 received (expected 0x59)
2017-12-04 00:06:10.351 Info, Node006, Request RTT 510 Average Request RTT 288
2017-12-04 00:06:10.351 Detail, Expected callbackId was received
2017-12-04 00:06:10.352 Detail, Expected reply was received
2017-12-04 00:06:10.352 Detail, Message transaction complete
2017-12-04 00:06:10.352 Detail,
2017-12-04 00:06:10.352 Detail, Node006, Removing current message
2017-12-04 00:06:10.352 Detail,
2017-12-04 00:06:10.352 Info, Node006, Sending (Send) message (Callback ID=0x5a, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=6): 0x01, 0x09, 0x00, 0x13, 0x06, 0x02, 0x25, 0x02, 0x25, 0x5a, 0xb9
2017-12-04 00:06:10.359 Detail, Node006, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2017-12-04 00:06:10.359 Detail, Node006, ZW_SEND_DATA delivered to Z-Wave stack
2017-12-04 00:06:10.415 Detail, Node006, Received: 0x01, 0x07, 0x00, 0x13, 0x5a, 0x00, 0x00, 0x06, 0xb7
2017-12-04 00:06:10.415 Detail, Node006, ZW_SEND_DATA Request with callback ID 0x5a received (expected 0x5a)
2017-12-04 00:06:10.415 Info, Node006, Request RTT 62 Average Request RTT 175
2017-12-04 00:06:10.415 Detail, Expected callbackId was received
2017-12-04 00:06:10.472 Detail, Node006, Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x06, 0x03, 0x25, 0x03, 0x00, 0xd1
2017-12-04 00:06:10.472 Detail,
2017-12-04 00:06:10.509 Info, Node006, Response RTT 157 Average Response RTT 142
2017-12-04 00:06:10.509 Info, Node006, Received SwitchBinary report from node 6: level=Off
2017-12-04 00:06:10.509 Detail, Node006, Refreshed Value: old value=true, new value=false, type=bool
2017-12-04 00:06:10.509 Detail, Node006, Changes to this value are not verified
2017-12-04 00:06:10.510 Detail, Node006, Expected reply and command class was received
2017-12-04 00:06:10.510 Detail, Node006, Message transaction complete
2017-12-04 00:06:10.510 Detail,
2017-12-04 00:06:10.510 Detail, Node006, Removing current message
2017-12-04 00:06:10.510 Detail, Node006, Notification: ValueChanged
2017-12-04 00:06:10.510 Info, Notification: Value Changed Home 0xdd0757f3 Node 6 Genre user Class SWITCH BINARY Instance 1 Index 0 Type bool