Read the web pages top to bottom a couple times (link) <https://github.com/bellrichm/WeeWX-MQTTSubscribe>. They are there for a reason. You might need to read it top to bottom a couple times. Invest the time. Do what it says.
Rather than randomly trying to hit a good configuration, definitely do the configuration and testing steps starting at (link) <https://github.com/bellrichm/WeeWX-MQTTSubscribe/tree/master?tab=readme-ov-file#create-an-example-configuration> and do what the documentation says. That will output a validly formatted template file you can edit to match your setup and test. Pay particular attention to the comments in the template file it'll generate. Rich's driver/service is a little unusual in that it seems to have an installer to even do the right thing to put it into place, but I haven't tried that personally. On Friday, October 17, 2025 at 12:06:14 PM UTC-7 James Michael Wall wrote: > So, I must be doing something wrong, not sure what though. I am attaching > my updated weewx.conf file, and the error that it generated. > > On Tuesday, October 14, 2025 at 4:49:43 PM UTC-7 vince wrote: > >> Your weewx.conf section looks incomplete/incorrect. You are missing all >> the configuration info you need to add. >> >> If you look at the examples in >> https://github.com/bellrichm/WeeWX-MQTTSubscribe/tree/master/exampleConfigs >> they should give you the basic format needed although you’ll need to figure >> out your custom mapping of data to weewx database fields. >> >> >> On Tuesday, October 14, 2025 at 4:28:06 PM UTC-7 James Michael Wall wrote: >> >>> Also, >>> >>> Sorry, I forgot to provide WeeWX status, FWIW: >>> >>> $ systemctl status weewx >>> × weewx.service - WeeWX >>> Loaded: loaded (/lib/systemd/system/weewx.service; enabled; preset: >>> enabled) >>> Active: failed (Result: exit-code) since Tue 2025-10-14 16:24:18 >>> PDT; 2s ago >>> Duration: 903ms >>> Docs: https://weewx.com/docs >>> Process: 4176 ExecStart=weewxd /etc/weewx/weewx.conf (code=exited, >>> status=4) >>> Main PID: 4176 (code=exited, status=4) >>> CPU: 904ms >>> >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> File "/etc/weewx/bin/user/MQTTSubscribe.py", line 2011, in __init__ >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> super().__init__(service_dict, logger) >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> File "/etc/weewx/bin/user/MQTTSubscribe.py", line 1751, in __init__ >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> raise ValueError("[[topics]] is required.") >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL weewx.engine: **** >>> ValueError: [[topics]] is required. >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL __main__: Unable to load >>> driver: [[topics]] is required. >>> Oct 14 16:24:18 Zero2W-1 weewxd[4176]: CRITICAL __main__: **** >>> Exiting... >>> Oct 14 16:24:18 Zero2W-1 systemd[1]: weewx.service: Main process exited, >>> code=exited, status=4/NOPERMISSION >>> Oct 14 16:24:18 Zero2W-1 systemd[1]: weewx.service: Failed with result >>> 'exit-code'. >>> >>> On Tuesday, October 14, 2025 at 3:55:38 PM UTC-7 James Michael Wall >>> wrote: >>> >>>> Hello, >>>> >>>> I am new to using WeeWX, and am having trouble getting the >>>> MQTTSubscribe driver to work properly. I am following the directions found >>>> at https://github.com/bellrichm/WeeWX-MQTTSubscribe as best as I can, >>>> but some of it is hard for me to understand. My basic understanding of >>>> WeeWX and MQTT is very limited, so I am going to do the best I can to >>>> explain my problem, provide whatever information necessary, and >>>> (hopefully) >>>> get this issue resolved so I can get my weather station working. >>>> >>>> Here is my Hardware/Software Setup Overview: >>>> >>>> *Weather Station/MQTT Client/MQTT Publisher:* >>>> >>>> BC-Robotics 1591B Weatherboard >>>> <https://bc-robotics.com/shop/raspberry-pi-pico-1591b-weather-board/> >>>> with Raspberry Pico 2W >>>> <https://www.raspberrypi.com/products/raspberry-pi-pico-2/>, running >>>> MicroPython v1.26.1-2025-09-11. This device is collecting, parsing, and >>>> sending data from various weather sensors connected to it over WiFi on my >>>> local LAN using umqttsimple. This device is set up as an MQTT client, >>>> which >>>> publishes the sensor data using the topic "weatherpi" to the MQTT broker >>>> on >>>> the Raspberry Pi Zero 2W listed below. >>>> >>>> *Weather Reciever/MQTT Server/MQTT Broker/MQTT Subscriber/WeeWX Server:* >>>> >>>> Raspberry Pi Zero 2W >>>> <https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/>, running >>>> Raspberry OS "Bookworm" with WeeWX version 5.1.0-4 installed as a Debian >>>> package via the WeeWX debian repo instructions. I have installed >>>> Mosquitto >>>> version 2.0.11, and python3-paho-mqtt 1.6.1-1. I set up Mosquitto to act >>>> as >>>> an MQTT broker on this device, subscribed to the topic "weatherpi", which >>>> is published by the Pico. I have installed the MQTTSubscribe driver per >>>> the instructions found in the Github link above. >>>> >>>> AFAICT, I have everything set up correctly on the Pico, and it is >>>> publishing successfully to the Mosquitto MQTT server, but when I run sudo >>>> weectl station reconfigure, after going through all the prompts, I get the >>>> following error: >>>> >>>> Traceback (most recent call last): >>>> File "/usr/share/weewx/weectl.py", line 75, in <module> >>>> main() >>>> File "/usr/share/weewx/weectl.py", line 67, in main >>>> namespace.func(namespace) >>>> File "/usr/share/weewx/weectllib/__init__.py", line 90, in dispatch >>>> namespace.action_func(config_dict, namespace) >>>> File "/usr/share/weewx/weectllib/station_cmd.py", line 311, in >>>> reconfigure_station >>>> >>>> weectllib.station_actions.station_reconfigure(config_dict=config_dict, >>>> File "/usr/share/weewx/weectllib/station_actions.py", line 164, in >>>> station_reconfigure >>>> config_config(config_dict, >>>> File "/usr/share/weewx/weectllib/station_actions.py", line 207, in >>>> config_config >>>> config_driver(config_dict, driver=driver, no_prompt=no_prompt) >>>> File "/usr/share/weewx/weectllib/station_actions.py", line 466, in >>>> config_driver >>>> settings = weecfg.prompt_for_driver_settings(final_driver, >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> File "/usr/share/weewx/weecfg/__init__.py", line 520, in >>>> prompt_for_driver_settings >>>> settings = editor.prompt_for_settings() >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> File "/etc/weewx/bin/user/MQTTSubscribe.py", line 2424, in >>>> prompt_for_settings >>>> if len(self.existing_options['topics']) > 1: >>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ >>>> File "/usr/lib/python3/dist-packages/configobj/__init__.py", line >>>> 554, in __getitem__ >>>> val = dict.__getitem__(self, key) >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> KeyError: 'topics'. >>>> >>>> In following the directions given in the top of the weewx-user group >>>> with regard to posting, I am attaching my weewx.conf file, and system log >>>> from the RP Zero using the following command: journalctl -xe | grep weewx >>>> to this post. The other information requested is listed above. If you need >>>> anything else, please let me know, I am happy to help. >>>> >>>> -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/b0063566-0648-4b65-b84b-12b91ac97a2dn%40googlegroups.com.
