Closed Krazy998 closed 3 years ago
Describe the bug
HomeAssistant is unable to discover the vacuum via MQTT.
Logs in home assistant show:
Exception in async_discover when dispatching 'mqtt_discovery_new_vacuum_mqtt': ({'name': 'rockrobo', 'unique_id': 'rockrobo', 'schema': 'state', 'device': {'manufacturer': 'Roborock', 'model': 'roborock.vacuum.s5', 'name': 'rockrobo', 'identifiers': ['rockrobo'], 'sw_version': '0.10.6'}, 'supported_features': ['start', 'pause', 'stop', 'return_home', 'battery', 'status', 'locate', 'clean_spot', 'fan_speed', 'water_grade', 'send_command'], 'command_topic': 'valetudo/rockrobo/command', 'state_topic': 'valetudo/rockrobo/state', 'set_fan_speed_topic': 'valetudo/rockrobo/set_fan_speed', 'set_water_grade_topic': 'valetudo/rockrobo/set_water_grade', 'fan_speed_list': ['whisper', 'min', 'medium', 'high', 'max', 'mop'], 'water_grade_list': ['off', 'low', 'medium', 'high'], 'send_command_topic': 'valetudo/rockrobo/custom_command', 'json_attributes_topic': 'valetudo/rockrobo/attributes', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 160, in async_discover config = schema(discovery_payload) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 218, in call return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 341, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 337, in _exec v = func(v) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 817, in validate_callable return schema(data) File "/usr/src/homeassistant/homeassistant/components/mqtt/vacuum/init.py", line 19, in validate_mqtt_vacuum return schemasvalue[CONF_SCHEMA] File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: value must be one of ['battery', 'clean_spot', 'fan_speed', 'locate', 'pause', 'return_home', 'send_command', 'start', 'status', 'stop'] @ data['supported_features'][9]
How to Reproduce Upgrade to 0.10.6. Existing Vaccum becomes unavailable. Errors are observed in homeassistant logs.
Expected behavior Integration with HomeAssistant should be seamless via MQTT.
Additional context Downgrading to 0.10.5 resolves the issue. I am running Rockrobo s50 with 1898 firmware.
Should be fixed with 024aecc, release binaries are updated.
Describe the bug
HomeAssistant is unable to discover the vacuum via MQTT.
Logs in home assistant show:
Exception in async_discover when dispatching 'mqtt_discovery_new_vacuum_mqtt': ({'name': 'rockrobo', 'unique_id': 'rockrobo', 'schema': 'state', 'device': {'manufacturer': 'Roborock', 'model': 'roborock.vacuum.s5', 'name': 'rockrobo', 'identifiers': ['rockrobo'], 'sw_version': '0.10.6'}, 'supported_features': ['start', 'pause', 'stop', 'return_home', 'battery', 'status', 'locate', 'clean_spot', 'fan_speed', 'water_grade', 'send_command'], 'command_topic': 'valetudo/rockrobo/command', 'state_topic': 'valetudo/rockrobo/state', 'set_fan_speed_topic': 'valetudo/rockrobo/set_fan_speed', 'set_water_grade_topic': 'valetudo/rockrobo/set_water_grade', 'fan_speed_list': ['whisper', 'min', 'medium', 'high', 'max', 'mop'], 'water_grade_list': ['off', 'low', 'medium', 'high'], 'send_command_topic': 'valetudo/rockrobo/custom_command', 'json_attributes_topic': 'valetudo/rockrobo/attributes', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 160, in async_discover config = schema(discovery_payload) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 218, in call return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 341, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 337, in _exec v = func(v) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 817, in validate_callable return schema(data) File "/usr/src/homeassistant/homeassistant/components/mqtt/vacuum/init.py", line 19, in validate_mqtt_vacuum return schemasvalue[CONF_SCHEMA] File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: value must be one of ['battery', 'clean_spot', 'fan_speed', 'locate', 'pause', 'return_home', 'send_command', 'start', 'status', 'stop'] @ data['supported_features'][9]
How to Reproduce Upgrade to 0.10.6. Existing Vaccum becomes unavailable. Errors are observed in homeassistant logs.
Expected behavior Integration with HomeAssistant should be seamless via MQTT.
Additional context Downgrading to 0.10.5 resolves the issue. I am running Rockrobo s50 with 1898 firmware.