mqtt issues

307 views
Skip to first unread message

Alex Vanuxem

unread,
Nov 26, 2022, 8:52:55 AM11/26/22
to weewx-user
Hi 

I'm trying to set mqtt inside the belchertown skin.

i can see that my data is getting published in the syslog.

however the connection fails in my website

in the developer i get this: 

WebSocket connection to 'ws://localhost:9001/mqtt' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

my set in the belchertown skin.conf is this

# MQTT Websockets defaults
    mqtt_websockets_enabled = 1
    mqtt_websockets_host = "localhost"
    mqtt_websockets_port = 9001
    mqtt_websockets_ssl = 0
    mqtt_websockets_topic = "weather"
    disconnect_live_website_visitor = 1800000

in weewx.conf its this

[[MQTT]]
        server_url = mqtt://alex:passwd@localhost:1883/
        topic = weather
        unit_system = METRIC
        binding = archive, loop
        aggregation = aggregate

can somebody point me in the direct direction, please?

thank you!!



vince

unread,
Nov 26, 2022, 2:17:56 PM11/26/22
to weewx-user
Connection refused means the computer you specified (localhost) is not listening on the port you specified (9001).   So you have more software to install and configure in addition to weewx and the skin.

Alex Vanuxem

unread,
Nov 26, 2022, 2:38:32 PM11/26/22
to weewx...@googlegroups.com
I installed mqtt as an wee_extensions,
And followed the instructions.

I installed the mqtt broker as instructed, mosquito, as instructed on the belchertown wiki. 

Both portsaus 1883 and 9001 are open in my ubuntu running in a virtual box environment.

I checked your links, thx for that. But that also was followed.

By glad if you had more specifics 


Thx



Op za 26 nov. 2022 20:17 schreef vince <vince...@gmail.com>:
--
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/841ec5a0-f416-45db-938b-74753ccd645an%40googlegroups.com.

gary....@gmail.com

unread,
Nov 26, 2022, 9:38:46 PM11/26/22
to weewx-user
What are you using to try the connection?
I'd recommend https://mqtt-explorer.com/ to see what the mosquitto server is showing. MQTT Explorer has the option to look at websockets as well as MQTT. But first you want to see the loop values in MQTT.

If you are using Firefox, you should also get the latest mosquitto server direct from the developer by using the repository. Once I did that, my Firefox issues went away. Depending on distro, version, etc your distro may not have a current/new enough mosquitto server to solve the FF issue.

We'd also need to see your mosquitto.conf including if you followed Pat's guide, myconfig.conf. It could also be your acl file, or that the password is not correct, but if weewx is sending data and it is accepted, unlikely it is that.

mh081...@gmail.com

unread,
Nov 27, 2022, 5:05:10 AM11/27/22
to weewx-user
Hi,

you  shouldn't use "localhost" in your config.If you connect to your website with your browser, then locahlost are used to connect to the mqtt server.
This failed if you try to connect from your client. I think it will only be possible when you start the browser from the mqtt server direct.

From my Config (i use ssl):

##### weewx.conf####all configs from belchertown are in my weewx.conf because of possible update of weewx#
    [[MQTT]]
        server_url = mqtt://pi:pass...@gw.martenhinrichs.de:8883/

        topic = weather
        unit_system = METRIC
        binding = archive, loop
        aggregation = aggregate
        log_success = False
        log_failure = True
        [[[tls]]]
            tls_version = tlsv12
            ca_certs = /etc/ssl/certs/ca-certificates.crt
        [[[inputs]]]
            [[[[dayRain]]]]
                name = dayRain_mm
                units = mm
            [[[[rainRate]]]]
                name = rainRate_mm_per_hour
                units = mm_per_hour
#####

#####/etc/mosquitto/conf.d/myconfig.conf####
allow_anonymous true
password_file /etc/mosquitto/passwd
acl_file /etc/mosquitto/acl
persistence false

# mqtt
listener 1883 localhost
listener 8883
certfile /etc/letsencrypt/live/gw.martenhinrichs.de/cert.pem
cafile /etc/letsencrypt/live/gw.martenhinrichs.de/chain.pem
keyfile /etc/letsencrypt/live/gw.martenhinrichs.de/privkey.pem
protocol mqtt

# websockets
listener 9001
certfile /etc/letsencrypt/live/gw.martenhinrichs.de/cert.pem
cafile /etc/letsencrypt/live/gw.martenhinrichs.de/chain.pem
keyfile /etc/letsencrypt/live/gw.martenhinrichs.de/privkey.pem
protocol websockets
#####

##### /etc/mosquitto/mosquitto.conf
pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log
log_type error
log_type warning
connection_messages false
#####

gary....@gmail.com

unread,
Nov 27, 2022, 10:54:14 AM11/27/22
to weewx-user
I'll agree that localhost can't be used, for testing I use the LAN address. For me it  is 10.10.10.15
It's how I run my test server instance which has no SSL certs.
http://tester.lan/jas/ for example brings up the jas skin with websockets functioning from any device on my LAN.
But, if you have no local DNS resolver, http://10.10.100.15/jas would be needed.

Alex Vanuxem

unread,
Nov 27, 2022, 4:25:16 PM11/27/22
to weewx-user
hi all,

at  https://mqtt-explorer.com i can see data coming in, also i can test by publishing "hello world"

i've downloaded the latest version from the mosquitto developer

if i change the localhost to 192.168.0.125 i get a wss error, the connection doesn't fail anymore but is trying to connect endlessly.

if I change even the weewx.conf with
 log_success = False
        log_failure = True
 
my weewx will not start

i tried to set up a domain with duckdns.org with suces but can't create a ssl certificate.

please advise, i'm lost now.

please find all the logs in the attached txt file.

i guess my paid server will not allow websockets?

also i'm running a ubuntu in a virtual box, and is bridged with my windows machine
my windows ip is 192.168.0.189
my ubuntu local is 127.0.0.1
my bridged ubuntu is 192.168.0.125

chrome, edge, firefox give the same error

thank you so much!!



Op zondag 27 november 2022 om 16:54:14 UTC+1 schreef gary....@gmail.com:
errors.txt

gary....@gmail.com

unread,
Nov 28, 2022, 9:34:26 AM11/28/22
to weewx-user
You are trying to mix secure with non-secure and that is not going to work.

Mixed Content: The page at 'https://www.sint-katelijne-waver-meteo.be/weewx/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://192.168.0.125:9001/mqtt'. This request has been blocked; this endpoint must be available over WSS.

Uncaught DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

Either test using http (no 's') or add the certs to your mosquitto config and change the belchertown settings accordingly.

Alex Vanuxem

unread,
Nov 28, 2022, 3:20:38 PM11/28/22
to weewx...@googlegroups.com
Really.
Im tired of this. 

Yr weewx isn't to be setups by weather amateurs.

It is set by by a bunch of itc managers.


Meteotemplate has it all for me, 
Even theyre forum is structuren 


So Goodbye weewx hope you will learn from some real wearher amateurs  ..

Op ma 28 nov. 2022 15:34 schreef gary....@gmail.com <gary....@gmail.com>:

Tom Keffer

unread,
Nov 28, 2022, 5:04:01 PM11/28/22
to weewx...@googlegroups.com
Calm down, dude.

I'm not surprised that you're frustrated. You are depending on an exceedingly complicated platform that uses everything from Dynamic DNS to virtual machines running on Windows hosts with an Ubuntu client. On this shaky foundation you're trying to do something sophisticated: run a real time display, using two 3rd party extensions, MQTT and Belchertown.

The net result is that you are far away from a standard WeeWX install.

I doubt your experience with Meteotemplate will be any different. It's a great UI, but it does something completely different. If you're using MQTT and Belchertown,  presumably you're trying to do real time displays. Meteotemplate offers attractive, but static, displays. As you've discovered, real time displays are far more difficult and require things like websockets and MQTT brokers.

I should add that Meteotemplate still has to be hosted somewhere, and it still depends on data being supplied from an external source, presumably from WeeWX.

Start with something simple, gain confidence in your setup, then start adding these complicated features.

-tk

Reply all
Reply to author
Forward
0 new messages