Hey guys,
I already opened up this feature request on github, so hopefully now I’m in the right place.
The problem
the mqtt-vacuum integration currently only lists a limited amount of different states
cleaning,
docked,
paused,
idle,
returning,
error.
When using the integration from the vacuum itself there are more states available which are then mapped to one of the available ones, for example one of the states the xiaomi roborck has is going_to_target, if, well, you guessed it, the robot drives to the target destination. Right now it maps to cleaning state though.
Here is the current mapping for the xiaomi roborock from the valetudo addon.
// Codes as per Status.js
const HA_STATE_MAPPINGS = {
"CHARGER_DISCONNECTED": HA_STATES.IDLE,
"IDLE": HA_STATES.IDLE,
"CLEANING": HA_STATES.CLEANING,
"MANUAL_MODE": HA_STATES.CLEANING,
"SPOT_CLEANING": HA_STATES.CLEANING,
"GOING_TO_TARGET": HA_STATES.CLEANING,
"ZONED_CLEANING": HA_STATES.ZONE_CLEANUP,
"RETURNING_HOME": HA_STATES.RETURNING,
"DOCKING": HA_STATES.RETURNING,
"CHARGING": HA_STATES.DOCKED,
"CHARGING_PROBLEM": HA_STATES.ERROR,
"ERROR": HA_STATES.ERROR,
"PAUSED": HA_STATES.PAUSED,
Environment
- Home Assistant Core release with the issue: 0.110.4
- Last working Home Assistant Core release (if known): N/A
- Operating environment (Home Assistant/Supervised/Docker/venv): Home Assistant
- Integration causing this issue: vacuum.mqtt
- Link to integration documentation on our website: https://www.home-assistant.io/integrations/vacuum.mqtt/#state-mqtt-protocol
Additional information
It would be great if the missing states the robot provides could be made available in the mqtt.vacuum integration. Here is my proposal for the new states (marked the new states as bold)
CHARGER_DISCONNECTED,
IDLE,
CLEANING,
MANUAL_MODE,
SPOT_CLEANING,
GOING_TO_TARGET,
ZONED_CLEANING,
RETURNING,
DOCKING,
CHARGING
CHARGING_PROBLEM
ERROR,
PAUSED