Esempio n. 1
0
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 == {}
Esempio n. 2
0
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}
Esempio n. 3
0
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}