def test_tuya_button(): device = XDevice(ZIGBEE, "TS004F", ZDID, ZMAC, ZNWK) device.setup_converters() p0 = silabs.decode({ "clusterId": "0x0006", "sourceEndpoint": "0x03", "APSPlayload": "0x010AFD02", }) p = device.decode_zigbee(p0) assert p == {'button_3': 'hold', 'action': 'button_3_hold'} # test processing same sequence p = device.decode_zigbee(p0) assert p == {}
def test_aqara_cube(): device = XDevice(ZIGBEE, "lumi.sensor_cube", ZDID, ZMAC, ZNWK) assert device.info.name == "Aqara Cube" device.setup_converters() p = silabs.decode({ "clusterId": "0x0012", "sourceEndpoint": "0x02", "APSPlayload": "0x18140A5500215900" }) p = device.decode_zigbee(p) assert p == {'action': 'flip90', 'from_side': 3, 'to_side': 1}
def test_(): device = XDevice(ZIGBEE, "MS01", ZDID, ZMAC, ZNWK) assert device.info.name == "Sonoff Motion Sensor" device.setup_converters() p = silabs.decode({ "clusterId": "0x0001", "sourceEndpoint": "0x01", "APSPlayload": "0x18AC0A2000201E" }) p = device.decode_zigbee(p) assert p == {'battery_voltage': 3000} p = silabs.decode({ "clusterId": "0x0001", "sourceEndpoint": "0x01", "APSPlayload": "0x18AD0A210020C8" }) p = device.decode_zigbee(p) assert p == {'battery': 100} p = silabs.decode({ "clusterId": "0x0500", "sourceEndpoint": "0x01", "APSPlayload": "0x190300000000000000", }) p = device.decode_zigbee(p) assert p == {'occupancy': False} p = silabs.decode({ "clusterId": "0x0500", "sourceEndpoint": "0x01", "APSPlayload": "0x190400010000000000" }) p = device.decode_zigbee(p) assert p == {'occupancy': True}