fmartinou / tydom2mqtt

Deltadore Tydom to MQTT Bridge
https://fmartinou.github.io/tydom2mqtt/
MIT License
90 stars 53 forks source link

"door" device_class generates an error #45

Closed jerry34ha closed 1 year ago

jerry34ha commented 1 year ago

Hi,

I have this error in the homeassistant log. This error happens for all my device_class=door devices.

The doors are from Kline and have a DVI (détecteur de verrouillage intégré) which state is properly reported in HA (LOCKED, UNLOCKED).

2022-10-01 13:19:58.343 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'openState_tydom__Porte_patio', 'unique_id': 'openState_tydom_1659982394_1659982394', 'device_class': 'door',                                                                                                                                                                                       
'device': {'manufacturer': 'Delta Dore', 'model': 'Sensor', 'name': 'openState_tydom__Porte_patio', 'identifiers': '1659982394_1659982394_sensors'}, 'state_topic': 'sensor/tydom/openState_tydom_1659982394_1659982394/state', 'platform': 'mqtt'},)      
Traceback (most recent call last):                                                                                                                                                                                                                                                    
  File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 348, in async_discover                                                                                                                                                                                  
    config = discovery_schema(discovery_payload)                                                                                                                                                                                                                                      
  File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in __call__                                                                                                                                                                                      
    return self._exec((Schema(val) for val in self.validators), v)                                                                                                                                                                                                                    
  File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec                                                                                                                                                                                         
    raise e if self.msg is None else AllInvalid(self.msg, path=path)                                                                                                                                                                                                                  
  File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec                                                                                                                                                                                         
    v = func(v)                                                                                                                                                                                                                                                                       
  File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__                                                                                                                                                                                  
    return self._compiled([], data)                                                                                                                                                                                                                                                   
  File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable                                                                                                                                                                         
    return schema(data)                                                                                                                                                                                                                                                               
  File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__                                                                                                                                                                                  
    return self._compiled([], data)                                                                                                                                                                                                                                                   
  File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict                                                                                                                                                                             
    return base_validate(path, iteritems(data), out)                                                                                                                                                                                                                                  
  File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping                                                                                                                                                                          
    raise er.MultipleInvalid(errors)                                                                                                                                                                                                                                                  
voluptuous.error.MultipleInvalid: expected SensorDeviceClass or one of 'apparent_power', 'aqi', 'battery', 'carbon_monoxide', 'carbon_dioxide', 'current', 'date', 'duration', 'energy', 'frequency', 'gas', 'humidity', 'illuminance', 'monetary', 'nitrogen_dioxide',                                                                                                                                                                                              
 'nitrogen_monoxide', 'nitrous_oxide', 'ozone', 'pm1', 'pm10', 'pm25', 'power_factor', 'power', 'pressure', 'reactive_power', 'signal_strength', 'sulphur_dioxide', 'temperature', 'timestamp', 'volatile_organic_compounds', 'voltage' for dictionary value @ data['device_class']                                                                                                                                                                                  
dingogogo commented 1 year ago

Same issue here with my two doors. Other DVI in windows work perfectly...

Source: util/logging.py:156
First occurred: 16:59:32 (15 occurrences)
Last logged: 17:09:59

Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'openState_tydom__Porte_T2', 'unique_id': 'openState_tydom_1653835164_1653835164', 'device_class': 'door', 'device': {'manufacturer': 'Delta Dore', 'model': 'Sensor', 'name': 'openState_tydom__Porte_T2', 'identifiers': '1653835164_1653835164_sensors'}, 'state_topic': 'sensor/tydom/openState_tydom_1653835164_1653835164/state', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 315, in async_discover config = discovery_schema(discovery_payload) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in __call__ return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: expected SensorDeviceClass or one of 'apparent_power', 'aqi', 'battery', 'carbon_monoxide', 'carbon_dioxide', 'current', 'date', 'distance', 'duration', 'energy', 'frequency', 'gas', 'humidity', 'illuminance', 'moisture', 'monetary', 'nitrogen_dioxide', 'nitrogen_monoxide', 'nitrous_oxide', 'ozone', 'pm1', 'pm10', 'pm25', 'power_factor', 'power', 'pressure', 'reactive_power', 'signal_strength', 'speed', 'sulphur_dioxide', 'temperature', 'timestamp', 'volatile_organic_compounds', 'voltage', 'volume', 'weight' for dictionary value @ data['device_class']
Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'openState_tydom__Porte_Maison', 'unique_id': 'openState_tydom_1658579994_1658579994', 'device_class': 'door', 'device': {'manufacturer': 'Delta Dore', 'model': 'Sensor', 'name': 'openState_tydom__Porte_Maison', 'identifiers': '1658579994_1658579994_sensors'}, 'state_topic': 'sensor/tydom/openState_tydom_1658579994_1658579994/state', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 315, in async_discover config = discovery_schema(discovery_payload) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in __call__ return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: expected SensorDeviceClass or one of 'apparent_power', 'aqi', 'battery', 'carbon_monoxide', 'carbon_dioxide', 'current', 'date', 'distance', 'duration', 'energy', 'frequency', 'gas', 'humidity', 'illuminance', 'moisture', 'monetary', 'nitrogen_dioxide', 'nitrogen_monoxide', 'nitrous_oxide', 'ozone', 'pm1', 'pm10', 'pm25', 'power_factor', 'power', 'pressure', 'reactive_power', 'signal_strength', 'speed', 'sulphur_dioxide', 'temperature', 'timestamp', 'volatile_organic_compounds', 'voltage', 'volume', 'weight' for dictionary value @ data['device_class']
Alepat62 commented 1 year ago

+1 Exactly the same issue with my door devices :

Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'openState_tydom__cellier', 'unique_id': 'openState_tydom_1665941204_1665941204', 'device_class': 'door', 'device': {'manufacturer': 'Delta Dore', 'model': 'Sensor', 'name': 'openState_tydom__cellier', 'identifiers': '1665941204_1665941204_sensors'}, 'state_topic': 'sensor/tydom/openState_tydom_1665941204_1665941204/state', 'platform': 'mqtt'},) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 315, in async_discover config = discovery_schema(discovery_payload) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in __call__ return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: expected SensorDeviceClass or one of 'apparent_power', 'aqi', 'battery', 'carbon_monoxide', 'carbon_dioxide', 'current', 'date', 'distance', 'duration', 'energy', 'frequency', 'gas', 'humidity', 'illuminance', 'moisture', 'monetary', 'nitrogen_dioxide', 'nitrogen_monoxide', 'nitrous_oxide', 'ozone', 'pm1', 'pm10', 'pm25', 'power_factor', 'power', 'pressure', 'reactive_power', 'signal_strength', 'speed', 'sulphur_dioxide', 'temperature', 'timestamp', 'volatile_organic_compounds', 'voltage', 'volume', 'weight' for dictionary value @ data['device_class']

fmartinou commented 1 year ago

It should be fixed with 2.6.2 thank to the PR from @CyrilP (https://github.com/fmartinou/tydom2mqtt/pull/52)