Vince,
I've just started following this thread as I'm also having MQTT issues.

My old installation of Weewx 4.10.2 on Buster is running OK and MQTT is 
working. I've had to create a new installation on a different Pi running 
Bookworm and Weewx 5.1.0 as the USB stick is failing and going through the 
same process that worked previously isn't working.

All I get when running
mosquitto_sub -d -t weather/# -h 192.168.2.108
on a different device is:
Client mosqsub|15572-weather sending CONNECT
Client mosqsub|15572-weather received CONNACK (0)
Client mosqsub|15572-weather sending SUBSCRIBE (Mid: 1, Topic: weather/#, 
QoS: 0)
Client mosqsub|15572-weather received SUBACK
Subscribed (mid: 1): 0
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP
Client mosqsub|15572-weather sending PINGREQ
Client mosqsub|15572-weather received PINGRESP

In the message below the URL doesn't work, have you renamed your github 
repo?
https://github.com/vinceskahan/weewx/blob/main/weewx-odds-and-ends/weewx-belchertown-websockets.txt

On Wednesday, 6 August 2025 at 01:13:34 UTC+1 Peter Schmelitschek wrote:

Thanks Vince.
Good idea.

On Wednesday, 6 August 2025 at 03:43:17 UTC+10 vince wrote:

Your setup is very complicated - Traefik, Cloudflare, Portainer, etc. etc. 
etc. plus trying to get weewx/mosquitto working to begin with.

FWIW, my working  LAN only setup is at 
https://github.com/vinceskahan/weewx-odds-and-ends/blob/master/weewx-belchertown-websockets.txt
 
if you want to take a look at settings that used to work here.  I'm 
LAN-only, no proxies, ssl disabled, user/pass disabled so it's the simplest 
setup that should work LAN-only.

My hazy recollection is that you also need to be consistent between 
http/https, and ssl enabled/disabled, but with all the complicated things 
you're trying to align, wow.....

I would suggest you start over, step by step, doing one thing at a time as 
you build up the complexity....

   - get everything working LAN-only 'without' SSL
   - then get it working LAN-only with SSL
   - then get it working proxied without SSL
   - then lastly get it working proxied with SSL
   
or....

   - LAN-only without SSL
   - proxied without SSL
   - proxied with SSL
   
Or the like.  Tiny steps.  Minimize moving parts.  Build up to the (to me) 
messy setup you're trying to build.

On Tuesday, August 5, 2025 at 9:01:30 AM UTC-7 Peter Schmelitschek wrote:

Ok thanks anyway.
I'll try some combinations later - now 02:00 here

On Wednesday, 6 August 2025 at 01:59:00 UTC+10 Jacques Terrettaz wrote:

Sorry,  I don't know anything about Traefik and its configuration.

Le 5 août 2025 à 17:45, Peter Schmelitschek <[email protected]> a écrit :

Having a look at my Traefik fileConfig.yaml (dynamic), what I've ended up 
with from ChatGPT looks dodgy:

In http Routers, there are these 2 entries:
 mqtt-router:
      entryPoints:
        - mqtt-ws
      rule: "Host(`mqtt.dreamwoodestate.net`)"
      service: mqtt-ws-svc
      tls: true

    mqtt_ws:
      rule: "Host(`mqtt.dreamwoodestate.net`)"
      entryPoints:
        - mqtt-ws
      tls:
        certResolver: cloudflare
      service: mqtt_ws_service 

Then in Services:
 mqtt-broker:
      loadBalancer:
        servers:
          - url: "http://192.168.88.67:9011";

    mqtt-ws-svc:
      loadBalancer:
        servers:
          - url: "http://192.168.88.67:9011";

Which do you suggest should be removed as there is clearly duplication wrt 
port 9011 for websockets.

On Wednesday, 6 August 2025 at 01:37:38 UTC+10 Peter Schmelitschek wrote:

After a refresh, the error becomes:
paho-mqtt.min.js:37 WebSocket connection to 'wss://
mqtt.dreamwoodestate.net:9011/mqtt' failed: 
d._doConnect @ paho-mqtt.min.js:37
d.connect @ paho-mqtt.min.js:31
Client.connect @ paho-mqtt.min.js:70
connect @ belchertown.js?1754408117:1543
(anonymous) @ belchertown/:171
l @ jquery.min.js:2
c @ jquery.min.js:2

On Wednesday, 6 August 2025 at 01:35:27 UTC+10 Peter Schmelitschek wrote:

With mqtt_websockets_ssl = 1 in the [[[Extras]]] of [[Belchertown]] in 
weewx.conf, I get 'Failed connecting to the weather station' from the 
browser using https.
I can see the belchertown.js has updated as you pointed out, so now it's:
belchertown_debug("MQTT: Connecting to MQTT Websockets: 
mqtt.dreamwoodestate.net 9011 (SSL Enabled)");
        var useSSL = true;

        client = new Paho.Client("mqtt.dreamwoodestate.net", 9011, 
mqttclient);

BTW, ChatGPT told me last week that I should add a "/" in between the 9011 
and mqttclient in the client = line.
I removed that "/" earlier tonight thinking the advice was wrong - but it 
dowsn't seem to improve the situation either way.

Right now the browser shows this error from F12:
paho-mqtt.min.js:37 WebSocket connection to 'wss://
mqtt.dreamwoodestate.net:9011/mqtt' failed: 
d._doConnect @ paho-mqtt.min.js:37
On Wednesday, 6 August 2025 at 00:41:41 UTC+10 Jacques Terrettaz wrote:

Your belchertown.js file (
https://dreamwoodinternational.com/weewx/belchertown/js/belchertown.js) is 
explicitly trying  to connect to the MQTT broker with SSL disabled.
See it in line 1523 of belchertown.js :
            belchertown_debug("MQTT: Connecting to MQTT Websockets: 
mqtt.dreamwoodestate.net 9011 (SSL Disabled)");
        *var useSSL = false;*
        client = new Paho.Client("mqtt.dreamwoodestate.net", 9011, 
mqttclient);

So double check that you have not conflicting configuration in the 
Belchertown configuration about the use of SSL with MQTT, and verify that 
the https://dreamwoodinternational.com/weewx/belchertown/js/belchertown.js file 
is synchronized with the one generated by the skin in your weewx VM. The 
belchertown skin is updating the js file every time a new data record has 
been received by weewx.

Le 5 août 2025 à 15:35, Peter Schmelitschek <[email protected]> a écrit :


Any ideas on solving this issue (from the browser's explorer)?

paho-mqtt.min.js:37 Mixed Content: The page at 
'https://dreamwoodinternational.com/weewx/belchertown/?debug=true' 
was loaded over HTTPS, but attempted to connect to the insecure WebSocket 
endpoint 'ws://mqtt.dreamwoodestate.net:9011/mqtt'. This request has been 
blocked; this endpoint must be available over WSS.
(anonymous) @ paho-mqtt.min.js:37
On Tuesday, 5 August 2025 at 22:22:35 UTC+10 Peter Schmelitschek wrote:

This seems to be the issue (from using ?debug=true in browser):

MQTT: Connecting to MQTT Websockets: mqtt.dreamwoodestate.net 9011 (SSL 
Enabled)
belchertown.js?1754396118:1579 MQTT: 2025-08-05T22:19:59+10:00: Cannot 
connect to MQTT broker

On Tuesday, 5 August 2025 at 21:44:06 UTC+10 Peter Schmelitschek wrote:

Replies are getting out of order.
myconfig.conf - running without comments:
persistence false


allow_anonymous false
password_file /etc/mosquitto/passwd
acl_file /etc/mosquitto/acl

listener 1883
listener 8883
cafile /etc/letsencrypt/live/mqtt.dreamwoodestate.net/chain.pem
certfile /etc/letsencrypt/live/mqtt.dreamwoodestate.net/cert.pem
keyfile /etc/letsencrypt/live/mqtt.dreamwoodestate.net/privkey.pem
protocol mqtt

listener 9011
protocol websockets

On Tuesday, 5 August 2025 at 18:37:56 UTC+10 Jacques Terrettaz wrote:

You have possibly a comment line (starting with "#") in the first line of 
 myconfig.conf.  Try to remove it and any other comment line.

Here is for exemple the content of my own myconfig.conf file :
listener 1883
listener 8083
protocol websockets
allow_anonymous false
password_file /etc/mosquitto/passwd
acl_file /etc/mosquitto/acl


Le 5 août 2025 à 10:14, Peter Schmelitschek <[email protected]> a écrit :

I have recreated both ACL and myconfig.conf files from scratch using NANO 
because Mosquitto complains of unexpected character at the start of files.
However, with that done, I still get this at Mosquitto restart:
Loading config file /etc/mosquitto/conf.d/myconfig.conf
Error: Unknown configuration variable "#"
Error found at /etc/mosquitto/conf.d/myconfig.conf:1
Error found at /etc/mosquitto/mosquitto.conf:18

This is possibly the root cause of my MQTT problems - I have been 
commenting out the ACL file previously to get WeeWx to appear at this stage.
Right now I'm seeing "Failed connecting to the weather station"



-- 
You received this message because you are subscribed to a topic in the 
Google Groups "weewx-user" group.
To unsubscribe from this topic, visit 
https://groups.google.com/d/topic/weewx-user/Gq6uNw_Cxss/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 
[email protected].

To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/8e9656f2-23b7-47ec-8b1d-cbfe1083ae39n%40googlegroups.com
 
<https://groups.google.com/d/msgid/weewx-user/8e9656f2-23b7-47ec-8b1d-cbfe1083ae39n%40googlegroups.com?utm_medium=email&utm_source=footer>
.



-- 
You received this message because you are subscribed to a topic in the 
Google Groups "weewx-user" group.
To unsubscribe from this topic, visit 
https://groups.google.com/d/topic/weewx-user/Gq6uNw_Cxss/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 
[email protected].

To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/e14a0b63-8d35-41d4-a0f7-4ccda3b15074n%40googlegroups.com
 
<https://groups.google.com/d/msgid/weewx-user/e14a0b63-8d35-41d4-a0f7-4ccda3b15074n%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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/16ed31fc-a8ce-43c4-9099-98ead93b139en%40googlegroups.com.

Reply via email to