A GPS device in my RV sends the current coordinates via MQTT to my weewx server. The coordinates are displayed with units = None. Trying to change them to units = degree_compass or units = " °" results in the below error:
Aug 21 15:28:26 rvwx weewx[1590] DEBUG weewx.units: Unable to convert from None to ° Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: MQTT: Unexpected exception of type <class 'KeyError'> Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** Traceback (most recent call last): Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** File "/usr/share/weewx/weewx/restx.py", line 382, in run_loop Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** self.process_record(_record, dbmanager) Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** File "/usr/share/weewx/user/mqtt.py", line 516, in process_record Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** data = self.filter_data(record) Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** File "/usr/share/weewx/user/mqtt.py", line 496, in filter_data Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** v = weewx.units.convert(from_t, to_units)[0] Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** File "/usr/share/weewx/weewx/units.py", line 1454, in convert Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** conversion_func = conversionDict[val_t[1]][target_unit] Aug 21 15:28:26 rvwx weewx[1590] ERROR weewx.restx: *** KeyError: None Aug 21 15:28:26 rvwx weewx[1590] CRITICAL weewx.restx: MQTT: Thread terminating. Reason: None Here is the relevant section from weewx.conf to display coordinates in belchertown skin: [[MQTT]] server_url = mqtt:// zzzz:yy...@wxvm.bz3gfkrlqtrsc3sv.myfritz.net:1883/ <http://zzzz:y...@wxvm.bz3gfkrlqtrsc3sv.myfritz.net:1883/> topic = RV unit_system = METRIC binding = loop, archive log_success = true [[[inputs]]] [[[[latitude]]]] # units = " °" format = %.3f and MQTT subscribe to Write the GPS data received via MQTT into the weewx db: [MQTTSubscribeService] # This section is for the MQTTSubscribe service. # Turn the service on and off. # Default is: true # Only used by the service. enable = true log = true # The MQTT server. # Default is localhost. host = "wxvm.bz3gfkrlqtrsc3sv.myfritz.net" # The port to connect to. # Default is 1883. port = 1883 # Maximum period in seconds allowed between communications with the broker. # Default is 60. keepalive = 60 # username for broker authentication. # Default is None. username = xxxx # password for broker authentication. # Default is None. password = yyyy # The binding, loop or archive. # Default is: loop # Only used by the service. binding = loop # The message handler to use [[message_callback]] # The format of the MQTT payload. # Currently support: individual, json, keyword # Must be specified. type = json # The topics to subscribe to. [[topics]] # Units for MQTT payloads without unit value. # Valid values: US, METRIC, METRICWX # Default is: US unit_system = US # adjust_start_time = 1 use_server_datetime = True use_topic_as_fieldname = true [[[RVGPS/#]]] # The WeeWX name. # Default is the name from MQTT. #name = Latitude # True if the incoming data should not be processed into WeeWX. # Valid values: True, False # Default is False ignore = False # True if the incoming data is cumulative. # Valid values: True, False # Default is False # contains_total = False # The conversion type necessary for WeeWX compatibility # Valid values: bool, float, int, none # Default is float # conversion_type = int # The units of the incoming data. # Useful if this field's units differ from the topic's unit_system's units. # Valid values: see, http://www.weewx.com/docs/customizing.htm#units # Default is not set # units = degree_compass [image: Screenshot 2024-08-21 at 15.40.43.png] This is how it Looks on belchertown skin with units = None, e.g. no change of units intented. TIA, Stefan -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/a9592842-2b05-46f6-9959-1e9cf791edcan%40googlegroups.com.