miio.device module¶
- class miio.device.Device(ip: Optional[str] = None, token: Optional[str] = None, start_id: int = 0, debug: int = 0, lazy_discover: bool = True, timeout: Optional[int] = None, *, model: Optional[str] = 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.- 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.
- Parameters
:return List of property values.
- info(*args, **kwargs)¶
- raw_command(*args, **kwargs)¶
- send(command: str, parameters: Optional[Any] = None, retry_count: Optional[int] = 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.
- test_properties(*args, **kwargs)¶
- retry_count = 3¶
- supported_models = []¶
- timeout = 5¶