miio.integrations.vacuum.dreame.dreamevacuum_miot module

Dreame Vacuum.

class miio.integrations.vacuum.dreame.dreamevacuum_miot.ChargingState(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

Charging = 1
Charging2 = 4
Discharging = 2
GoCharging = 5
class miio.integrations.vacuum.dreame.dreamevacuum_miot.CleaningModeDreame1C(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

Default = 1
Medium = 2
Quiet = 0
Strong = 3
class miio.integrations.vacuum.dreame.dreamevacuum_miot.CleaningModeDreameF9(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

Quiet = 0
Standart = 1
Strong = 2
Turbo = 3
class miio.integrations.vacuum.dreame.dreamevacuum_miot.DeviceStatus(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

Charging = 6
Error = 4
GoCharging = 5
Idle = 2
ManualSweeping = 13
Mopping = 7
Paused = 3
Sweeping = 1
class miio.integrations.vacuum.dreame.dreamevacuum_miot.DreameVacuum(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, mapping: Optional[Dict[str, Dict[str, Any]]] = None)[source]

Bases: miio.miot_device.MiotDevice, miio.interfaces.vacuuminterface.VacuumInterface

call_action(*args, **kwargs)
call_action_by(*args, **kwargs)
configure_wifi(ssid, password, uid=0, extra_params=None)

Configure the wifi settings.

fan_speed(*args, **kwargs)
fan_speed_presets(*args, **kwargs)

Return available fan speed presets.

The returned object is a dictionary where the key is user-readable name and the value is input for set_fan_speed_preset().

forward(*args, **kwargs)
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.

Parameters
  • properties (list) – List of properties to query from the device.

  • max_properties (int) – Number of properties that can be requested at once.

:return List of property values.

get_properties_for_mapping(*, max_properties=15) list

Retrieve raw properties based on mapping.

get_property_by(*args, **kwargs)
home(*args, **kwargs)

Return vacuum robot to home station/dock.

identify(*args, **kwargs)
info(*args, **kwargs)
pause()

Pause cleaning.

Raises

RuntimeError – if the method is not supported by the device

play_sound(*args, **kwargs)
raw_command(*args, **kwargs)
reset_filter_life(*args, **kwargs)
reset_mainbrush_life(*args, **kwargs)
reset_sidebrush_life(*args, **kwargs)
rotate(*args, **kwargs)
send(command: str, parameters: Optional[Any] = None, retry_count: Optional[int] = 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.

Parameters
  • command (str) – Command to send

  • parameters (dict) – Parameters to send

  • retry_count (int) – How many times to retry on error

  • extra_parameters (dict) – Extra top-level parameters

  • model (str) – Force model to avoid autodetection

send_handshake()

Send initial handshake to the device.

set_fan_speed(*args, **kwargs)
set_fan_speed_preset(*args, **kwargs)

Set fan speed preset speed.

Parameters

speed_preset – a value from fan_speed_presets()

Raises

ValueError – for invalid preset value

set_property(property_key: str, value)

Sets property value using the existing mapping.

set_property_by(*args, **kwargs)
set_voice(*args, **kwargs)
set_waterflow(*args, **kwargs)
start(*args, **kwargs)

Start cleaning.

status(*args, **kwargs)
stop(*args, **kwargs)

Stop cleaning.

test_properties(*args, **kwargs)
update(url: str, md5: str)

Start an OTA update.

update_progress() int

Return current update progress [0-100].

update_state()

Return current update state.

waterflow(*args, **kwargs)
waterflow_presets(*args, **kwargs)
MANUAL_DISTANCE_MAX = 300
MANUAL_DISTANCE_MIN = -300
MANUAL_ROTATION_MAX = 120
MANUAL_ROTATION_MIN = -120
property device_id: int

Return device id (did), if available.

mapping: Dict[str, Dict[str, Any]]
property model: str

Return device model.

property raw_id: int

Return the last used protocol sequence id.

retry_count = 3
supported_models = dict_keys(['dreame.vacuum.mc1808', 'dreame.vacuum.p2008', 'dreame.vacuum.p2009', 'dreame.vacuum.p2028', 'dreame.vacuum.p2041o', 'dreame.vacuum.p2150a', 'dreame.vacuum.p2150o'])
timeout = 5
token: Optional[str]
class miio.integrations.vacuum.dreame.dreamevacuum_miot.DreameVacuumStatus(data, model)[source]

Bases: miio.device.DeviceStatus

Container for status reports from the dreame vacuum.

Dreame vacuum respone {

‘battery_level’: 100, ‘brush_left_time’: 260, ‘brush_left_time2’: 200, ‘brush_life_level’: 90, ‘brush_life_level2’: 90, ‘charging_state’: 1, ‘cleaning_area’: 22, ‘cleaning_mode’: 2, ‘cleaning_time’: 17, ‘device_fault’: 0, ‘device_status’: 6, ‘filter_left_time’: 120, ‘filter_life_level’: 40, ‘first_clean_time’: 1620154830, ‘operating_mode’: 6, ‘start_time’: ‘22:00’, ‘stop_time’: ‘08:00’, ‘timer_enable’: True, ‘timezone’: ‘Europe/Berlin’, ‘total_clean_area’: 205, ‘total_clean_time’: 186, ‘total_clean_times’: 21, ‘voice_package’: ‘DR0’, ‘volume’: 65, ‘water_box_carriage_status’: 0, ‘water_flow’: 3

}

property battery_level: str
property brush_left_time: str
property brush_left_time2: str
property brush_life_level: str
property brush_life_level2: str
property charging_state: Optional[miio.integrations.vacuum.dreame.dreamevacuum_miot.ChargingState]
property cleaning_area: str
property cleaning_mode
property cleaning_time: str
property device_fault: Optional[miio.integrations.vacuum.dreame.dreamevacuum_miot.FaultStatus]
property device_status: Optional[miio.integrations.vacuum.dreame.dreamevacuum_miot.DeviceStatus]
property filter_left_time: str
property filter_life_level: str
property first_clean_time: str
property is_water_box_carriage_attached: Optional[bool]

Return True if water box carriage (mop) is installed, None if sensor not present.

property life_brush_main: Optional[str]
property life_brush_side: Optional[str]
property life_sieve: Optional[str]
property map_view: str
property operating_mode: Optional[miio.integrations.vacuum.dreame.dreamevacuum_miot.OperatingMode]
property start_time: str
property stop_time: str
property timer_enable: str
property timezone: str
property total_clean_area: str
property total_clean_time: str
property total_clean_times: str
property voice_package: str
property volume: str
property water_flow: Optional[miio.integrations.vacuum.dreame.dreamevacuum_miot.WaterFlow]
class miio.integrations.vacuum.dreame.dreamevacuum_miot.FaultStatus(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

NoFaults = 0
class miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum(value)[source]

Bases: enum.Enum

An enumeration.

class miio.integrations.vacuum.dreame.dreamevacuum_miot.OperatingMode(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

Charging = 6
Cleaning = 2
GoCharging = 3
ManualCleaning = 13
ManualPaused = 17
Paused = 1
Sleeping = 14
ZonedCleaning = 19
class miio.integrations.vacuum.dreame.dreamevacuum_miot.WaterFlow(value)[source]

Bases: miio.integrations.vacuum.dreame.dreamevacuum_miot.FormattableEnum

An enumeration.

High = 3
Low = 1
Medium = 2