miio.integrations.huayi.light package
Submodules
- miio.integrations.huayi.light.huizuo module
Huizuo
Huizuo.actions()
Huizuo.call_action()
Huizuo.call_action_by()
Huizuo.call_action_from_mapping()
Huizuo.change_setting()
Huizuo.configure_wifi()
Huizuo.descriptors()
Huizuo.get_device_group()
Huizuo.get_properties()
Huizuo.get_properties_for_mapping()
Huizuo.get_property_by()
Huizuo.info()
Huizuo.off()
Huizuo.on()
Huizuo.raw_command()
Huizuo.send()
Huizuo.send_handshake()
Huizuo.sensors()
Huizuo.set_brightness()
Huizuo.set_color_temp()
Huizuo.set_property()
Huizuo.set_property_by()
Huizuo.settings()
Huizuo.status()
Huizuo.supports_miot()
Huizuo.update()
Huizuo.update_progress()
Huizuo.update_state()
Huizuo.device_id
Huizuo.mapping
Huizuo.model
Huizuo.raw_id
Huizuo.retry_count
Huizuo.supported_models
Huizuo.timeout
Huizuo.token
HuizuoLampFan
HuizuoLampFan.actions()
HuizuoLampFan.call_action()
HuizuoLampFan.call_action_by()
HuizuoLampFan.call_action_from_mapping()
HuizuoLampFan.change_setting()
HuizuoLampFan.configure_wifi()
HuizuoLampFan.descriptors()
HuizuoLampFan.fan_off()
HuizuoLampFan.fan_on()
HuizuoLampFan.fan_reverse_off()
HuizuoLampFan.fan_reverse_on()
HuizuoLampFan.get_device_group()
HuizuoLampFan.get_properties()
HuizuoLampFan.get_properties_for_mapping()
HuizuoLampFan.get_property_by()
HuizuoLampFan.info()
HuizuoLampFan.off()
HuizuoLampFan.on()
HuizuoLampFan.raw_command()
HuizuoLampFan.send()
HuizuoLampFan.send_handshake()
HuizuoLampFan.sensors()
HuizuoLampFan.set_basic_fan_mode()
HuizuoLampFan.set_brightness()
HuizuoLampFan.set_color_temp()
HuizuoLampFan.set_fan_level()
HuizuoLampFan.set_natural_fan_mode()
HuizuoLampFan.set_property()
HuizuoLampFan.set_property_by()
HuizuoLampFan.settings()
HuizuoLampFan.status()
HuizuoLampFan.supports_miot()
HuizuoLampFan.update()
HuizuoLampFan.update_progress()
HuizuoLampFan.update_state()
HuizuoLampFan.device_id
HuizuoLampFan.mapping
HuizuoLampFan.model
HuizuoLampFan.raw_id
HuizuoLampFan.retry_count
HuizuoLampFan.supported_models
HuizuoLampFan.timeout
HuizuoLampFan.token
HuizuoLampHeater
HuizuoLampHeater.actions()
HuizuoLampHeater.call_action()
HuizuoLampHeater.call_action_by()
HuizuoLampHeater.call_action_from_mapping()
HuizuoLampHeater.change_setting()
HuizuoLampHeater.configure_wifi()
HuizuoLampHeater.descriptors()
HuizuoLampHeater.get_device_group()
HuizuoLampHeater.get_properties()
HuizuoLampHeater.get_properties_for_mapping()
HuizuoLampHeater.get_property_by()
HuizuoLampHeater.heater_off()
HuizuoLampHeater.heater_on()
HuizuoLampHeater.info()
HuizuoLampHeater.off()
HuizuoLampHeater.on()
HuizuoLampHeater.raw_command()
HuizuoLampHeater.send()
HuizuoLampHeater.send_handshake()
HuizuoLampHeater.sensors()
HuizuoLampHeater.set_brightness()
HuizuoLampHeater.set_color_temp()
HuizuoLampHeater.set_heat_level()
HuizuoLampHeater.set_property()
HuizuoLampHeater.set_property_by()
HuizuoLampHeater.settings()
HuizuoLampHeater.status()
HuizuoLampHeater.supports_miot()
HuizuoLampHeater.update()
HuizuoLampHeater.update_progress()
HuizuoLampHeater.update_state()
HuizuoLampHeater.device_id
HuizuoLampHeater.mapping
HuizuoLampHeater.model
HuizuoLampHeater.raw_id
HuizuoLampHeater.retry_count
HuizuoLampHeater.supported_models
HuizuoLampHeater.timeout
HuizuoLampHeater.token
HuizuoLampScene
HuizuoLampScene.actions()
HuizuoLampScene.brightness_decrease()
HuizuoLampScene.brightness_increase()
HuizuoLampScene.brightness_switch()
HuizuoLampScene.call_action()
HuizuoLampScene.call_action_by()
HuizuoLampScene.call_action_from_mapping()
HuizuoLampScene.change_setting()
HuizuoLampScene.colortemp_decrease()
HuizuoLampScene.colortemp_increase()
HuizuoLampScene.colortemp_switch()
HuizuoLampScene.configure_wifi()
HuizuoLampScene.descriptors()
HuizuoLampScene.get_device_group()
HuizuoLampScene.get_properties()
HuizuoLampScene.get_properties_for_mapping()
HuizuoLampScene.get_property_by()
HuizuoLampScene.info()
HuizuoLampScene.off()
HuizuoLampScene.on()
HuizuoLampScene.on_or_increase_brightness()
HuizuoLampScene.on_or_increase_colortemp()
HuizuoLampScene.raw_command()
HuizuoLampScene.scene_on_off()
HuizuoLampScene.send()
HuizuoLampScene.send_handshake()
HuizuoLampScene.sensors()
HuizuoLampScene.set_brightness()
HuizuoLampScene.set_color_temp()
HuizuoLampScene.set_property()
HuizuoLampScene.set_property_by()
HuizuoLampScene.settings()
HuizuoLampScene.status()
HuizuoLampScene.supports_miot()
HuizuoLampScene.update()
HuizuoLampScene.update_progress()
HuizuoLampScene.update_state()
HuizuoLampScene.device_id
HuizuoLampScene.mapping
HuizuoLampScene.model
HuizuoLampScene.raw_id
HuizuoLampScene.retry_count
HuizuoLampScene.supported_models
HuizuoLampScene.timeout
HuizuoLampScene.token
HuizuoStatus
Module contents
- class miio.integrations.huayi.light.Huizuo(ip: str | None = None, token: str | None = None, start_id: int = 0, debug: int = 0, lazy_discover: bool = True, timeout: int | None = None, model: str = 'huayi.light.pis123')[source]
Bases:
MiotDevice
A basic support for Huizuo Lamps.
Example response of a Huizuo Pisces For Bedroom (huayi.light.pis123):
{'id': 1, 'result': [ {'did': '', 'siid': 2, 'piid': 1, 'code': 0, 'value': False}, {'did': '', 'siid': 2, 'piid': 2, 'code': 0, 'value': 94}, {'did': '', 'siid': 2, 'piid': 3, 'code': 0, 'value': 6400} ] }
Explanation (line-by-line):
power = '{"siid":2,"piid":1}' values = true,false brightless(%) = '{"siid":2,"piid":2}' values = 1-100 color temperature(Kelvin) = '{"siid":2,"piid":3}' values = 3000-6400
This is basic response for all HUIZUO lamps. Also some models supports additional properties, like for Fan or Heating management. If your device does’t support some properties, the ‘None’ will be returned.
- actions() DescriptorCollection[ActionDescriptor]
Return device actions.
- call_action_by(siid, aiid, params=None)
Call an action.
- configure_wifi(ssid, password, uid=0, extra_params=None)
Configure the wifi settings.
- descriptors() DescriptorCollection[Descriptor]
Return a collection containing all descriptors for the device.
- classmethod get_device_group()
- get_properties(properties, *, property_getter='get_prop', max_properties=None)
Request properties in slices based on given max_properties.
This is necessary as some devices have limitation on how many properties can be queried at once.
If max_properties is None, all properties are requested at once.
- info(*, skip_cache=False) DeviceInfo
Get (and cache) miIO protocol information from the device.
This includes information about connected wlan network, and hardware and software versions.
- Parameters:
bool (skip_cache) – Skip the cache
- raw_command(command, parameters)
Send a raw command to the device. This is mostly useful when trying out commands which are not implemented by a given device instance.
- send(command: str, parameters: Any | None = None, retry_count: int | None = None, *, extra_parameters=None) Any
Send a command to the device.
Basic format of the request: {“id”: 1234, “method”: command, “parameters”: parameters}
extra_parameters allows passing elements to the top-level of the request. This is necessary for some devices, such as gateway devices, which expect the sub-device identifier to be on the top-level.
- send_handshake()
Send initial handshake to the device.
- sensors() DescriptorCollection[PropertyDescriptor]
Return read-only properties.
- set_property_by(siid: int, piid: int, value: int | float | str | bool, *, value_type: Any | None = None, name: str | None = None)
Set a single property (siid/piid) to given value.
value_type can be given to convert the value to wanted type, allowed types are: int, float, bool, str
- settings() DescriptorCollection[PropertyDescriptor]
Return settable properties.
- status() HuizuoStatus [source]
Retrieve properties.
- supports_miot() bool
Return True if the device supports miot commands.
This requests a single property (siid=1, piid=1) and returns True on success.
- update_state()
Return current update state.
- mapping: Dict[str, Dict[str, Any]] = {'brightness': {'piid': 2, 'siid': 2}, 'color_temp': {'piid': 3, 'siid': 2}, 'power': {'piid': 1, 'siid': 2}}
- retry_count = 3
- supported_models = ['huayi.light.pis123', 'huayi.light.ari013', 'huayi.light.aries', 'huayi.light.peg091', 'huayi.light.peg093', 'huayi.light.pisces', 'huayi.light.tau023', 'huayi.light.taurus', 'huayi.light.vir063', 'huayi.light.virgo', 'huayi.light.wy', 'huayi.light.zw131']
- timeout = 5
- class miio.integrations.huayi.light.HuizuoLampFan(ip: str | None = None, token: str | None = None, start_id: int = 0, debug: int = 0, lazy_discover: bool = True, timeout: int | None = None, model: str = 'huayi.light.pis123')[source]
Bases:
Huizuo
Support for Huizuo Lamps with fan.
The next section contains the fan management commands Right now I have no devices with the fan for live testing, so the following section generated based on device specitifations
- actions() DescriptorCollection[ActionDescriptor]
Return device actions.
- call_action_by(siid, aiid, params=None)
Call an action.
- configure_wifi(ssid, password, uid=0, extra_params=None)
Configure the wifi settings.
- descriptors() DescriptorCollection[Descriptor]
Return a collection containing all descriptors for the device.
- classmethod get_device_group()
- get_properties(properties, *, property_getter='get_prop', max_properties=None)
Request properties in slices based on given max_properties.
This is necessary as some devices have limitation on how many properties can be queried at once.
If max_properties is None, all properties are requested at once.
- info(*, skip_cache=False) DeviceInfo
Get (and cache) miIO protocol information from the device.
This includes information about connected wlan network, and hardware and software versions.
- Parameters:
bool (skip_cache) – Skip the cache
- off()
Power off.
- on()
Power on.
- raw_command(command, parameters)
Send a raw command to the device. This is mostly useful when trying out commands which are not implemented by a given device instance.
- send(command: str, parameters: Any | None = None, retry_count: int | None = None, *, extra_parameters=None) Any
Send a command to the device.
Basic format of the request: {“id”: 1234, “method”: command, “parameters”: parameters}
extra_parameters allows passing elements to the top-level of the request. This is necessary for some devices, such as gateway devices, which expect the sub-device identifier to be on the top-level.
- send_handshake()
Send initial handshake to the device.
- sensors() DescriptorCollection[PropertyDescriptor]
Return read-only properties.
- set_brightness(level)
Set brightness.
- set_color_temp(color_temp)
Set color temp in kelvin.
- set_property_by(siid: int, piid: int, value: int | float | str | bool, *, value_type: Any | None = None, name: str | None = None)
Set a single property (siid/piid) to given value.
value_type can be given to convert the value to wanted type, allowed types are: int, float, bool, str
- settings() DescriptorCollection[PropertyDescriptor]
Return settable properties.
- status() HuizuoStatus [source]
Retrieve properties.
- supports_miot() bool
Return True if the device supports miot commands.
This requests a single property (siid=1, piid=1) and returns True on success.
- update_state()
Return current update state.
- mapping: Dict[str, Dict[str, Any]] = {'brightness': {'piid': 2, 'siid': 2}, 'color_temp': {'piid': 3, 'siid': 2}, 'power': {'piid': 1, 'siid': 2}}
- retry_count = 3
- supported_models = ['huayi.light.pis123', 'huayi.light.ari013', 'huayi.light.aries', 'huayi.light.peg091', 'huayi.light.peg093', 'huayi.light.pisces', 'huayi.light.tau023', 'huayi.light.taurus', 'huayi.light.vir063', 'huayi.light.virgo', 'huayi.light.wy', 'huayi.light.zw131']
- timeout = 5
- class miio.integrations.huayi.light.HuizuoLampHeater(ip: str | None = None, token: str | None = None, start_id: int = 0, debug: int = 0, lazy_discover: bool = True, timeout: int | None = None, model: str = 'huayi.light.pis123')[source]
Bases:
Huizuo
Support for Huizuo Lamps with heater.
The next section contains the heater management commands Right now I have no devices with the heater for live testing, so the following section generated based on device specitifations
- actions() DescriptorCollection[ActionDescriptor]
Return device actions.
- call_action_by(siid, aiid, params=None)
Call an action.
- configure_wifi(ssid, password, uid=0, extra_params=None)
Configure the wifi settings.
- descriptors() DescriptorCollection[Descriptor]
Return a collection containing all descriptors for the device.
- classmethod get_device_group()
- get_properties(properties, *, property_getter='get_prop', max_properties=None)
Request properties in slices based on given max_properties.
This is necessary as some devices have limitation on how many properties can be queried at once.
If max_properties is None, all properties are requested at once.
- info(*, skip_cache=False) DeviceInfo
Get (and cache) miIO protocol information from the device.
This includes information about connected wlan network, and hardware and software versions.
- Parameters:
bool (skip_cache) – Skip the cache
- off()
Power off.
- on()
Power on.
- raw_command(command, parameters)
Send a raw command to the device. This is mostly useful when trying out commands which are not implemented by a given device instance.
- send(command: str, parameters: Any | None = None, retry_count: int | None = None, *, extra_parameters=None) Any
Send a command to the device.
Basic format of the request: {“id”: 1234, “method”: command, “parameters”: parameters}
extra_parameters allows passing elements to the top-level of the request. This is necessary for some devices, such as gateway devices, which expect the sub-device identifier to be on the top-level.
- send_handshake()
Send initial handshake to the device.
- sensors() DescriptorCollection[PropertyDescriptor]
Return read-only properties.
- set_brightness(level)
Set brightness.
- set_color_temp(color_temp)
Set color temp in kelvin.
- set_property_by(siid: int, piid: int, value: int | float | str | bool, *, value_type: Any | None = None, name: str | None = None)
Set a single property (siid/piid) to given value.
value_type can be given to convert the value to wanted type, allowed types are: int, float, bool, str
- settings() DescriptorCollection[PropertyDescriptor]
Return settable properties.
- status() HuizuoStatus [source]
Retrieve properties.
- supports_miot() bool
Return True if the device supports miot commands.
This requests a single property (siid=1, piid=1) and returns True on success.
- update_state()
Return current update state.
- mapping: Dict[str, Dict[str, Any]] = {'brightness': {'piid': 2, 'siid': 2}, 'color_temp': {'piid': 3, 'siid': 2}, 'power': {'piid': 1, 'siid': 2}}
- retry_count = 3
- supported_models = ['huayi.light.pis123', 'huayi.light.ari013', 'huayi.light.aries', 'huayi.light.peg091', 'huayi.light.peg093', 'huayi.light.pisces', 'huayi.light.tau023', 'huayi.light.taurus', 'huayi.light.vir063', 'huayi.light.virgo', 'huayi.light.wy', 'huayi.light.zw131']
- timeout = 5
- class miio.integrations.huayi.light.HuizuoLampScene(ip: str | None = None, token: str | None = None, start_id: int = 0, debug: int = 0, lazy_discover: bool = True, timeout: int | None = None, model: str = 'huayi.light.pis123')[source]
Bases:
Huizuo
Support for Huizuo Lamps with additional scene commands.
The next section contains the scene management commands Right now I have no devices with the scenes for live testing, so the following section generated based on device specitifations
- actions() DescriptorCollection[ActionDescriptor]
Return device actions.
- call_action_by(siid, aiid, params=None)
Call an action.
- colortemp_switch()[source]
Switch between the color temperatures (only for models with scenes support).
- configure_wifi(ssid, password, uid=0, extra_params=None)
Configure the wifi settings.
- descriptors() DescriptorCollection[Descriptor]
Return a collection containing all descriptors for the device.
- classmethod get_device_group()
- get_properties(properties, *, property_getter='get_prop', max_properties=None)
Request properties in slices based on given max_properties.
This is necessary as some devices have limitation on how many properties can be queried at once.
If max_properties is None, all properties are requested at once.
- info(*, skip_cache=False) DeviceInfo
Get (and cache) miIO protocol information from the device.
This includes information about connected wlan network, and hardware and software versions.
- Parameters:
bool (skip_cache) – Skip the cache
- off()
Power off.
- on()
Power on.
- on_or_increase_brightness()[source]
Switch on or increase brightness (only for models with scenes support).
- on_or_increase_colortemp()[source]
Switch on or increase color temperature (only for models with scenes support).
- raw_command(command, parameters)
Send a raw command to the device. This is mostly useful when trying out commands which are not implemented by a given device instance.
- send(command: str, parameters: Any | None = None, retry_count: int | None = None, *, extra_parameters=None) Any
Send a command to the device.
Basic format of the request: {“id”: 1234, “method”: command, “parameters”: parameters}
extra_parameters allows passing elements to the top-level of the request. This is necessary for some devices, such as gateway devices, which expect the sub-device identifier to be on the top-level.
- send_handshake()
Send initial handshake to the device.
- sensors() DescriptorCollection[PropertyDescriptor]
Return read-only properties.
- set_brightness(level)
Set brightness.
- set_color_temp(color_temp)
Set color temp in kelvin.
- set_property_by(siid: int, piid: int, value: int | float | str | bool, *, value_type: Any | None = None, name: str | None = None)
Set a single property (siid/piid) to given value.
value_type can be given to convert the value to wanted type, allowed types are: int, float, bool, str
- settings() DescriptorCollection[PropertyDescriptor]
Return settable properties.
- status() HuizuoStatus
Retrieve properties.
- supports_miot() bool
Return True if the device supports miot commands.
This requests a single property (siid=1, piid=1) and returns True on success.
- update_state()
Return current update state.
- mapping: Dict[str, Dict[str, Any]] = {'brightness': {'piid': 2, 'siid': 2}, 'color_temp': {'piid': 3, 'siid': 2}, 'power': {'piid': 1, 'siid': 2}}
- retry_count = 3
- supported_models = ['huayi.light.pis123', 'huayi.light.ari013', 'huayi.light.aries', 'huayi.light.peg091', 'huayi.light.peg093', 'huayi.light.pisces', 'huayi.light.tau023', 'huayi.light.taurus', 'huayi.light.vir063', 'huayi.light.virgo', 'huayi.light.wy', 'huayi.light.zw131']
- timeout = 5