So I tried something to that effect, and still no dice. I referenced this old thread that it looks like you may have been active in: https://groups.google.com/g/weewx-user/c/_ysq-eyjJrM/m/mJFiwufeCwAJ
within bin/user/units.py I have: import weewx import weewx.units weewx.units.obs_group_dict['extraTemp14'] = 'group_temperature' weewx.units.obs_group_dict['extraHumid14'] = 'group_percent' class Units(weewx.engine.StdService): pass Then in weewx.conf, I have: [Engine] # The following section specifies which services should be run and in what order. [[Services]] prep_services = weewx.engine.StdTimeSynch, user.units.Units data_services = process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate But then I still get the same errors. Anything else I am missing? On Thursday, October 5, 2023 at 4:57:06 PM UTC-4 bell...@gmail.com wrote: > You need to tell MQTTSubscribe/WeeWX what 'unit_group' 'extratemp14' > belongs to. If I remember correctly this is needed because MQTTSubscribe > uses WeeWX to perform the conversion. See, > https://www.weewx.com/docs/customizing.htm#Assigning_a_unit_group. So you > would want something like. > > import weewx.units > weewx.units.obs_group_dict['extratemp14'] = 'group_temperature' > > Where to add this, I'm not sure. I think the recommended place is in > __init__.py in the bin/user directory. > -rich > > On Thursday, 5 October 2023 at 14:59:07 UTC-4 bdf0506 wrote: > >> I've got a very long list of sensors and am now all the way up to >> ExtraTemp14 :). The extended database goes up to ExtraTemp9, so I've >> manually added to the database structure to allow for more. ExtraTemp10-13 >> are fine, but ExtraTemp14 is giving me a hard time since I need to tell it >> what units to come in with. ExtraTemp10-13 use default units. >> >> Here's the error I keep getting in the logs: >> >> Oct 5 14:29:57 weewx[19] ERROR weewx.engine: Import of driver failed: For >> extraTemp14 invalid units, degree_C. (<class 'ValueError'>) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** Traceback (most >> recent call last): >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/weewx/engine.py", line 119, in setupStation >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** self.console = >> loader_function(config_dict, self) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/user/MQTTSubscribe.py", line 1951, in loader >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** return >> MQTTSubscribeDriver(**config_dict[DRIVER_NAME]) # pragma: no cover >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/user/MQTTSubscribe.py", line 1977, in __init__ >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** self.subscriber = >> MQTTSubscriber(stn_dict, self.logger) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/user/MQTTSubscribe.py", line 1566, in __init__ >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** self.manager = >> TopicManager(self.archive_topic, topics_dict, self.logger) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/user/MQTTSubscribe.py", line 844, in __init__ >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** >> self.subscribed_topics[topic]['fields'][topic] = >> self._configure_field(topic_dict, topic_dict, topic, field_defaults) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** File >> "/home/weewx/bin/user/MQTTSubscribe.py", line 964, in _configure_field >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** raise >> ValueError("For %s invalid units, %s." % (field['name'], >> field_dict['units'])) >> Oct 5 14:29:57 weewx[19] CRITICAL weewx.engine: **** ValueError: For >> extraTemp14 invalid units, degree_C. >> Oct 5 14:29:57 weewx[19] CRITICAL __main__: Unable to load driver: For >> extraTemp14 invalid units, degree_C. >> Oct 5 14:29:57 weewx[19] CRITICAL __main__: **** Exiting... >> >> From my weewx.conf: >> >> xxxxxxxx >> >> [MQTTSubscribeDriver] >> # This section is for the MQTTSubscribe driver. >> >> # The driver to use: >> driver = user.MQTTSubscribe >> >> # The MQTT server. >> # Default is localhost. >> host = unraid.home >> >> # 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 = mqtt >> >> # password for broker authentication. >> # Default is None. >> password = mqtt >> >> # Configuration for the message callback. >> [[message_callback]] >> type = individual >> >> # for fields that aren't the default, specify them here. >> [[weewx]] >> [[[observations]]] >> extraTemp9 = group_temperature >> extraTemp10 = group_temperature >> extraTemp11 = group_temperature >> extraTemp12 = group_temperature >> extraTemp13 = group_temperature >> extraTemp14 = group_temperature >> extraTemp15 = group_temperature >> extraHumid9 = group_percent >> extraHumid10 = group_percent >> extraHumid11 = group_percent >> extraHumid12 = group_percent >> extraHumid13 = group_percent >> extraHumid14 = group_percent >> extraHumid15 = group_percent >> rain2 = group_rain >> windDir2 = group_direction >> windSpeed2 = group_speed >> outTemp2 = group_temperature >> outHumidity2 = group_percent >> luminosity = group_illuminance >> >> # The topics to subscribe to. >> [[topics]] >> unit_system = US >> [[[rtl_433/devices/Acurite-Tower/9235/temperature_C]]] >> name = extraTemp14 >> units = degree_C >> [[[rtl_433/devices/Acurite-Tower/9235/humidity]]] >> name = extraHumid14 >> [[[rtl_433/devices/Acurite-Tower/9235/battery_ok]]] >> name = batteryStatus14 >> >> xxxxxxxx >> >> It's struggling because I am telling it that the units are coming in >> degree_C and I need weewx to convert it. Is there a config file somewhere >> where I need to properly map the unit to extraTemp14? >> >> Thank you! >> >> -- 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/783cb1bb-a752-4ccf-aee4-39a048560ee6n%40googlegroups.com.