Hi guys!
I´m new at this forum, got here trying to make this GR MultiChannel Switch work with Home Assistant (that uses OZW).
The switch is made by a chinese firm U-Fairy G.R. IOT Tech and identified by them as GR-B3-3, According to its catalog there are other models with single and dual switches identified as GR-B3-1 and GR-B3-2.
The documentation I have is only a picture of theUser´s manual and a doc found somewhere with some more technical information.
The module has 3 switches and OZW identifies as Unknown. The manufacturer Id is “0152”, already correctly defined in OZW database as “G.R” but with Type “0500” and Id “0005” not showing in the database.
At first, the problem is that even when HA correctly detected and included that device, the 3 switches it exposes only report its physical status, but ignore any attempt to change them through ZWave.
Managing to add the new device to manufacturer_specific.xml produced a 4th switch to be added to Home Assistant that works as expected but only over the first switch. There´s no way of switching On/Off any of the remaining two.
<Product type="0500" id="0005" name="GR-B3 Multichannel Switch" config="gr/grb3.xml"/>
Grb3.xml contains nothing but a copy of another multichannel switch I found in the OZW installation on my RasPi, with the hope of solving the problem with this sole presence. But it didn´t work (not surprised, really)
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
<!-- Multi-Instance configuration -->
<CommandClass id="96" endpoints="3" />
</Product>
Trying to switch any of them produces:
2018-07-16 10:46:06.856 Info, Node033, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 2 - False
2018-07-16 10:46:06.863 Info, Node033, SwitchBinary::Set - Setting node 33 to Off
2018-07-16 10:46:06.863 Detail, Node033, Queuing (Send) MultiInstance Encapsulated (instance=2): SwitchBinaryCmd_Set (Node=33): 0x01, 0x0d, 0x00, 0x13, 0x21, 0x06, 0x60, 0x06, 0x02, 0x25, 0x01, 0x00, 0x25, 0xc7, 0x64
2018-07-16 10:46:06.863 Detail, Node033, Queuing (Send) MultiInstance Encapsulated (instance=2): SwitchBinaryCmd_Get (Node=33): 0x01, 0x0c, 0x00, 0x13, 0x21, 0x05, 0x60, 0x06, 0x02, 0x25, 0x02, 0x25, 0xc8, 0x6a
2018-07-16 10:46:06.864 Detail,
2018-07-16 10:46:06.864 Info, Node033, Sending (Send) message (Callback ID=0xc7, Expected Reply=0x13) - MultiInstance Encapsulated (instance=2): SwitchBinaryCmd_Set (Node=33): 0x01, 0x0d, 0x00, 0x13, 0x21, 0x06, 0x60, 0x06, 0x02, 0x25, 0x01, 0x00, 0x25, 0xc7, 0x64
2018-07-16 10:46:06.871 Detail, Node033, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-07-16 10:46:06.872 Detail, Node033, ZW_SEND_DATA delivered to Z-Wave stack
2018-07-16 10:46:06.945 Detail, Node033, Received: 0x01, 0x05, 0x00, 0x13, 0xc7, 0x00, 0x2e
2018-07-16 10:46:06.946 Detail, Node033, ZW_SEND_DATA Request with callback ID 0xc7 received (expected 0xc7)
2018-07-16 10:46:06.946 Info, Node033, Request RTT 81 Average Request RTT 80
2018-07-16 10:46:06.946 Detail, Expected callbackId was received
2018-07-16 10:46:06.946 Detail, Expected reply was received
2018-07-16 10:46:06.946 Detail, Message transaction complete
2018-07-16 10:46:06.946 Detail,
2018-07-16 10:46:06.946 Detail, Node033, Removing current message
2018-07-16 10:46:06.946 Detail,
2018-07-16 10:46:06.947 Info, Node033, Sending (Send) message (Callback ID=0xc8, Expected Reply=0x04) - MultiInstance Encapsulated (instance=2): SwitchBinaryCmd_Get (Node=33): 0x01, 0x0c, 0x00, 0x13, 0x21, 0x05, 0x60, 0x06, 0x02, 0x25, 0x02, 0x25, 0xc8, 0x6a
2018-07-16 10:46:06.954 Detail, Node033, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-07-16 10:46:06.959 Detail, Node033, ZW_SEND_DATA delivered to Z-Wave stack
2018-07-16 10:46:07.028 Detail, Node033, Received: 0x01, 0x05, 0x00, 0x13, 0xc8, 0x00, 0x21
2018-07-16 10:46:07.030 Detail, Node033, ZW_SEND_DATA Request with callback ID 0xc8 received (expected 0xc8)
2018-07-16 10:46:07.030 Info, Node033, Request RTT 83 Average Request RTT 81
2018-07-16 10:46:07.030 Detail, Expected callbackId was received
2018-07-16 10:46:16.946 Error, Node033, ERROR: Dropping command, expected response not received after 1 attempt(s)
2018-07-16 10:46:16.946 Detail, Node033, Removing current message
2018-07-16 10:46:16.947 Detail, Node033, Notification: Notification - TimeOut
And the switch in HA goes back to the previous state after a few seconds.
Toggling the 4th switch (reported by HA as Instance: 1) produces:
2018-07-16 10:48:36.254 Info, Node033, Value::Set - COMMAND_CLASS_SWITCH_BINARY - Switch - 0 - 1 - False
2018-07-16 10:48:36.254 Info, Node033, SwitchBinary::Set - Setting node 33 to Off
2018-07-16 10:48:36.255 Detail, Node033, Queuing (Send) SwitchBinaryCmd_Set (Node=33): 0x01, 0x0a, 0x00, 0x13, 0x21, 0x03, 0x25, 0x01, 0x00, 0x25, 0xcb, 0x0e
2018-07-16 10:48:36.255 Detail, Node033, Queuing (Send) SwitchBinaryCmd_Get (Node=33): 0x01, 0x09, 0x00, 0x13, 0x21, 0x02, 0x25, 0x02, 0x25, 0xcc, 0x08
2018-07-16 10:48:36.255 Detail,
2018-07-16 10:48:36.255 Info, Node033, Sending (Send) message (Callback ID=0xcb, Expected Reply=0x13) - SwitchBinaryCmd_Set (Node=33): 0x01, 0x0a, 0x00, 0x13, 0x21, 0x03, 0x25, 0x01, 0x00, 0x25, 0xcb, 0x0e
2018-07-16 10:48:36.262 Detail, Node033, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-07-16 10:48:36.262 Detail, Node033, ZW_SEND_DATA delivered to Z-Wave stack
2018-07-16 10:48:36.336 Detail, Node033, Received: 0x01, 0x05, 0x00, 0x13, 0xcb, 0x00, 0x22
2018-07-16 10:48:36.336 Detail, Node033, ZW_SEND_DATA Request with callback ID 0xcb received (expected 0xcb)
2018-07-16 10:48:36.336 Info, Node033, Request RTT 80 Average Request RTT 168
2018-07-16 10:48:36.336 Detail, Expected callbackId was received
2018-07-16 10:48:36.336 Detail, Expected reply was received
2018-07-16 10:48:36.337 Detail, Message transaction complete
2018-07-16 10:48:36.337 Detail,
2018-07-16 10:48:36.337 Detail, Node033, Removing current message
2018-07-16 10:48:36.337 Detail,
2018-07-16 10:48:36.337 Info, Node033, Sending (Send) message (Callback ID=0xcc, Expected Reply=0x04) - SwitchBinaryCmd_Get (Node=33): 0x01, 0x09, 0x00, 0x13, 0x21, 0x02, 0x25, 0x02, 0x25, 0xcc, 0x08
2018-07-16 10:48:36.345 Detail, Node033, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-07-16 10:48:36.345 Detail, Node033, ZW_SEND_DATA delivered to Z-Wave stack
2018-07-16 10:48:36.419 Detail, Node033, Received: 0x01, 0x05, 0x00, 0x13, 0xcc, 0x00, 0x25
2018-07-16 10:48:36.419 Detail, Node033, ZW_SEND_DATA Request with callback ID 0xcc received (expected 0xcc)
2018-07-16 10:48:36.419 Info, Node033, Request RTT 81 Average Request RTT 124
2018-07-16 10:48:36.419 Detail, Expected callbackId was received
2018-07-16 10:48:36.496 Detail, Node033, Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x21, 0x03, 0x25, 0x03, 0x00, 0xf6
2018-07-16 10:48:36.496 Detail,
2018-07-16 10:48:36.497 Info, Node033, Response RTT 158 Average Response RTT 159
2018-07-16 10:48:36.497 Info, Node033, Received SwitchBinary report from node 33: level=Off
2018-07-16 10:48:36.497 Detail, Node033, Refreshed Value: old value=true, new value=false, type=bool
2018-07-16 10:48:36.497 Detail, Node033, Changes to this value are not verified
2018-07-16 10:48:36.497 Detail, Node033, Expected reply and command class was received
2018-07-16 10:48:36.497 Detail, Node033, Message transaction complete
2018-07-16 10:48:36.497 Detail,
2018-07-16 10:48:36.497 Detail, Node033, Removing current message
2018-07-16 10:48:36.498 Detail, Node033, Notification: ValueChanged
And the first switch get´s changed (Off in this test)
I had this switch working on SmartThings but I´m in the works of abandoning it. To be able to make this switch works in ST, I had to use a modified version of a SmartApp that some else wrote. Without that SmartApp the switch at first behaved exactly as in OZW. The SmartApp (written in Groovy) is available to review if it helps but basically managed to send the following codes to the switch:
def on1() {
log.debug "Executing 'on1' with delay of ${settings.delayMillis}"
delayBetween([
zwave.multiChannelV3.multiChannelCmdEncap(sourceEndPoint:1, destinationEndPoint:1, commandClass:37, command:1, parameter:[255]).format(),
zwave.multiChannelV3.multiChannelCmdEncap(sourceEndPoint:1, destinationEndPoint:1, commandClass:37, command:2).format()
], settings.delayMillis)
}
def off1() {
log.debug "Executing 'off1' with delay of ${settings.delayMillis}"
delayBetween([
zwave.multiChannelV3.multiChannelCmdEncap(sourceEndPoint:1, destinationEndPoint:1, commandClass:37, command:1, parameter:[0]).format(),
zwave.multiChannelV3.multiChannelCmdEncap(sourceEndPoint:1, destinationEndPoint:1, commandClass:37, command:2).format()
], settings.delayMillis)
}
I have also a screen capture of Zensys tools showing the device characteristics detected by Zwave from this switch:
I hope someone in this forum be able to process all this information and produce a fix to make this switch working in OZW and, therefore in HA. I´m available to provide any help he/she could need to make this happen.
Thanks!!!