miio.miot_device module
- class miio.miot_device.MiotDevice(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 | None = None, mapping: Dict[str, Dict[str, Any]] | None = None)[source]
Bases:
Device
Main class representing a MIoT device.
The inheriting class should use the _mappings to set the MiotMapping keyed by the model names to inform which mapping is to be used for methods contained in this class. Defining the mappiong using mapping class variable is deprecated but remains in-place for backwards compatibility.
- actions() DescriptorCollection[ActionDescriptor]
Return device actions.
- 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.
- get_properties_for_mapping(*, max_properties=15) list [source]
Retrieve raw properties based on mapping.
- 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)[source]
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() DeviceStatus
Return device status.
- 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.
- retry_count = 3
- supported_models = []
- timeout = 5