miio.integrations.vacuum.viomi.viomivacuum module¶
Viomi Vacuum.
# https://github.com/rytilahti/python-miio/issues/550#issuecomment-552780952 # https://github.com/homebridge-xiaomi-roborock-vacuum/homebridge-xiaomi-roborock-vacuum/blob/ee10cbb3e98dba75d9c97791a6e1fcafc1281591/miio/lib/devices/vacuum.js # https://github.com/homebridge-xiaomi-roborock-vacuum/homebridge-xiaomi-roborock-vacuum/blob/ee10cbb3e98dba75d9c97791a6e1fcafc1281591/miio/lib/devices/viomivacuum.js
Features:
Main: - Area/Duration - Missing (get_clean_summary/get_clean_record - Battery - battery_life - Dock - set_charge - Start/Pause - set_mode_withroom - Modes (Vacuum/Vacuum&Mop/Mop) - set_mop/id_mop - Fan Speed (Silent/Standard/Medium/Turbo) - set_suction/suction_grade - Water Level (Low/Medium/High) - set_suction/water_grade
Settings: - Cleaning history - MISSING (cleanRecord) - Scheduled cleanup - get_ordertime - Vacuum along the edges - get_mode/set_mode - Secondary cleanup - set_repeat/repeat_cleaning - Mop or vacuum & mod mode - set_moproute/mop_route - DND(DoNotDisturb) - set_notdisturb/get_notdisturb - Voice On/Off - set_sound_volume/sound_volume - Remember Map - remember_map - Virtual wall/restricted area - MISSING - Map list - get_maps/rename_map/delete_map/set_map - Area editor - MISSING - Reset map - MISSING - Device leveling - MISSING - Looking for the vacuum-mop - MISSING (find_me) - Consumables statistics - get_properties - Remote Control - MISSING
Misc: - Get Properties - Language - set_language - Led - set_light - Rooms - get_ordertime (hack) - Clean History Path - MISSING (historyPath) - Map plan - MISSING (map_plan)
- exception miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuumException[source]¶
Bases:
miio.exceptions.DeviceException
Exception raised by Viomi Vacuum.
- with_traceback()¶
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
- args¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiBinType(value)[source]¶
Bases:
enum.Enum
An enumeration.
- NoBin = 0¶
- Vacuum = 1¶
- VacuumAndWater = 3¶
- Water = 2¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiCarpetTurbo(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Medium = 1¶
- Off = 0¶
- Turbo = 2¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiConsumableStatus(data: List[int])[source]¶
Bases:
miio.integrations.vacuum.roborock.vacuumcontainers.ConsumableStatus
Consumable container for viomi vacuums.
Note that this exposes mop and mop_left that are not available in the base class, while returning zeroed timedeltas for sensor_dirty and sensor_dirty_left which it doesn’t report.
- property filter: datetime.timedelta¶
Filter usage time.
- property filter_left: datetime.timedelta¶
How long until the filter should be changed.
- property main_brush: datetime.timedelta¶
Main brush usage time.
- property main_brush_left: datetime.timedelta¶
How long until the main brush should be changed.
- property mop: datetime.timedelta¶
Return
sensor_dirty_time
- property mop_left: datetime.timedelta¶
How long until the mop should be changed.
- property sensor_dirty: datetime.timedelta¶
Viomi has no sensor dirty, so we return zero here.
- property sensor_dirty_left: datetime.timedelta¶
Viomi has no sensor dirty, so we return zero here.
- property side_brush: datetime.timedelta¶
Side brush usage time.
- property side_brush_left: datetime.timedelta¶
How long until the side brush should be changed.
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiEdgeState(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Off = 0¶
- On = 2¶
- Unknown = 1¶
- Unknown2 = 5¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiLanguage(value)[source]¶
Bases:
enum.Enum
An enumeration.
- CN = 1¶
- EN = 2¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiLedState(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Off = 0¶
- On = 1¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiMode(value)[source]¶
Bases:
enum.Enum
An enumeration.
- CleanSpot = 4¶
- CleanZone = 3¶
- Mop = 2¶
- Vacuum = 0¶
- VacuumAndMop = 1¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiMovementDirection(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Backward = 4¶
- Forward = 1¶
- Left = 2¶
- Right = 3¶
- Stop = 5¶
- Unknown = 10¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiPositionPoint(pos_x, pos_y, phi, update, plan_multiplicator=1)[source]¶
Bases:
object
Vacuum position coordinate.
- property pos_x¶
X coordinate with multiplicator.
- property pos_y¶
Y coordinate with multiplicator.
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiRoutePattern(value)[source]¶
Bases:
enum.Enum
Mopping pattern.
- S = 0¶
- Y = 1¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuum(ip: str, token: Optional[str] = None, start_id: int = 0, debug: int = 0, *, model: Optional[str] = None)[source]¶
Bases:
miio.device.Device
,miio.interfaces.vacuuminterface.VacuumInterface
Interface for Viomi vacuums (viomi.vacuum.v7).
- add_timer(*args, **kwargs)¶
- carpet_mode(*args, **kwargs)¶
- clean_mode(*args, **kwargs)¶
- configure_wifi(ssid, password, uid=0, extra_params=None)¶
Configure the wifi settings.
- consumable_status(*args, **kwargs)¶
- delete_map(*args, **kwargs)¶
- delete_timer(*args, **kwargs)¶
- dnd_status(*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()
.
- get_current_position(*args, **kwargs)¶
- classmethod get_device_group()¶
- get_maps(*args, **kwargs)¶
- get_positions(plan_multiplicator=1) List[miio.integrations.vacuum.viomi.viomivacuum.ViomiPositionPoint] [source]¶
Return the last positions.
plan_multiplicator scale up the coordinates values
- 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
:return List of property values.
- get_rooms(*args, **kwargs)¶
- get_scheduled_cleanup(*args, **kwargs)¶
- home(*args, **kwargs)¶
Return vacuum robot to home station/dock.
- info(*args, **kwargs)¶
- led(*args, **kwargs)¶
- move(*args, **kwargs)¶
- pause(*args, **kwargs)¶
Pause cleaning.
- Raises
RuntimeError – if the method is not supported by the device
- raw_command(*args, **kwargs)¶
- rename_map(*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.
- send_handshake()¶
Send initial handshake to the device.
- set_dnd(*args, **kwargs)¶
- set_edge(*args, **kwargs)¶
- 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_language(*args, **kwargs)¶
- set_map(*args, **kwargs)¶
- set_remember_map(*args, **kwargs)¶
- set_repeat(*args, **kwargs)¶
- set_route_pattern(*args, **kwargs)¶
- set_sound_volume(*args, **kwargs)¶
- set_water_grade(*args, **kwargs)¶
- start(*args, **kwargs)¶
Start cleaning.
- start_with_room(*args, **kwargs)¶
- status(*args, **kwargs)¶
- stop(*args, **kwargs)¶
Stop cleaning.
- test_properties(*args, **kwargs)¶
- update_state()¶
Return current update state.
- retry_count = 10¶
- supported_models = ['viomi.vacuum.v6', 'viomi.vacuum.v7', 'viomi.vacuum.v8', 'viomi.vacuum.v10', 'viomi.vacuum.v13']¶
- timeout = 5¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuumSpeed(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Medium = 2¶
- Silent = 0¶
- Standard = 1¶
- Turbo = 3¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuumState(value)[source]¶
Bases:
enum.Enum
An enumeration.
- Cleaning = 3¶
- Docked = 5¶
- Idle = 1¶
- Idle2 = 2¶
- IdleNotDocked = 0¶
- Returning = 4¶
- Unknown = -1¶
- VacuumingAndMopping = 6¶
- class miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuumStatus(data)[source]¶
Bases:
miio.device.DeviceStatus
- property bin_type: miio.integrations.vacuum.viomi.viomivacuum.ViomiBinType¶
Type of the inserted bin.
- property charging: bool¶
True if battery is charging.
Note: When the battery is at 100%, device reports that it is not charging.
- property clean_time: datetime.timedelta¶
Cleaning time.
- property edge_state: miio.integrations.vacuum.viomi.viomivacuum.ViomiEdgeState¶
Vaccum along the edges.
The settings is valid once 0: Off 1: Unknown 2: On 5: Unknown
- property fanspeed: miio.integrations.vacuum.viomi.viomivacuum.ViomiVacuumSpeed¶
Current fan speed.
- property mop_mode: miio.integrations.vacuum.viomi.viomivacuum.ViomiMode¶
Whether mopping is enabled and if so which mode.
- property mop_route: miio.integrations.vacuum.viomi.viomivacuum.ViomiRoutePattern¶
Pattern mode.
- property state¶
State of the vacuum.
- property water_grade: miio.integrations.vacuum.viomi.viomivacuum.ViomiWaterGrade¶
Water grade.