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/30854714-659e-49d0-b869-b4899d4fdbb7n%40googlegroups.com.