miio.device module
- class miio.device.Device(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)[source]
Bases:
object
Base class for all device implementations.
This is the main class providing the basic protocol handling for devices using the
miIO
protocol. This class should not be initialized directly but a device- specific class inheriting it should be used instead of it.- actions() DescriptorCollection[ActionDescriptor] [source]
Return device actions.
- descriptors() DescriptorCollection[Descriptor] [source]
Return a collection containing all descriptors for the device.
- classmethod get_device_group()
- get_properties(properties, *, property_getter='get_prop', max_properties=None)[source]
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 [source]
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)[source]
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 [source]
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.
- final sensors() DescriptorCollection[PropertyDescriptor] [source]
Return read-only properties.
- final settings() DescriptorCollection[PropertyDescriptor] [source]
Return settable properties.
- status() DeviceStatus [source]
Return device status.
- supports_miot() bool [source]
Return True if the device supports miot commands.
This requests a single property (siid=1, piid=1) and returns True on success.
- retry_count = 3
- supported_models = []
- timeout = 5