miio.integrations.chunmi.cooker.cooker module
- class miio.integrations.chunmi.cooker.cooker.Cooker(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:
Device
Main class representing the chunmi.cooker.*.
- 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_temperature_history() TemperatureHistory [source]
Retrieves a temperature history.
The temperature is only available while cooking. Approx. six data points per minute.
- 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_interaction(settings: CookerSettings, timeouts: InteractionTimeouts)[source]
Set interaction.
Supported by all cookers except MODEL_PRESS1
Select one of the default(?) cooking profiles.
- settings() DescriptorCollection[PropertyDescriptor]
Return settable properties.
- status() CookerStatus [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.
- retry_count = 3
- supported_models = ['chunmi.cooker.normal1', 'chunmi.cooker.normal2', 'chunmi.cooker.normal3', 'chunmi.cooker.normal4', 'chunmi.cooker.normal5', 'chunmi.cooker.press1', 'chunmi.cooker.press2']
- timeout = 5
- class miio.integrations.chunmi.cooker.cooker.CookerCustomizations(custom: str)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.
- class miio.integrations.chunmi.cooker.cooker.CookerSettings(settings: str | None = None)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.
- class miio.integrations.chunmi.cooker.cooker.CookerStatus(data)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.
- property cooker_settings: CookerSettings
Settings of the cooker.
- property custom: CookerCustomizations | None
- property interaction_timeouts: InteractionTimeouts
Interaction timeouts.
Selected recipe id.
- property mode: OperationMode
Current operation mode.
- property stage: CookingStage | None
Current stage if cooking.
- class miio.integrations.chunmi.cooker.cooker.CookingStage(stage: str)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.
- class miio.integrations.chunmi.cooker.cooker.InteractionTimeouts(timeouts: str | None = None)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.
- class miio.integrations.chunmi.cooker.cooker.OperationMode(value)[source]
Bases:
Enum
An enumeration.
- AutoKeepWarm = 'autokeepwarm'
- Cancel = 'Отмена'
- Cooking = 'cooking'
- Finish = 'finish'
- FinishA = 'finisha'
- KeepTemp = 'keep_temp'
- KeepWarm = 'keepwarm'
- Notice = 'notice'
- Offline = 'offline'
- Online = 'online'
- PreCook = 'precook'
- Resume = 'resume'
- ResumeP = 'resumep'
- Running = 'running'
- Start = 'start'
- StartP = 'startp'
- Waiting = 'waiting'
- class miio.integrations.chunmi.cooker.cooker.TemperatureHistory(data: str)[source]
Bases:
DeviceStatus
- descriptors() DescriptorCollection[PropertyDescriptor]
Return the dict of sensors exposed by the status container.
Use @sensor and @setting decorators to define properties.
- embed(name: str, other: DeviceStatus)
Embed another status container to current one.
This makes it easy to provide a single status response for cases where responses from multiple I/O calls is wanted to provide a simple interface for downstreams.
Internally, this will prepend the name of the other class to the attribute names, and override the __getattribute__ to lookup attributes in the embedded containers.