Actually, I noticed now that the only time - in tests like these - where Main does not manage to turn all switches on, is when there’s that spiral circling the Main button. When that is happening, the Main switch button in the app does not “feel” the button presses and so, nothing happens.
@martin.borg I’ve rearranged the first set of logs you posted in the code block below to be separated for each of the for button presses, so that we can see timing. The lines in each set correspond to:
- Line 1: Button press event received by driver, driver starts processing
- Line 2: Driver has finished processing by putting a z-wave command into the queue to be sent
- Line 3: Acknowledgement that the Z-wave command has been sent to (and received by) the device
- Line 4: Device responds with its new state
- Line 5: Driver generates an event that updates the button state in the app
The big delay in each set is while the command is queued with the z-wave radio. @nayelyz I’ve seen similar (and much longer at times - 30+ seconds) delays for some of my devices where they’re held up in the queue. I’ve used a zniffer to watch traffic and they really are waiting in the queue without being transmitted during that delay. Is this something the engineers could look at?
2022-08-22T20:00:24.074018949+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch1","positional_args":{}}
2022-08-22T20:00:24.110584615+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(631d99d4) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-22T20:00:31.332200285+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(631d99d4) transmit status: TRANSMIT_COMPLETE_OK
2022-08-22T20:00:31.364034285+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={1}, encap="NONE", payload="\xFF", src_channel=1, version=1}
2022-08-22T20:00:31.379513952+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch1","state":{"value":"on"}}
2022-08-22T20:00:25.045066949+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch2","positional_args":{}}
2022-08-22T20:00:25.171388949+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(121ca9a0) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-22T20:00:31.622953285+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(121ca9a0) transmit status: TRANSMIT_COMPLETE_OK
2022-08-22T20:00:31.650661619+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={2}, encap="NONE", payload="\xFF", src_channel=2, version=1}
2022-08-22T20:00:31.694080285+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch2","state":{"value":"on"}}
2022-08-22T20:00:25.892931949+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch3","positional_args":{}}
2022-08-22T20:00:25.920556616+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(045da853) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-22T20:00:31.923120286+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(045da853) transmit status: TRANSMIT_COMPLETE_OK
2022-08-22T20:00:31.977752619+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={3}, encap="NONE", payload="\xFF", src_channel=3, version=1}
2022-08-22T20:00:32.004267619+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch3","state":{"value":"on"}}
2022-08-22T20:00:26.917037950+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch4","positional_args":{}}
2022-08-22T20:00:26.945409950+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(dcc77799) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-22T20:00:32.192363952+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(dcc77799) transmit status: TRANSMIT_COMPLETE_OK
2022-08-22T20:00:32.235978619+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={4}, encap="NONE", payload="\xFF", src_channel=4, version=1}
2022-08-22T20:00:32.259545952+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: 0990b7a6-a1fa-4673-acc8-943309fbff50 [3E] (WYFY Switch 1: New S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch4","state":{"value":"on"}}
These errors are a good find. They’re a bug in my code that’s messing up the status of the main switch.
@martin.borg New version 2022-08-22T22:16:02.690356746:
- Fixes the error that was showing up in logs for the main switch state. Hopefully the main switch behaves better now.
- When the driver starts up, it’ll set parameter 8 to 1 on the new switch, hopefully keeping it from showing as disconnected.
Hi @philh30 -many thanks. Cannot write at length right now, but a definite improvement for the new switch with this driver. (Just so you know the driver did not install on its own even after I let the 12 hours go by, so I installed it from the CLI).
Basic findings:
-
The most important thing: the Main switch now works perfectly in scenarios I detailed above for the new MH-S314. Very happy with the outcome - thanks.
-
It does not work for the other older switches, in the case of which it seems to effect only Switch1. I will post more detailed logs for tthe old MH-S314 later on.
-
Just so you know - the new MH-S314 still appeared offline after installing the driver - but I am hoping it needed to be woken up and that it will stay online now. We will know if it maintains an online state for say 24 hours. (I did rebuild the Zwave radio overnight but seems like that had no bearing on this).
Anyhow, thanks a million for the improvement - will post more logs later.
P.S.: wanted to add - would appreciate if you could add that Zwave node ID - only if it’s not too much work. I agree with @JDRoberts this should be by default for all devices.
I’ll add z-wave node tonight. Not much effort, but it’ll involve a profile change so we’ll need to do it as a driver swap or it’ll crash your hub when the driver update pushes in.
Logs for the old will be helpful. Breaking down the main switch behavior into the three requirements below, am I right that it’s #2 that’s failing on the old? If so, it could be that the old isn’t able to understand the command I’m using, but we can try a couple other options.
- The main switch properly reflects status when toggling the other switches.
- Toggling the main switch causes all of the other buttons to physically turn off/on.
- After toggling the main switch, all switches correctly show their state in the app.
Regrettably, the new MH-S314 is appearing disconnected/offline once again, as per pic:
I guess perhaps that was why a refresh was included by @hongtat in the old Groovy custom DTH, which showed up settings as per hereunder:
By default, it was set to 1 minute, but having over 40 of these switches - that flooded my network pretty quickly and slowed down everything, so I set them all to 1 hour. And I know that this DTH was written for later switches than the old MH-S314s and MH-S312s that I have.
So I guess we will have to do that polling. very often the switches become inoperable from the app once they show like this and need to be woken up in a different manner - and that is either through a routine that toggles one of the switches or by physically going to the switch and pressing a button.
And here’s some further testing that I could carry out thus far. This testing was carried out on the old MH-S314 switch having the latest Edge driver. As I pointed out earlier, the Main switch on older MH-314s and the MH-312s is not working as expected.
The test starts off with all 4 buttons off - I thought this was best to show what is happening. I press the Main switch (which is also off) and this shows on the log.
? Select a driver. 6
connecting... connected
2022-08-23T13:11:24.943939792+00:00 TRACE MCOHome Z-Wave Switch Received event with handler capability
2022-08-23T13:11:24.963182459+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received command: {"args":{},"capability":"switch","command":"on","component":"main","positional_args":{}}
2022-08-23T13:11:24.969734792+00:00 TRACE MCOHome Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:11:24.983211792+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={bit_address=true, command=1, command_class=37, destination_end_point=15, parameter="\xFF", res=false, source_end_point=0}, cmd_class="MULTI_CHANNEL", cmd_id="CMD_ENCAP", dst_channels={}, encap="AUTO", payload="\x00\x8F\x25\x01\xFF", src_channel=0, version=2}
2022-08-23T13:11:25.005162459+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(5a05e2f2) queued for radio transmission: CC:Multi-Channel, CID:0x0D
2022-08-23T13:11:25.010321126+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:11:25.342113793+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(5a05e2f2) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:11:25.389784126+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:11:25.414584459+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={}, encap="NONE", payload="\xFF", src_channel=0, version=1}
2022-08-23T13:11:25.428469793+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:11:25.434900793+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"on"}}
2022-08-23T13:11:25.469751459+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:11:25.488844126+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:11:25.496380459+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:11:25.505526459+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={1}, encap="NONE", payload="\xFF", src_channel=1, version=1}
2022-08-23T13:11:25.523026126+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:11:25.529212793+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch1","state":{"value":"on"}}
2022-08-23T13:11:25.548098459+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:11:25.566728126+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
Instead of all four buttons going ON simultaneously as expected, only the first one goes ON. Main seems to go ON for a second, then reverts to OFF.
Then I proceeded to turn on buttons 2, 3 & 4, and got the following on the log:
2022-08-23T13:15:02.303936960+00:00 TRACE MCOHome Z-Wave Switch Received event with handler capability
2022-08-23T13:15:02.322757293+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch2","positional_args":{}}
2022-08-23T13:15:02.333192293+00:00 TRACE MCOHome Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:02.342197960+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={duration=0, target_value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="SET", dst_channels={2}, encap="AUTO", payload="\xFF\x00", src_channel=0, version=2}
2022-08-23T13:15:02.366289627+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(4555767f) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-23T13:15:02.377702960+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:02.385071960+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:02.502146627+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(4555767f) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:02.558549293+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:02.568357293+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={2}, encap="NONE", payload="\xFF", src_channel=2, version=1}
2022-08-23T13:15:02.577100293+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:02.583153293+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch2","state":{"value":"on"}}
2022-08-23T13:15:02.600732293+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:15:02.621100627+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:03.396749960+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={}, cmd_class="SWITCH_BINARY", cmd_id="GET", dst_channels={2}, encap="AUTO", payload="", src_channel=0, version=1}
2022-08-23T13:15:03.413038627+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(e4af8e33) queued for radio transmission: CC:Switch Binary, CID:0x02
2022-08-23T13:15:03.418191294+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:03.702198627+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(e4af8e33) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:03.748627627+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:03.758178627+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="REPORT", dst_channels={0}, encap="NONE", payload="\xFF", src_channel=2, version=1}
2022-08-23T13:15:03.775388961+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:03.781373627+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch2","state":{"value":"on"}}
2022-08-23T13:15:03.798963961+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:15:03.818908627+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:05.403880961+00:00 TRACE MCOHome Z-Wave Switch Received event with handler capability
2022-08-23T13:15:05.419700628+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch3","positional_args":{}}
2022-08-23T13:15:05.426337961+00:00 TRACE MCOHome Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:05.435021961+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={duration=0, target_value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="SET", dst_channels={3}, encap="AUTO", payload="\xFF\x00", src_channel=0, version=2}
2022-08-23T13:15:05.450010961+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(c4527dd2) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-23T13:15:05.462527628+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:05.470676961+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:05.602394295+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(c4527dd2) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:05.648993962+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:05.659000295+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={3}, encap="NONE", payload="\xFF", src_channel=3, version=1}
2022-08-23T13:15:05.666656962+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:05.672625962+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch3","state":{"value":"on"}}
2022-08-23T13:15:05.690144962+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:15:05.711098628+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:06.661248295+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={}, cmd_class="SWITCH_BINARY", cmd_id="GET", dst_channels={3}, encap="AUTO", payload="", src_channel=0, version=1}
2022-08-23T13:15:06.766905295+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(34cd628e) queued for radio transmission: CC:Switch Binary, CID:0x02
2022-08-23T13:15:06.796224962+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:06.974343629+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(34cd628e) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:07.073827296+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:07.084431629+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="REPORT", dst_channels={0}, encap="NONE", payload="\xFF", src_channel=3, version=1}
2022-08-23T13:15:07.125397296+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:07.146838296+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch3","state":{"value":"on"}}
2022-08-23T13:15:07.196157962+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:15:07.241173629+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:09.705362630+00:00 TRACE MCOHome Z-Wave Switch Received event with handler capability
2022-08-23T13:15:09.725026630+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received command: {"args":{},"capability":"switch","command":"on","component":"switch4","positional_args":{}}
2022-08-23T13:15:09.733182297+00:00 TRACE MCOHome Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:09.742186630+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={duration=0, target_value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="SET", dst_channels={4}, encap="AUTO", payload="\xFF\x00", src_channel=0, version=2}
2022-08-23T13:15:09.766527297+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(0480d136) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-23T13:15:09.785326297+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:09.793880297+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:09.903004964+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(0480d136) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:09.959025297+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:09.968618964+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=255}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={4}, encap="NONE", payload="\xFF", src_channel=4, version=1}
2022-08-23T13:15:09.986292297+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:09.992592297+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch4","state":{"value":"on"}}
2022-08-23T13:15:10.010106630+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"on"}}
2022-08-23T13:15:10.032298630+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:10.790145297+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={}, cmd_class="SWITCH_BINARY", cmd_id="GET", dst_channels={4}, encap="AUTO", payload="", src_channel=0, version=1}
2022-08-23T13:15:10.806094964+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(3418bb51) queued for radio transmission: CC:Switch Binary, CID:0x02
2022-08-23T13:15:10.811301631+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:15:11.062140964+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(3418bb51) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:15:11.174830297+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:15:11.190372631+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value="ON_ENABLE"}, cmd_class="SWITCH_BINARY", cmd_id="REPORT", dst_channels={0}, encap="NONE", payload="\xFF", src_channel=4, version=1}
2022-08-23T13:15:11.262519298+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:15:11.324286964+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch4","state":{"value":"on"}}
2022-08-23T13:15:11.381431298+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"on"}}
2022-08-23T13:15:11.521534964+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
When all four buttons went ON, Main correctly went ON, as expected. Therefore, what is not working is switching ON all four buttons when Main goes ON, and switching OFF everything when Main goes OFF.
I now turned off buttton 4:
2022-08-23T13:17:20.473935359+00:00 TRACE MCOHome Z-Wave Switch Received event with handler capability
2022-08-23T13:17:20.491599359+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received command: {"args":{},"capability":"switch","command":"off","component":"switch4","positional_args":{}}
2022-08-23T13:17:20.503184026+00:00 TRACE MCOHome Z-Wave Switch Found CapabilityCommandDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:17:20.512256026+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={duration=0, target_value="OFF_DISABLE"}, cmd_class="SWITCH_BINARY", cmd_id="SET", dst_channels={4}, encap="AUTO", payload="\x00\x00", src_channel=0, version=2}
2022-08-23T13:17:20.535665693+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(b9141005) queued for radio transmission: CC:Switch Binary, CID:0x01
2022-08-23T13:17:20.547813359+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:17:20.555090026+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:17:20.702189026+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(b9141005) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:17:20.759525693+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:17:20.769479026+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value=0}, cmd_class="BASIC", cmd_id="REPORT", dst_channels={4}, encap="NONE", payload="\x00", src_channel=4, version=1}
2022-08-23T13:17:20.781663026+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:17:20.787647693+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch4","state":{"value":"off"}}
2022-08-23T13:17:20.805837026+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:17:20.826362026+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:17:21.560487693+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> sending Z-Wave command: {args={}, cmd_class="SWITCH_BINARY", cmd_id="GET", dst_channels={4}, encap="AUTO", payload="", src_channel=0, version=1}
2022-08-23T13:17:21.732415360+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(133fb091) queued for radio transmission: CC:Switch Binary, CID:0x02
2022-08-23T13:17:21.763522693+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
2022-08-23T13:17:21.913525693+00:00 TRACE MCOHome Z-Wave Switch Z-Wave command(133fb091) transmit status: TRANSMIT_COMPLETE_OK
2022-08-23T13:17:21.963688360+00:00 TRACE MCOHome Z-Wave Switch Received event with handler unnamed
2022-08-23T13:17:21.973445360+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> received Z-Wave command: {args={value="OFF_DISABLE"}, cmd_class="SWITCH_BINARY", cmd_id="REPORT", dst_channels={0}, encap="NONE", payload="\x00", src_channel=4, version=1}
2022-08-23T13:17:21.995122027+00:00 TRACE MCOHome Z-Wave Switch Found ZwaveDispatcher handler in zwave_switch -> MCOHome Switch
2022-08-23T13:17:22.001093693+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"switch4","state":{"value":"off"}}
2022-08-23T13:17:22.044591027+00:00 INFO MCOHome Z-Wave Switch <ZwaveDevice: c5da609d-2a53-4e90-a4c0-d640d1f5ac19 [46] (WYFY Switch 1: Old S314)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2022-08-23T13:17:22.071006027+00:00 DEBUG MCOHome Z-Wave Switch WYFY Switch 1: Old S314 device thread event handled
When I turned OFF button 4, Main went OFF (the switch is after all set to “ON when all switches are on”), producing the above log. This is also as expected.
The above is all done from the app, as I could not do testing of Main switch physically. If more tests/logs are required, please let me know,m and as always, thanks a lot for your time!
Very helpful. It definitely looks like we’re down to just figuring out an all on/off z-wave command that the old switches will understand. Even the flicker of status on main that you saw is related to it not handling that command properly. I have a few ideas, and will rig the next version so you can test each of them. The final option would be to have main send a separate command for each switch, which should still be pretty fast but may give a slight popcorn effect.
I wasn’t aware of this - and now I realised that the various buttons are not addressable directly from Alexa now. Guess I have to set up several virtual devices for each button we might need to activate directly from Alexa. It’s not much, perhaps 10 or so, but still a pain. Especially since I then have to create routines to keep the virtual devices in line with their respective physical button counterparts.
That will eat away at my remaining routine slots as I am rapidly approaching the 200 limit as I convert WebCoRE pistons to routines. Uuuughhhh!
Also note that you are limited to a total of 200 devices in the ST app and 99 routines in the Alexa app, so the virtual switch per button approach can use up a lot of your quota.
I really hope they fix this issue before September 30th.
Indeed @JDRoberts - I edited my post before you replied to include that ridiculous 200 limit. The more complicated WebCoRE pistons i have end up eating up between 10 and 20 routines. It is, indeed, so ridiculous.
I will have to consider a stop-gap solution, alas, like say SharpTools, and use it for the less time-sensitive routines, such as the operation of heating, pumps, irrigation, etc… and use Smartthings routines specifically - and mostly - for lighting, where people expect instant reaction once they “flick” a switch. hopefully, that blessed Routine Creator they have been talking about comes along pretty soon, as the Rules API is just way too hardcore for me to have to learn and beyond most users for sure.
Might want to wait to see what the new Smart Lighting app looks like. It’s being migrated to the new environment and will support the mirror function.
That opens another wound for me, alas. I am in Europe, and we get a lesser offering over here. Unless they decide to make the new Smart lighting app available in our territory.
SharpTools is now working with multi-component devices so there’s hope for the other third party integrations.
The solution that I like right now is a virtual switch created through the CLI commands (works in the cloud, which is fine for Alexa, and no driver to put a load on the hub) combined with a rule to keep it in sync with the real device. It’s a bit technical, but I think it’s the least resource-intensive way to pull it off.
Depends which resources you’re looking at, I guess.
I just have a tablet, not a pc. So I don’t run the CLI. Or use the Rules API.
If they eventually give us a web interface to both, that would help a lot, of course.
Looks good. I will certainly have to try that one out, though that is a level of development I don’t usually get into. My old hub (or controller as they called it) was Zipato. The interface to build rules using block programming methods was quite advanced - frankly, I could do almost anything I did in WebCoRE and it was graphical and very flexible. Whether it worked and how reliable the overall environment was is another story (I wouldn’t have migrated to Smartthings), but the tool was great.
In the meantime, I will consider anything that avoids me adding more (mobile app) routines as a stop-gap, hoping the Routine Creator will be something similar to the tool I mentioned.
Hi @philh30
So - just a recap of what is left for this driver:
-
The ability to use the Main switch to switch ON/OFF all switches on the older versions of MH-S312 and MH-S314.
-
Polling every so often (hourly?/configurable? - up to you) on the newer version MH-S314 (I confirm this keeps happening despite the parameter change every number of hours)
-
Showing the ZWave ID of the device to be used for associations (would be good but not essential as I can get it from the CLI logs).
My family has asked whether on the 2-button switches you can get the buttons to be side-by-side (so that the dashboard tile takes less space). I replied that this is unlikely as you mentioned that there are only 2 standard sizes allowed by the Smartthings app. But I am putting it here, just in case. Frankly, I am not too bothered by the size - the other side of the coin is that the UI provides better clarity and the logical grouping of buttons is now akin to the physical, which is a great advantage. And on top of that, I get my device count reduced by 80 and back to well below 200, which means I can once start thinking of missing virtual devices and stop constantly trying to find loopholes to work around this silly limit.
Anyhow, looking forward to your next update on this driver so I can do some tests, but already very happy with the results.
Now, I have to add, I wonder what will happen on 30 September to the may child devices that I have and any Routines attached to them
. Scary stuff. Perhaps I might be better off doing the migration manually before 30 September rather than finding out the truth after a mess has (potentially) happened.
New test version MCOHome Z-Wave Switch Test 3
is in the channel. I haven’t had time to test, so hopefully you don’t run into any bugs from stupid little typos. It doesn’t address polling of the new switch yet, but hits the other two things on your list. For main switch, there are four options in the settings menu for testing. Cycle through all 4 (#1 is the same as what you’ve been testing) and see which ones work with each model. Z-wave ID should show at the bottom of the detail view. Make sure you swap all three devices to this driver.
Hopefully this is something that ST adds in the future, but it’s not possible right now.
Best case is that the child devices are migrated to virtual devices and the routines at least stick around. I wouldn’t count on that though unless we get a clear explanation from ST staff regarding how those will be handled. If I were in that situation I would at least take screenshots of all the routines so you know what you had.
Great, thanks a lot, will test it soon as I can.
No worries about this. As I said, small thing, the benefits outweigh this small “cost”.
Yeah - I don’t see that best case happening, so I will make sure to keep the screenshots as a backup. I can already imagine spending that weekend setting up so many lost Routines.
Another thing that crossed my mind - is there any way to change the names Switch1/2/3/4? The current names are very generic, of course - as one would expect, but would make more sense if I could rename them to, say, “Kitchen Main Light”, or “Pantry Light”, or whatever. We realised that whereas we could rename the individual tiles for each switch, now that they are on one switch, we can no longer name the buttons themselves - only the switch. let me know what you think, please…