Thanks for looking into this for me.  I feel like I've read a bunch of 
pages and that I'm really close to this.  I've attached my weewx.conf, 
mosquitto.conf, and local.conf (located at /etc/mosquitto/conf.d/).

Looking at the mosquitto log file, I'm seeing this error a ton of times:

1722824003: mosquitto version 2.0.11 starting
1722824003: Config loaded from /etc/mosquitto/mosquitto.conf.
1722824003: Opening websockets listen socket on port 9001.
1722824003: Opening ipv4 listen socket on port 1883.
1722824003: Opening ipv6 listen socket on port 1883.
1722824003: Opening ipv4 listen socket on port 1883.
1722824003: Error: Address already in use

Although ps -ef is only showing one mosquitto running which I see the 
service running with systemctl.

On Monday, August 5, 2024 at 9:04:15 PM UTC-4 vince wrote:

> Can't help without seeing your current mosquitto config file and your 
> weewx.conf file at a minimum.   Remember you need to restart weewx after 
> making weewx.conf changes and that your mosquitto broker is running and 
> accepting incoming traffic into the ip address you are trying to talk to.
>
> You might check your mosquitto broker's logfile too to see if anything 
> there is being logged that might help.
>
> On Sunday, August 4, 2024 at 8:12:53 PM UTC-7 M&M wrote:
>
>> Vince, I followed that link and I'm making some progress.  Thank you.  I 
>> now get the message on my local page:
>>
>>
>> Connected. Waiting for data. Last Updated 4 August 2024, 23:00:00
>>
>> I've been reading over some threads of people having the same issue but 
>> those fixes are not working for me.  Thoughts?
>>
>> On Friday, August 2, 2024 at 4:01:58 PM UTC-4 Stefanos Kalaitzis wrote:
>>
>>>
>>> Try this in weewx.conf :** but be careful with the unit_system 
>>> [[MQTT]]
>>>         topic = your_topic
>>>         unit_system = METRICWX
>>>         binding = loop
>>>         aggregation = aggregate
>>>         log_success = false
>>>         log_failure = true
>>>         server_url = mqtt://broker.hivemq.com:1883
>>>
>>>       [[[inputs]]]
>>>             [[[[windSpeed]]]]
>>>                 units = km_per_hour
>>>             [[[[windGust]]]]
>>>                 units = km_per_hour
>>>
>>> In belchertown stanza :
>>>
>>>
>>> #--- MQTT Websockets (for Real Time Streaming) Options ---
>>>             mqtt_websockets_enabled = 1
>>>
>>>             mqtt_websockets_host = broker.hivemq.com
>>>             mqtt_websockets_port = 8884
>>>             mqtt_websockets_ssl = 1
>>>             mqtt_websockets_topic = yourtopic/loop
>>>             # disconnect_live_website_visitor = 1800000
>>>
>>> **Change only the topic and the unit system you are using. Because i am 
>>> writing from mobile please forgive me if something is strange to your eyes.
>>>
>>> Στις Παρ 2 Αυγ 2024, 21:42 ο χρήστης vince <vince...@gmail.com> έγραψε:
>>>
>>>> You're probably overthinking. It's really very simple.   You don't need 
>>>> SSL if you're just going to run on your LAN.  You likely don't even need 
>>>> to 
>>>> password protect it either if you are LAN only.
>>>>
>>>> See the example starting at line 72 of 
>>>> https://github.com/vinceskahan/weewx-odds-and-ends/blob/master/install-belchertown-websockets
>>>>  
>>>> for the minimal mosquitto MQTT server setup that works for me.
>>>>
>>>> On Friday, August 2, 2024 at 10:56:59 AM UTC-7 M&M wrote:
>>>>
>>>>> I've read a bunch about MQTT, Belchertown, and Weewx so I thought I 
>>>>> would able to get this working.  From the pages I read on github and 
>>>>> such, 
>>>>> it didn't seem like it took a lot of configuration to mosquitto to get it 
>>>>> working.  From the links I posted above that I followed, it didn't seem 
>>>>> that I needed to have SSL certs working yet to get it working locally.  I 
>>>>> figured I would do that first before venturing out to get this working on 
>>>>> a 
>>>>> website.  So I'll go back and see what I can configure to get the certs 
>>>>> added to my conf files.
>>>>>
>>>>> Do you have any websites that you suggest to use to get this working?  
>>>>> I feel like I'm close.
>>>>>
>>>>> On Friday, August 2, 2024 at 8:41:28 AM UTC-4 gary....@gmail.com 
>>>>> wrote:
>>>>>
>>>>>> I see you haven't done much research.
>>>>>> If you want to understand this and get the Belchertown skin to work, 
>>>>>> you need to do some.
>>>>>> A default mosquitto.conf isn't going to work as you want.
>>>>>> You will likely need SSL certs in order to have websockets work via 
>>>>>> the internet vs local LAN.
>>>>>> You should have writing to mosquitto password protected, but 
>>>>>> allow anonymous reading.
>>>>>>
>>>>>> When MQTT/Websockets works, it is great. Getting there requires a 
>>>>>> passing familiarity with the care and feeding of mosquitto.
>>>>>>
>>>>>> On Thursday, August 1, 2024 at 11:38:28 PM UTC-4 M&M wrote:
>>>>>>
>>>>>>> Where can I find out if I have acl?
>>>>>>>
>>>>>>> My mosquitto.conf file looks a bit different.  I didn't change any 
>>>>>>> of it after it was installed besides the two listener lines.  It looks 
>>>>>>> like 
>>>>>>> this:
>>>>>>>
>>>>>>> pi@raspberrypi:~ $ more /etc/mosquitto/mosquitto.conf
>>>>>>> # Place your local configuration in /etc/mosquitto/conf.d/
>>>>>>> #
>>>>>>> # A full description of the configuration file is at
>>>>>>> # /usr/share/doc/mosquitto/examples/mosquitto.conf.example
>>>>>>>
>>>>>>> pid_file /run/mosquitto/mosquitto.pid
>>>>>>>
>>>>>>> persistence true
>>>>>>> persistence_location /var/lib/mosquitto/
>>>>>>>
>>>>>>> log_dest file /var/log/mosquitto/mosquitto.log
>>>>>>>
>>>>>>> include_dir /etc/mosquitto/conf.d
>>>>>>>
>>>>>>> listener 1883
>>>>>>> listener 9001
>>>>>>> protocol websockets
>>>>>>>
>>>>>>> On Thursday, August 1, 2024 at 9:38:48 AM UTC-4 gary....@gmail.com 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Do you have an acl and does it resemble this?
>>>>>>>> # Allow anonymous access to the sys
>>>>>>>> topic read $SYS/#
>>>>>>>>  
>>>>>>>> # Allow anonymous to read weather
>>>>>>>> topic read weather/#
>>>>>>>> topic read tester/#
>>>>>>>>  
>>>>>>>> # weewx readwrite to the loop
>>>>>>>> user weewx
>>>>>>>> topic weather/#
>>>>>>>> topic tester/#
>>>>>>>>
>>>>>>>> Did you create a password for the weewx user (not the linux user, 
>>>>>>>> the mqtt user)?
>>>>>>>>
>>>>>>>> Does your mosquitto conf file resemble this?
>>>>>>>> persistence false
>>>>>>>> allow_anonymous true
>>>>>>>> password_file /etc/mosquitto/pwfile
>>>>>>>> acl_file /etc/mosquitto/acl
>>>>>>>> # Insecure mqtt to localhost only, and secure mqtt
>>>>>>>> listener 1883
>>>>>>>> listener 8883
>>>>>>>> certfile /etc/mosquitto/certs/cert.pem
>>>>>>>> cafile /etc/mosquitto/certs/chain.pem
>>>>>>>> keyfile /etc/mosquitto/certs/privkey.pem
>>>>>>>> protocol mqtt
>>>>>>>>  
>>>>>>>> # websockets
>>>>>>>> listener 8080
>>>>>>>> certfile /etc/mosquitto/certs/cert.pem
>>>>>>>> cafile /etc/mosquitto/certs/chain.pem
>>>>>>>> keyfile /etc/mosquitto/certs/privkey.pem
>>>>>>>> protocol websockets
>>>>>>>> On Wednesday, July 31, 2024 at 11:47:46 PM UTC-4 M&M wrote:
>>>>>>>>
>>>>>>>>> I checked mosquitto.conf and it has "listener 1883" in it.  I also 
>>>>>>>>> disabled my pihole and checked that my raspberry pi is listening on 
>>>>>>>>> port 
>>>>>>>>> 1883.  
>>>>>>>>>
>>>>>>>>> On Friday, July 26, 2024 at 11:23:25 PM UTC-4 M&M wrote:
>>>>>>>>>
>>>>>>>>>> I checked journalctl and now I'm seeing this error:
>>>>>>>>>>
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd[1141]: ERROR 
>>>>>>>>>> user.ambientweatherapi: AmbientAPI get_devices() returned empty dict
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd.py[1141]: ambientweatherapi 
>>>>>>>>>> driver encountered an error.
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd[1141]: ERROR 
>>>>>>>>>> user.ambientweatherapi: ambientweatherapi driver encountered an 
>>>>>>>>>> error.
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd.py[1141]: Error caught was: 
>>>>>>>>>> AmbientAPI get_devices() returned empty dict
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd[1141]: ERROR 
>>>>>>>>>> user.ambientweatherapi: Error caught was: AmbientAPI get_devices() 
>>>>>>>>>> returned 
>>>>>>>>>> empty dict
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd.py[1141]: ambientweatherapi 
>>>>>>>>>> driver had an error sending data to weewx.
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd[1141]: ERROR 
>>>>>>>>>> user.ambientweatherapi: ambientweatherapi driver had an error 
>>>>>>>>>> sending data 
>>>>>>>>>> to weewx.
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd.py[1141]: Error caught was: 
>>>>>>>>>> Previous error occured, skipping packet build.
>>>>>>>>>> Jul 26 23:16:30 raspberrypi weewxd[1141]: ERROR 
>>>>>>>>>> user.ambientweatherapi: Error caught was: Previous error occured, 
>>>>>>>>>> skipping 
>>>>>>>>>> packet build.
>>>>>>>>>>
>>>>>>>>>> On Friday, July 26, 2024 at 11:20:51 PM UTC-4 M&M wrote:
>>>>>>>>>>
>>>>>>>>>>> Making some progress.  I am back to having weewx running and I 
>>>>>>>>>>> now have mosquito running as well.  I was able to test that service 
>>>>>>>>>>> by 
>>>>>>>>>>> mosquitto_sub and mosquitto_pub which worked by sending "hello 
>>>>>>>>>>> world".  
>>>>>>>>>>> However when I check my local Belchertown page, it now says this at 
>>>>>>>>>>> the top:
>>>>>>>>>>>
>>>>>>>>>>> Failed connecting to the weather station. Please try again 
>>>>>>>>>>> later! Last Updated 26 July 2024, 23:10:00
>>>>>>>>>>>
>>>>>>>>>>> On Friday, July 26, 2024 at 2:02:17 PM UTC-4 M&M wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Oh thats right!  I edited the /etc/default/locales file.  I 
>>>>>>>>>>>> changed it from en_GB.UTF-8 to en_US.UTF-8 since I was trying to 
>>>>>>>>>>>> fix the 
>>>>>>>>>>>> time in Belchertown skin to show a 12h time format.  I believe I 
>>>>>>>>>>>> fixed it 
>>>>>>>>>>>> and for some reason, i decided to edit the locales file.  I'll 
>>>>>>>>>>>> change that 
>>>>>>>>>>>> back when I get to that system.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks.  I believe that is what will fix it.
>>>>>>>>>>>>
>>>>>>>>>>>> On Friday, July 26, 2024 at 12:17:42 PM UTC-4 vince wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://stackoverflow.com/questions/14547631/python-locale-error-unsupported-locale-settling
>>>>>>>>>>>>>
>>>>>>>>>>>>> Have you messed with system locale at the os level or edited 
>>>>>>>>>>>>> it in some weewx or mqtt config file ? There have been some 
>>>>>>>>>>>>> skeletal 
>>>>>>>>>>>>> reports about this over the years but I've never really 
>>>>>>>>>>>>> understood the 
>>>>>>>>>>>>> explanations.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Friday, July 26, 2024 at 3:41:42 AM UTC-7 Mark Jenks wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Make sure MQTT is running correctly. You can test it via 
>>>>>>>>>>>>>> CLI.     This page goes into configuring a cert, you can stop 
>>>>>>>>>>>>>> reading at 
>>>>>>>>>>>>>> that point.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> https://medium.com/gravio-edge-iot-platform/how-to-set-up-a-mosquitto-mqtt-broker-securely-using-client-certificates-82b2aaaef9c8
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday, July 25, 2024 at 10:27:54 PM UTC-5 M&M wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also I tried commenting out all of the MQTT lines in 
>>>>>>>>>>>>>>> weewx.conf so that I could get the service running again but it 
>>>>>>>>>>>>>>> isn't 
>>>>>>>>>>>>>>> running at all.  Giving me the same error as I posted above.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thursday, July 25, 2024 at 11:11:15 PM UTC-4 M&M wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm getting closer.  Mosquito service is running but weewx 
>>>>>>>>>>>>>>>> gives me the follow error in journalctl:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Jul 25 22:59:55 raspberrypi weewxd[25852]: INFO __main__: 
>>>>>>>>>>>>>>>> Terminating weewx version 5.0.2
>>>>>>>>>>>>>>>> Jul 25 22:59:55 raspberrypi systemd[1]: weewx.service: 
>>>>>>>>>>>>>>>> Succeeded.
>>>>>>>>>>>>>>>> Jul 25 22:59:55 raspberrypi systemd[1]: Stopped WeeWX.
>>>>>>>>>>>>>>>> Jul 25 22:59:55 raspberrypi systemd[1]: weewx.service: 
>>>>>>>>>>>>>>>> Consumed 3h 44min 13.462s CPU time.
>>>>>>>>>>>>>>>> Jul 25 23:00:51 raspberrypi systemd[1]: Started WeeWX.
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]: INFO __main__: 
>>>>>>>>>>>>>>>> Initializing weewxd version 5.0.2
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]: INFO __main__: 
>>>>>>>>>>>>>>>> Command line: /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]: Traceback (most 
>>>>>>>>>>>>>>>> recent call last):
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/usr/share/weewx/weewxd.py", line 265, in <module>
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     main()
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/usr/share/weewx/weewxd.py", line 107, in main
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     weewx_root, 
>>>>>>>>>>>>>>>> user_module = weeutil.startup.initialize(config_dict)
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/usr/share/weewx/weeutil/startup.py", line 67, in initialize
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     
>>>>>>>>>>>>>>>> importlib.import_module('user.extensions')
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/usr/lib/python3.9/importlib/__init__.py", line 127, in 
>>>>>>>>>>>>>>>> import_module
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     return 
>>>>>>>>>>>>>>>> _bootstrap._gcd_import(name[level:], package, level)
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap>", line 1030, in _gcd_import
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap>", line 1007, in _find_and_load
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap>", line 986, in _find_and_load_unlocked
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap>", line 680, in _load_unlocked
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap_external>", line 790, in exec_module
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File "<frozen 
>>>>>>>>>>>>>>>> importlib._bootstrap>", line 228, in _call_with_frames_removed
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/etc/weewx/bin/user/extensions.py", line 18, in <module>
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     
>>>>>>>>>>>>>>>> locale.setlocale(locale.LC_ALL, '')
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:   File 
>>>>>>>>>>>>>>>> "/usr/lib/python3.9/locale.py", line 610, in setlocale
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]:     return 
>>>>>>>>>>>>>>>> _setlocale(category, locale)
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi weewxd[28347]: locale.Error: 
>>>>>>>>>>>>>>>> unsupported locale setting
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi systemd[1]: weewx.service: Main 
>>>>>>>>>>>>>>>> process exited, code=exited, status=1/FAILURE
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi systemd[1]: weewx.service: 
>>>>>>>>>>>>>>>> Failed with result 'exit-code'.
>>>>>>>>>>>>>>>> Jul 25 23:00:53 raspberrypi systemd[1]: weewx.service: 
>>>>>>>>>>>>>>>> Consumed 2.050s CPU time.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thursday, July 25, 2024 at 1:47:21 PM UTC-4 vince wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Pat's docs are authoritative for Belchertown and the MQTT 
>>>>>>>>>>>>>>>>> stuff looks ok to me.  Just follow that.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> https://github.com/weewx/weewx/wiki/mqtt has Tom's 
>>>>>>>>>>>>>>>>> instructions for installing the MQTT extension.  You can 
>>>>>>>>>>>>>>>>> check it at least 
>>>>>>>>>>>>>>>>> minimally by running "weectl extension list" and it should 
>>>>>>>>>>>>>>>>> show up in the 
>>>>>>>>>>>>>>>>> list of installed extensions.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Your config file stuff for weewx that you posted looked ok 
>>>>>>>>>>>>>>>>> to me.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thursday, July 25, 2024 at 9:54:13 AM UTC-7 M&M wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> That is correct that I have the MQTT installed as an 
>>>>>>>>>>>>>>>>>> extension for weewx which is running on the pi.  I checked 
>>>>>>>>>>>>>>>>>> for a 
>>>>>>>>>>>>>>>>>> mqtt.service and I'm not seeing one on there.  I'm also not 
>>>>>>>>>>>>>>>>>> seeing a 
>>>>>>>>>>>>>>>>>> mosquitto_sub or pub installed so I think I must have missed 
>>>>>>>>>>>>>>>>>> anothe page to 
>>>>>>>>>>>>>>>>>> get this installed and working.  From searching around right 
>>>>>>>>>>>>>>>>>> now, it looks 
>>>>>>>>>>>>>>>>>> like I need to follow this page:  
>>>>>>>>>>>>>>>>>> https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm hoping to get this on a website that doesn't cost 
>>>>>>>>>>>>>>>>>> anything but one step at a time.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Am I on the right track?  
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wednesday, July 24, 2024 at 10:50:45 PM UTC-4 vince 
>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Connection refused generally means the remote computer 
>>>>>>>>>>>>>>>>>>> is not accepting incoming connections on that port.   It 
>>>>>>>>>>>>>>>>>>> looks to me like 
>>>>>>>>>>>>>>>>>>> you are trying to connect to the MQTT server on the same pi 
>>>>>>>>>>>>>>>>>>> ?   Did you 
>>>>>>>>>>>>>>>>>>> enable and start the MQTT server ?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Did you test it with mosquitto_sub and mosquitto_pub to 
>>>>>>>>>>>>>>>>>>> know that the MQTT server is working ok ?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> The authoritative belchertown docs are at 
>>>>>>>>>>>>>>>>>>> https://github.com/poblabs/weewx-belchertown?tab=readme-ov-file#mqtt-and-mqtt-websockets-optional
>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>> if you haven't gone through them already.  Note that it has 
>>>>>>>>>>>>>>>>>>> a prerequisite 
>>>>>>>>>>>>>>>>>>> to install the MQTT extension which itself has prerequisite 
>>>>>>>>>>>>>>>>>>> python modules.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Test with mosquitto_sub/pub first to know your MQTT 
>>>>>>>>>>>>>>>>>>> server is working as desired, then do the weewx part.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wednesday, July 24, 2024 at 7:30:33 PM UTC-7 M&M 
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Somewhat of a new user here to Weewx.  I am running it 
>>>>>>>>>>>>>>>>>>>> on a Raspberry Pi Zero W (192.168.0.196) and also 
>>>>>>>>>>>>>>>>>>>> installed the Belchertown 
>>>>>>>>>>>>>>>>>>>> skin.  I followed these steps (
>>>>>>>>>>>>>>>>>>>> https://www.wxforum.net/index.php?topic=43377.0) to 
>>>>>>>>>>>>>>>>>>>> install and configure MQTT but I'm running into some 
>>>>>>>>>>>>>>>>>>>> errors.  Here is what 
>>>>>>>>>>>>>>>>>>>> part of my weewx.conf file looks like for the MQTT stuff:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     [[MQTT]]
>>>>>>>>>>>>>>>>>>>>         server_url = mqtt://
>>>>>>>>>>>>>>>>>>>> random_username:random_...@192.168.0.196:1883 
>>>>>>>>>>>>>>>>>>>> <http://random_username:random_password@192.168.0.196:1883>
>>>>>>>>>>>>>>>>>>>>         unit_system = US
>>>>>>>>>>>>>>>>>>>>         topic = weather
>>>>>>>>>>>>>>>>>>>>         binding = archive, loop
>>>>>>>>>>>>>>>>>>>>         aggregation = aggregate
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     [[Belchertown]]
>>>>>>>>>>>>>>>>>>>>         skin = Belchertown
>>>>>>>>>>>>>>>>>>>>         HTML_ROOT = /var/www/html/weewx/belchertown
>>>>>>>>>>>>>>>>>>>>         enable = true
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>         [[[Extras]]]
>>>>>>>>>>>>>>>>>>>>             #--- MQTT Websockets (for Real Time 
>>>>>>>>>>>>>>>>>>>> Streaming) Options ---
>>>>>>>>>>>>>>>>>>>>             mqtt_websockets_enabled = 1
>>>>>>>>>>>>>>>>>>>>             mqtt_websockets_host = 192.168.0.x
>>>>>>>>>>>>>>>>>>>>             mqtt_websockets_port = 9001
>>>>>>>>>>>>>>>>>>>>             mqtt_websockets_ssl = 0
>>>>>>>>>>>>>>>>>>>>             mqtt_websockets_topic = weather/loop
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I also added user.mqtt.MQTT to restful_services at the 
>>>>>>>>>>>>>>>>>>>> end of the file.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The error I'm seeing in journalctl is:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Jul 24 22:16:40 raspberrypi weewxd[25776]: ERROR 
>>>>>>>>>>>>>>>>>>>> user.mqtt: Failed to connect to MQTT server (mqtt://
>>>>>>>>>>>>>>>>>>>> random_username:x...@192.168.0.196:1883 
>>>>>>>>>>>>>>>>>>>> <http://random_username:xxx@192.168.0.196:1883>): 
>>>>>>>>>>>>>>>>>>>> [Errno 111] Connection refused
>>>>>>>>>>>>>>>>>>>> Jul 24 22:16:40 raspberrypi weewxd[25776]: ERROR 
>>>>>>>>>>>>>>>>>>>> weewx.restx: MQTT: Failed to publish record 2024-07-24 
>>>>>>>>>>>>>>>>>>>> 22:15:00 EDT 
>>>>>>>>>>>>>>>>>>>> (1721873700): MQTT client not available
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Any ideas what I'm missing?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> -- 
>>>> 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+...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/weewx-user/81877241-40e9-426e-ae14-1d2d709008ecn%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/weewx-user/81877241-40e9-426e-ae14-1d2d709008ecn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
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/1947876e-66be-4268-a135-8792b26f79d2n%40googlegroups.com.
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example


listener 9001
protocol websockets

listener 1883
allow_anonymous true
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2024 Tom Keffer <tkef...@gmail.com>
# See the file LICENSE.txt for your rights.

##############################################################################

# This section is for general configuration information.

# Set to 1 for extra debug info, otherwise comment it out or set to zero.
debug = 0

# Whether to log successful operations. May get overridden below.
log_success = True

# Whether to log unsuccessful operations. May get overridden below.
log_failure = True

# This configuration file was created by ...
version = 5.0.2

##############################################################################

#   This section is for information about the station.

[Station]
    
    # Description of the station location, such as your town.
    location = "XXXXXXXXXXXXX"
    
    # Latitude in decimal degrees. Negative for southern hemisphere.
    latitude = XXXX
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = -YYYY
    
    # Altitude of the station, with the unit it is in. This is used only
    # if the hardware cannot supply a value.
    altitude = XXX, foot    # Choose 'foot' or 'meter' for unit
    
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file, which includes a value for the 'driver' option.
    station_type = ambientweatherapi
    
    # If you have a website, you may specify an URL
    station_url = https://www.wunderground.com/dashboard/pws/XXXXX
    
    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 1
    
    # Start of week (0=Monday, 6=Sunday)
    week_start = 6

##############################################################################

[ambientweatherapi]
    # This section for the AmbientWeatheAPI driver for weewx
    
    # The time (in seconds) between LOOP packets and getting API data
    # The ObserverIP only pushes data every 60 seconds.
    loop_interval = 60
    
    #API Log level
    log_level = ERROR
    
    aw_debug = 1
    
    #Log file location
    log_file = /var/log/weewx.log
    
    #URL to the Ambient Weather API
    #api_url = https://api.ambientweather.net/v1
    api_url = XXXXXXXXXXXX
    
    #Ambient Weather API App Key
    api_app_key = XXXXXXXXXXXXXXXXXXX
    
    #Ambient Weather API Key
    api_key = YYYYYYYYYYYYYYYYYYYYYYYY
    
    #MAC Address of station to reutrn data (default is the first station in the 
list.)
    #station_mac = 'E8:DB:84:E3:DA:CC'
    
    #Ambient Weather Use Meteobridge (default if False)
    #use_meteobridge = ''
    
    # Name of Hardware device.
    hardware = Ambient Weather WS-2902
    
    # The driver to use:
    driver = user.ambientweatherapi

##############################################################################

[Simulator]
    # This section is for the weewx weather station simulator.
    
    # The time (in seconds) between LOOP packets.
    loop_interval = 2.5
    
    # The simulator mode can be either 'simulator' or 'generator'.
    # Real-time simulator. Sleep between each LOOP packet.
    mode = simulator
    # Generator.  Emit LOOP packets as fast as possible (useful for testing).
    #mode = generator
    
    # The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the
    # default is to use the present time.
    #start = 2011-01-01T00:00
    
    # The driver to use.
    driver = weewx.drivers.simulator

##############################################################################

[WS28xx]
    # This section is for the La Crosse WS-2800 series of weather stations.
    
    # Radio frequency to use between USB transceiver and console: US or EU
    # US uses 915 MHz, EU uses 868.3 MHz.  Default is US.
    transceiver_frequency = US
    
    # The station model, e.g., 'LaCrosse C86234' or 'TFA Primus'
    model = Ambient Weather WS-2902
    
    # The driver to use:
    driver = weewx.drivers.ws28xx

#[ambientweatherapi]
#    driver = user.ambientweatherapi
#    loop_interval = 120
#    api_url = https://api.ambientweather.net/v1
#    api_app_key = XXXXXXXXXXXXXXXX
#    api_key = YYYYYYYYYYYYYYY
#    hardware = My Weather Station

##############################################################################

[Interceptor]
    # This section is for the network traffic interceptor driver.
    
    # The driver to use:
    driver = user.interceptor
    
    # Specify the hardware device to capture. Options include:
    #   acurite-bridge - acurite internet bridge, smarthub, or access
    #   observer - fine offset WH2600/HP1000/HP1003, ambient WS2902
    #   lw30x - oregon scientific LW301/LW302
    #   lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
    #   ecowitt-client - any hardware that uses the ecowitt protocol
    #   wu-client - any hardware that uses the weather underground protocol
    device_type = acurite-bridge

##############################################################################

#   This section is for uploading data to Internet sites

[StdRESTful]
    
    # Uncomment and change to override logging for uploading services.
    # log_success = True
    # log_failure = True
    
    [[StationRegistry]]
        # To register this weather station at weewx.com, set this to true, and
        # set option 'station_url', located in the [Station] section above.
        register_this_station = True
    
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
        
        # If you wish to post to AWEKAS, set the option 'enable' to true, then
        # specify a username and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        username = replace_me
        password = replace_me
    
    [[CWOP]]
        # This section is for configuring posts to CWOP.
        
        # If you wish to post to CWOP, set the option 'enable' to true,
        # then specify the station ID (e.g., CW1234).
        enable = false
        station = replace_me
        # If this is an APRS (radio amateur) station, specify the
        # passcode (e.g., 12345). Otherwise, ignore.
        passcode = replace_me
    
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
        
        # If you wish to post to PWSweather.com, set the option 'enable' to
        # true, then specify a station and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        station = replace_me
        password = replace_me
    
    [[WOW]]
        # This section is for configuring posts to WOW.
        
        # If you wish to post to WOW, set the option 'enable' to true, then
        # specify a station and password.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        station = replace_me
        password = replace_me
    
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
        
        # If you wish to post to the Weather Underground, set the option
        # 'enable' to true,  then specify a station (e.g., 'KORHOODR3'). Use
        # the station key (find it at
        # https://www.wunderground.com/member/devices) for the password.
        enable = false
        station = replace_me
        password = replace_me
        
        # Set the following to True to have weewx use the WU "Rapidfire"
        # protocol. Not all hardware can support it. See the User's Guide.
        rapidfire = False
    [[MQTT]]
        server_url = mqtt://192.168.0.196:1883
        unit_system = US
        topic = weather/loop
        binding = archive, loop
        aggregation = aggregate
        log_success = false
        log_failure = true

##############################################################################

#   This section specifies what reports, using which skins, to generate.

[StdReport]
    
    # Where the skins reside, relative to WEEWX_ROOT
    SKIN_ROOT = skins
    
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = /var/www/html/weewx
    
    # Uncomment and change to override logging for reports.
    # log_success = True
    # log_failure = True
    
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
    
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
    
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true
    
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = false
        HTML_ROOT = /var/www/html/weewx/smartphone
    
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = false
        HTML_ROOT = /var/www/html/weewx/mobile
    
    [[Belchertown]]
        skin = Belchertown
        HTML_ROOT = /var/www/html/weewx/belchertown
        enable = true
        
        
        [[[Extras]]]
            
            # For help refer to the docs at 
https://github.com/poblabs/weewx-belchertown
            # and consult skin.conf for the configurable elements and their 
hierarchy
            
            #--- General Options ---
            # belchertown_debug = 0
            belchertown_locale = en_GB.UTF-8
            theme = dark
            # theme_toggle_enabled = 1
            # logo_image = ""
            # logo_image_dark = ""
            site_title = Home Base Weather Site
            # station_observations = 
"barometer","dewpoint","outHumidity","rainWithRainRate"
            # beaufort_category = 0
            # manifest_name = "My Weather Website"
            # manifest_short_name = "MWW"
            # aeris_map = 0
            # radar_html = ''   #  (default seems to center on your lat/lon)
            # radar_html_dark = None
            radar_zoom = 8
            # radar_marker = 0
            # almanac_extras = 1
            # highcharts_enabled = 1
            # graph_page_show_all_button = 1
            # graph_page_default_graphgroup = "day"
            # highcharts_homepage_graphgroup = "day"
            # highcharts_decimal = "auto"
            # highcharts_thousands = "auto"
            # googleAnalyticsId = ""
            # pi_kiosk_bold = "false"
            # pi_theme = "auto"
            webpage_autorefresh = 150000
            # reload_hook_images = 0
            # reload_images_radar = 300
            # reload_images_hook_asi = -1
            # reload_images_hook_af = -1
            # reload_images_hook_as = -1
            # reload_images_hook_ac = -1
            # show_last_updated_alert = 0
            # last_updated_alert_threshold = 1800
            
            #--- MQTT Websockets (for Real Time Streaming) Options ---
            mqtt_websockets_enabled = 1
            mqtt_websockets_host = 192.168.0.196
            mqtt_websockets_port = 9001
            mqtt_websockets_ssl = 0
            mqtt_websockets_topic = weather/loop 
            disconnect_live_website_visitor = 1800000
            
            #--- Forecast Options ---
            forecast_enabled = 1
            forecast_provider = "aeris"
            forecast_api_id = YYYYYYYYYYYYYYYYYYY
            forecast_api_secret = XXXXXXXXXXXXXXXXXXXX
            forecast_units = "us"
            # forecast_lang = "en"
            # forecast_stale = 3540
            # forecast_aeris_use_metar = 1
            # forecast_interval_hours = 24
            # forecast_alert_enabled = 0
            # forecast_alert_limit = 1
            # forecast_show_daily_forecast_link = 0
            # forecast_daily_forecast_link = ""
            aqi_enabled = 1
            # aqi_location_enabled = 0
            
            #--- Earthquake Options ---
            earthquake_enabled = 1
            # earthquake_maxradiuskm = 1000
            # earthquake_stale = 10740
            earthquake_server = USGS
            # geonet_mmi = 4
            
            #--- Social Options ---
            # facebook_enabled = 0
            # twitter_enabled = 0
            # twitter_hashtags = "weewx #weather"
            # social_share_html = ""
            
            #--- Kiosk Options ---
            # radar_html_kiosk = ""
            # radar_width_kiosk = 490
            # radar_height_kiosk = 362
            # mqtt_websockets_host_kiosk = ""
            # mqtt_websockets_port_kiosk = ""
            # mqtt_websockets_ssl_kiosk = ""
            # forecast_interval_hours_kiosk = 24
            # aqi_enabled_kiosk = 0
            
            #-------------------------------------------------------------
            #---
            #--- python's ConfigObj has a limitation in how it processes
            #--- comments, so we need to define an 'unused' variable below
            #--- to ensure that this whole stanza makes it into weewx.conf
            #--- 
            #--- please ignore the following 'unused' variable
            #---
            #-------------------------------------------------------------
            work_around_ConfigObj_limitations = true
    
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    
    [[FTP]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then fill out the
        # next four lines.
        # Use quotes around the password to guard against parsing errors.
        enable = false
        user = replace_me
        password = replace_me
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
        
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /var/www/html/weewx
        
        # Most FTP servers use port 21.
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[RSYNC]]
        # rsync'ing to a webserver is treated as just another report.
        skin = Rsync
        
        # If you wish to use rsync, you must configure passwordless ssh using
        # public/private key authentication from the user account that weewx
        # runs to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = replace_me
        path = replace_me
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /var/www/html/weewx
        
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
    
    # Options in the [[Defaults]] section below will apply to all reports.
    # What follows are a few of the more popular options you may want to
    # uncomment, then change.
    [[Defaults]]
        
        # Which language to use for all reports. Not all skins support all
        # languages.  You can override this for individual reports.
        lang = en
        
        # Which unit system to use for all reports. Choices are 'us', 'metric',
        # or 'metricwx'.  You can override this for individual reports.
        unit_system = us
        
        [[[Units]]]
            
            # Option "unit_system" above sets the general unit system, but
            # overriding specific unit groups is possible. These are popular
            # choices. Uncomment and set as appropriate.  The unit is always
            # in the singular, e.g., 'mile_per_hour', NOT 'miles_per_hour'
            [[[[Groups]]]]
                # group_altitude     = meter              # Options are 'foot' 
or 'meter'
                # group_pressure     = mbar               # Options are 'inHg', 
'mmHg', 'mbar', or 'hPa'
                # group_rain         = mm                 # Options are 'inch', 
'cm', or 'mm'
                # group_rainrate     = mm_per_hour        # Options are 
'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                # group_temperature  = degree_C           # Options are 
'degree_C', 'degree_F', or 'degree_K'
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused
            
            # Uncommenting the following section frequently results in more
            # attractive formatting of times and dates, but may not work in
            # your locale.
            [[[[TimeFormats]]]]
                hour = %I %p
                day = %I:%M
                week = %I:%M on %A
                month = %d-%b-%Y %I:%M
                year = %d-%b-%Y %I:%M
                rainyear = %d-%b-%Y %I:%M
                current = %d-%b-%Y %I:%M
                ephem_day = %I:%M
                ephem_year = %d-%b-%Y %I:%M
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused
        
        [[[Labels]]]
            # Users frequently change the labels for these observation types.
            [[[[Generic]]]]
                # inHumidity     = Inside Humidity
                # inTemp         = Inside Temperature
                # outHumidity    = Outside Humidity
                # outTemp        = Outside Temperature
                # extraTemp1     = Temperature1
                # extraTemp2     = Temperature2
                # extraTemp3     = Temperature3
                # The following line is used to keep the above lines indented
                # properly. It can be ignored.
                unused = unused

##############################################################################

#   This service converts the unit system coming from the hardware to a unit
#   system in the database.

[StdConvert]
    
    # The target_unit affects only the unit system in the database. Once
    # chosen it cannot be changed without converting the entire database.
    # Modification of target_unit after starting weewx will result in
    # corrupt data - the database will contain a mix of US and METRIC data.
    #
    # The value of target_unit does not affect the unit system for
    # reporting - reports can display US, Metric, or any combination of units.
    #
    # In most cases, target_unit should be left as the default: US
    #
    # In particular, those migrating from a standard wview installation
    # should use US since that is what the wview database contains.
    
    # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
    target_unit = US    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

#   This section can adjust data using calibration expressions.

[StdCalibrate]
    
    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2

##############################################################################

#   This section is for quality control checks. If units are not specified,
#   values must be in the units defined in the StdConvert section.

[StdQC]
    
    [[MinMax]]
        barometer = 26, 32.5, inHg
        pressure = 24, 34.5, inHg
        outTemp = -40, 120, degree_F
        inTemp = 10, 120, degree_F
        outHumidity = 0, 100
        inHumidity = 0, 100
        windSpeed = 0, 120, mile_per_hour
        rain = 0, 10, inch

##############################################################################

#   This section controls the origin of derived values.

[StdWXCalculate]
    
    [[Calculations]]
        # How to calculate derived quantities.  Possible values are:
        #  hardware        - use the value provided by hardware
        #  software        - use the value calculated by weewx
        #  prefer_hardware - use value provide by hardware if available,
        #                      otherwise use value calculated by weewx
        
        pressure = prefer_hardware
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = prefer_hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware

##############################################################################

#   For hardware that supports it, this section controls how often the
#   onboard clock gets updated.

[StdTimeSynch]
    
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
    
    # How much it can drift before we will correct it (in seconds)
    max_drift = 5

##############################################################################

#   This section is for configuring the archive service.

[StdArchive]
    
    # If the station hardware supports data logging then the archive interval
    # will be downloaded from the station. Otherwise, specify it (in seconds).
    archive_interval = 300
    
    # If possible, new archive records are downloaded from the station
    # hardware. If the hardware does not support this, then new archive
    # records will be generated in software.
    # Set the following to "software" to force software record generation.
    record_generation = hardware
    
    # Whether to include LOOP data in hi/low statistics.
    loop_hilo = True
    
    # Uncomment and change to override logging for archive operations.
    # log_success = True
    # log_failure = True
    
    # The data binding used to save archive records.
    data_binding = wx_binding

##############################################################################

#   This section binds a data store to a database.

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database.
        table_name = archive
        # The manager handles aggregation of data for historical summaries.
        manager = weewx.manager.DaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema

##############################################################################

#   This section defines various databases.

[Databases]
    
    # A SQLite database is simply a single file.
    [[archive_sqlite]]
        database_name = weewx.sdb
        database_type = SQLite
    
    # MySQL
    [[archive_mysql]]
        database_name = weewx
        database_type = MySQL

##############################################################################

#   This section defines defaults for the different types of databases.

[DatabaseTypes]
    
    # Defaults for SQLite databases.
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which database files are located, relative to WEEWX_ROOT
        SQLITE_ROOT = /var/lib/weewx
    
    # Defaults for MySQL databases.
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located.
        host = localhost
        # The user name for logging in to the host.
        user = weewx
        # Use quotes around the password to guard against parsing errors.
        password = weewx

##############################################################################

#   This section configures the internal weewx engine.

[Engine]
    
    # This section specifies which services should be run and in what order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, 
weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, 
weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, 
weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, 
weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, 
weewx.restx.StdWOW, weewx.restx.StdAWEKAS
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

#listener 1883
#listener 9001
#protocol websockets

Reply via email to