Source code for miio.integrations.lumi.gateway.zigbee

"""Xiaomi Gateway Zigbee control implementation."""

from .gatewaydevice import GatewayDevice


[docs] class Zigbee(GatewayDevice): """Zigbee controls."""
[docs] def get_zigbee_version(self): """timeouts on device.""" return self._gateway.send("get_zigbee_device_version")
[docs] def get_zigbee_channel(self): """Return currently used zigbee channel.""" return self._gateway.send("get_zigbee_channel")[0]
[docs] def set_zigbee_channel(self, channel): """Set zigbee channel.""" return self._gateway.send("set_zigbee_channel", [channel])
[docs] def zigbee_pair(self, timeout): """Start pairing, use 0 to disable.""" return self._gateway.send("start_zigbee_join", [timeout])
[docs] def send_to_zigbee(self): """How does this differ from writing? Unknown. """ raise NotImplementedError() return self._gateway.send("send_to_zigbee")
[docs] def read_zigbee_eep(self): """Read eeprom?""" raise NotImplementedError() return self._gateway.send("read_zig_eep", [0]) # 'ok'
[docs] def read_zigbee_attribute(self): """Read zigbee data?""" raise NotImplementedError() return self._gateway.send("read_zigbee_attribute", [0x0000, 0x0080])
[docs] def write_zigbee_attribute(self): """Unknown parameters.""" raise NotImplementedError() return self._gateway.send("write_zigbee_attribute")
[docs] def zigbee_unpair_all(self): """Unpair all devices.""" return self._gateway.send("remove_all_device")
[docs] def zigbee_unpair(self, sid): """Unpair a device.""" # get a device obj an call dev.unpair() raise NotImplementedError()