bellrichm / WeeWX-MQTTSubscribe

A WeeWX service and driver that receives data from MQTT.
GNU General Public License v3.0
52 stars 13 forks source link

MessageCallbackProvider on_message_json failed with <class 'user.MQTTSubscribe.ConversionError'> #181

Closed pwm802 closed 1 year ago

pwm802 commented 1 year ago

Hi I am trying to process some Tasmota MQTT topics and I am having these errors:

Jun 9 09:53:52 WeeWx-virtual-machine weewx[15718] DEBUG user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming topic: tele/living_room/SENSOR, QOS: 0, retain: 0, payload: b'{"Time":1686329632,"SI7021":{"Temperature":70.2,"Humidity":54.2,"DewPoint":52.8},"TempUnit":"F"}' Jun 9 09:53:52 WeeWx-virtual-machine weewx[15718] ERROR user.MQTTSubscribe: (Service) MessageCallbackProvider on_message_json failed with <class 'user.MQTTSubscribe.ConversionError'> and reason Failed converting field TempUnit with value F using 'lambda x: to_float(x)' with reason could not convert string to float: 'F'.. Jun 9 09:53:52 WeeWx-virtual-machine weewx[15718] ERROR user.MQTTSubscribe: (Service) **** MessageCallbackProvider Ignoring topic=tele/living_room/SENSOR and payload=b'{"Time":1686329632,"SI7021":{"Temperature":70.2,"Humidity":54.2,"DewPoint":52.8},"TempUnit":"F"}'

Here is the MQTT topic:

{"Time":1686329932,"SI7021":{"Temperature":70.2,"Humidity":54.2,"DewPoint":52.8},"TempUnit":"F"}

Here is the entry in weewx.conf:

[[topics]]
    conversion_error_to_none = True
    [[[tele/living_room/SENSOR]]]
        [[[[SI7021_Temerature]]]]
            name = inTemp
        [[[[SI7021_Humidity]]]]
            name = inHumidity
        [[[[SI7021_TempUnit]]]]
            ignore = true   
pwm802 commented 1 year ago

Never mind. TempUnit is not part of SI7021.