I just restarted Ubuntu and made sure the mosquitto.conf file was adjusted
for the new 2.x listener command, and mosquitto started working.
I just commented out a couple of lines I had in the mosquitto.conf file
(which worked fine in Ubuntu 20.10):
#pid_file /var/run/mosquitto.pid
#persistence true
#persistence_location /var/lib/mosquitto/
#log_dest file /var/log/mosquitto/mosquitto.log
Earlier, I saw an error about creating /var/log/mosquitto/mosquitto.log
The mosquitto_sub command now works and mosquitto is receiving my
barometric pressure data!
weewx@Ubuntu20-WEEWX:~$ mosquitto -c /etc/mosquitto/mosquitto.conf
1641062208: mosquitto version 2.0.10 starting
1641062208: Config loaded from /etc/mosquitto/mosquitto.conf.
1641062208: Opening ipv4 listen socket on port 1883.
1641062208: Error: Address already in use
weewx@Ubuntu20-WEEWX:~$ mosquitto_sub -h 192.168.7.22 -p 1883 -t
tele/BMP280/SENSOR -d
Client (null) sending CONNECT
Client (null) received CONNACK (0)
Client (null) sending SUBSCRIBE (Mid: 1, Topic: tele/BMP280/SENSOR, QoS: 0,
Options: 0x00)
Client (null) received SUBACK
Subscribed (mid: 1): 0
Client (null) received PUBLISH (d0, q0, r0, m0, 'tele/BMP280/SENSOR', ...
(113 bytes))
{"Time":"2022-01-01T12:38:02","BMP280":{"Temperature":69.7,"Pressure":985.8},"PressureUnit":"hPa","TempUnit":"F"}
Client (null) sending PINGREQ
Client (null) received PINGRESP
weewx is running without errors and publishing reports every 300 seconds!
Jan 1 12:35:07 Ubuntu20-WEEWX weewx[1224] DEBUG weewx.engine: Loading
service weewx.restx.StdPWSweather
Jan 1 12:35:07 Ubuntu20-WEEWX weewx[1224] INFO weewx.restx: PWSWeather:
Data for station WESTGATE1 will be posted
Jan 1 12:35:07 Ubuntu20-WEEWX weewx[1224] DEBUG weewx.engine: Finished
loading service weewx.restx.StdPWSweather
Jan 1 12:40:22 Ubuntu20-WEEWX weewx[1224] INFO weewx.restx: PWSWeather:
Published record 2022-01-01 12:40:00 CST (1641062400)
Jan 1 12:40:22 Ubuntu20-WEEWX weewx[1224] INFO weewx.restx:
Wunderground-PWS: Published record 2022-01-01 12:40:00 CST (1641062400)
Jan 1 12:45:19 Ubuntu20-WEEWX weewx[1224] INFO weewx.restx: PWSWeather:
Published record 2022-01-01 12:45:00 CST (1641062700)
Jan 1 12:45:19 Ubuntu20-WEEWX weewx[1224] INFO weewx.restx:
Wunderground-PWS: Published record 2022-01-01 12:45:00 CST (1641062700)
On Saturday, January 1, 2022 at 11:56:36 AM UTC-6 Eric K wrote:
> I just switched back to the Ubuntu 21.04 VM and collected lots of evidence
> of mosquitto not starting properly.
>
> These are the commands that Vince requested:
>
> weewx@Ubuntu20-WEEWX:/run$ ls -lagd /run/mosquitto
> drwxr----- 2 mosquitto 40 Jan 1 11:37 /run/mosquitto
>
> weewx@Ubuntu20-WEEWX:/run$ ls -lagd /run/mosquitto/*
> ls: cannot access '/run/mosquitto/*': Permission denied
>
> weewx@Ubuntu20-WEEWX:/run$ sudo rm -r /run/mosquitto
>
> weewx@Ubuntu20-WEEWX:/run$ sudo systemctl start mosquitto
>
> Job for mosquitto.service failed because the control process exited with
> error code.
> See "systemctl status mosquitto.service" and "journalctl -xe" for details.
>
> weewx@Ubuntu20-WEEWX:/run$ sudo systemctl status mosquitto.service
>
> ● mosquitto.service - Mosquitto MQTT Broker
> Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled;
> vendor preset: enabled)
> Active: failed (Result: exit-code) since Sat 2022-01-01 11:37:43 CST;
> 16s ago
>
> Docs: man:mosquitto.conf(5)
> man:mosquitto(8)
> Process: 3867 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto
> (code=exited, status=0/SUCCESS)
> Process: 3868 ExecStartPre=/bin/chown mosquitto: /var/log/mosquitto
> (code=exited, status=0/SUCCESS)
> Process: 3869 ExecStartPre=/bin/mkdir -m 740 -p /var/run/mosquitto
> (code=exited, status=0/SUCCESS)
> Process: 3870 ExecStartPre=/bin/chown mosquitto: /var/run/mosquitto
> (code=exited, status=0/SUCCESS)
> Process: 3871 ExecStart=/usr/sbin/mosquitto -c
> /etc/mosquitto/mosquitto.conf (code=exited, status=1/FAILURE)
> Main PID: 3871 (code=exited, status=1/FAILURE)
>
> Jan 01 11:37:43 Ubuntu20-WEEWX systemd[1]: mosquitto.service: Scheduled
> restart job, restart counter is at 5.
> Jan 01 11:37:43 Ubuntu20-WEEWX systemd[1]: Stopped Mosquitto MQTT Broker.
> Jan 01 11:37:43 Ubuntu20-WEEWX systemd[1]: mosquitto.service: Start
> request repeated too quickly.
> Jan 01 11:37:43 Ubuntu20-WEEWX systemd[1]: mosquitto.service: Failed with
> result 'exit-code'.
> Jan 01 11:37:43 Ubuntu20-WEEWX systemd[1]: Failed to start Mosquitto MQTT
> Broker.
>
> weewx@Ubuntu20-WEEWX:/run$ journalctl -xe
> Hint: You are currently not seeing messages from other users and the
> system.
> Users in groups 'adm', 'systemd-journal' can see all messages.
> Pass -q to turn off this notice.
> Jan 01 11:36:45 Ubuntu20-WEEWX dbus-daemon[2070]: [session uid=1001
> pid=2070] Successfully activated service 'org.freedesktop.Tracker1.Miner>
> Jan 01 11:36:45 Ubuntu20-WEEWX systemd[2052]: Started Tracker metadata
> extractor.
> ░░ Subject: A start job for unit UNIT has finished successfully
> ░░ Defined-By: systemd
> ░░ Support: http://www.ubuntu.com/support
> ░░
> ░░ A start job for unit UNIT has finished successfully.
> ░░
> ░░ The job identifier is 633.
> Jan 01 11:36:55 Ubuntu20-WEEWX systemd[2052]: tracker-extract.service:
> Succeeded.
> ░░ Subject: Unit succeeded
> ░░ Defined-By: systemd
> ░░ Support: http://www.ubuntu.com/support
> ░░
> ░░ The unit UNIT has successfully entered the 'dead' state.
> Jan 01 11:36:59 Ubuntu20-WEEWX nautilus[3434]: The peer-to-peer connection
> failed: Could not connect: Permission denied. Falling back to the>
> Jan 01 11:37:15 Ubuntu20-WEEWX tracker-store[3766]: OK
> Jan 01 11:37:15 Ubuntu20-WEEWX systemd[2052]: tracker-store.service:
> Succeeded.
> ░░ Subject: Unit succeeded
> ░░ Defined-By: systemd
> ░░ Support: http://www.ubuntu.com/support
> ░░
> ░░ The unit UNIT has successfully entered the 'dead' state.
> Jan 01 11:37:28 Ubuntu20-WEEWX sudo[3841]: weewx : TTY=pts/0 ; PWD=/run
> ; USER=root ; COMMAND=/usr/bin/rm -r /run/mosquitto
> Jan 01 11:37:28 Ubuntu20-WEEWX sudo[3841]: pam_unix(sudo:session): session
> opened for user root by (uid=1001)
> Jan 01 11:37:28 Ubuntu20-WEEWX sudo[3841]: pam_unix(sudo:session): session
> closed for user root
> Jan 01 11:37:42 Ubuntu20-WEEWX sudo[3844]: weewx : TTY=pts/0 ; PWD=/run
> ; USER=root ; COMMAND=/usr/bin/systemctl start mosquitto
> Jan 01 11:37:42 Ubuntu20-WEEWX sudo[3844]: pam_unix(sudo:session): session
> opened for user root by (uid=1001)
> Jan 01 11:37:42 Ubuntu20-WEEWX sudo[3844]: pam_unix(sudo:session): session
> closed for user root
> Jan 01 11:38:00 Ubuntu20-WEEWX sudo[3874]: weewx : TTY=pts/0 ; PWD=/run
> ; USER=root ; COMMAND=/usr/bin/systemctl status mosquitto.service
> Jan 01 11:38:00 Ubuntu20-WEEWX sudo[3874]: pam_unix(sudo:session): session
> opened for user root by (uid=1001)
> Jan 01 11:38:01 Ubuntu20-WEEWX sudo[3874]: pam_unix(sudo:session): session
> closed for user root
> Jan 01 11:38:26 Ubuntu20-WEEWX dbus-daemon[2070]: [session uid=1001
> pid=2070] Activating service name='org.gnome.Nautilus' requested by ':1.>
> Jan 01 11:38:26 Ubuntu20-WEEWX dbus-daemon[2070]: [session uid=1001
> pid=2070] Successfully activated service 'org.gnome.Nautilus'
> Jan 01 11:38:27 Ubuntu20-WEEWX org.gnome.Nautilus[3883]: Traceback (most
> recent call last):
> Jan 01 11:38:27 Ubuntu20-WEEWX org.gnome.Nautilus[3883]: File
> "/usr/share/nautilus-python/extensions/nautilus-admin.py", line 25, in
> <modu>
> Jan 01 11:38:27 Ubuntu20-WEEWX org.gnome.Nautilus[3883]: from gettext
> import gettext, locale, bindtextdomain, textdomain
> Jan 01 11:38:27 Ubuntu20-WEEWX org.gnome.Nautilus[3883]: ImportError:
> cannot import name 'locale' from 'gettext' (/usr/lib/python3.9/gettext>
> Jan 01 11:38:27 Ubuntu20-WEEWX nautilus[3883]: Called "net usershare info"
> but it failed: Failed to execute child process “net” (No such fil>
> Jan 01 11:41:55 Ubuntu20-WEEWX sudo[3932]: weewx : TTY=pts/0 ; PWD=/run
> ; USER=root ; COMMAND=/usr/bin/systemctl start mosquitto
> Jan 01 11:41:55 Ubuntu20-WEEWX sudo[3932]: pam_unix(sudo:session): session
> opened for user root by (uid=1001)
> Jan 01 11:41:55 Ubuntu20-WEEWX sudo[3932]: pam_unix(sudo:session): session
> closed for user root
> lines 3313-3354/3354 (END)
>
> weewx@Ubuntu20-WEEWX:/run$ mosquitto_sub -v -h 192.168.7.22 -p 1883 -t
> tele/BMP280/SENSOR -d
> Error: Connection refused
>
> weewx@Ubuntu20-WEEWX:/etc/mosquitto$ mosquitto -c
> /etc/mosquitto/mosquitto.conf
> 1641059552: mosquitto version 2.0.10 starting
> 1641059552: Config loaded from /etc/mosquitto/mosquitto.conf.
> 1641059552: Error: Unable to open pwfile "/etc/mosquitto/pwfile".
> 1641059552: Error opening password file "/etc/mosquitto/pwfile".
>
> weewx@Ubuntu20-WEEWX:/etc/mosquitto$ sudo mosquitto -c
> /etc/mosquitto/mosquitto.conf
> 1641059578: mosquitto version 2.0.10 starting
> 1641059578: Config loaded from /etc/mosquitto/mosquitto.conf.
> 1641059578: Error: Unable to open pwfile "/etc/mosquitto/pwfile".
> 1641059578: Error opening password file "/etc/mosquitto/pwfile".
>
> On Saturday, January 1, 2022 at 11:09:48 AM UTC-6 [email protected] wrote:
>
>> Now that the broker is running, does mosquitto_sub work?
>> Also, as Vince suggested, adding the -v option (verbose) to the
>> mosquitto command would be useful.
>> rich
>> On Saturday, 1 January 2022 at 11:40:16 UTC-5 Eric K wrote:
>>
>>> When using, the MQTTSubscirbe driver in weewx, it runs as a weewx
>>> service in the same machine as weewx.
>>> see: https://github.com/bellrichm/WeeWX-MQTTSubscribe
>>> I'm running the mosquitto broker in the same Ubuntu VM as weewx, because
>>> its convenient, and it works fine in my Ubuntu 20.10 VM.
>>>
>>> I have a barometric pressure sensor (a stand-alone wifi device on a
>>> different IP from the Ubuntu VM) that sends data to weewx via MQTT and the
>>> MQTTSubscribe driver.
>>> So, I need to get that to properly connect with mosquitto in Ubuntu
>>> 21.04, like it does in the Ubuntu 20.10.
>>>
>>> The connection we saw when I tried running mosquitto with it's internal
>>> default settings was MQTTSubscribe trying to connect to it.
>>>
>>> weewx@Ubuntu20-WEEWX:~$ mosquitto
>>> 1640984406: mosquitto version 2.0.10 starting
>>> 1640984406: Using default config.
>>> 1640984406: Starting in local only mode. Connections will only be
>>> possible from clients running on this machine.
>>> 1640984406: Create a configuration file which defines a listener to
>>> allow remote access.
>>> 1640984406: For more details see
>>> https://mosquitto.org/documentation/authentication-methods/
>>> 1640984406: Opening ipv4 listen socket on port 1883.
>>> 1640984406: Opening ipv6 listen socket on port 1883.
>>> 1640984406: mosquitto version 2.0.10 running
>>> 1640984413: New connection from 127.0.0.1:42095 on port 1883.
>>>
>>> *1640984413: New client connected from 127.0.0.1:42095
>>> <http://127.0.0.1:42095/> as MQTTSubscribe-5503 (p2, c1, k60,
>>> u'None').1640984418: Client MQTTSubscribe-5503 disconnected.*
>>> On Saturday, January 1, 2022 at 4:39:39 AM UTC-6 [email protected]
>>> wrote:
>>>
>>>> Eric,
>>>>
>>>> In one of your posts above, the mosquito broker says it has a
>>>> connection from a client...and given you're running this in a single VM,
>>>> that must be a client on that machine.
>>>> Im struggling to understand why you would want a MQTT broker on the
>>>> same VM as weewx ...when it only needs the client. as weewx doesnt
>>>> respond
>>>> to mqtt messages/commands (someone will correct me if Im wrong) - maybe
>>>> you
>>>> dont need mqtt at all ?
>>>> I suggest you test wether the weewx client is working (publishing) by
>>>> using one of the public MQTT brokers such as test.moquito.org (and
>>>> monitor your messages via mqtt explorer.
>>>> If you're running the broker in the same vm as weewx, then you must
>>>> have other mqtt devices (clients)...do they work ?
>>>> I agree with Vince...and Im starting to lose the plot over what you're
>>>> trying to acheive....
>>>>
>>>>
>>>> On Friday, 31 December 2021 at 23:47:59 UTC vince wrote:
>>>>
>>>>> Work your mosquitto broker problem and that only.
>>>>> Test with mosquitto_sub and mosquitto_pub and get that to work first.
>>>>> Once that works, try to get weewx to subscribe.
>>>>>
>>>>> Try removing any previous garbage your earlier attempts might have put
>>>>> into /run.
>>>>>
>>>>> sudo rm -r /run/mosquitto
>>>>> sudo systemctl start mosquitto
>>>>>
>>>>> On my ubuntu 21.10 vm permissions look like:
>>>>>
>>>>> root@ubuntu-focal:/run# ls -lagd /run/mosquitto
>>>>> drwxr----- 2 root 60 Dec 31 23:42 /run/mosquitto
>>>>>
>>>>> root@ubuntu-focal:/run# ls -lagd /run/mosquitto/*
>>>>> -rw-r--r-- 1 mosquitto 4 Dec 31 23:42 /run/mosquitto/mosquitto.pid
>>>>>
>>>>> On Friday, December 31, 2021 at 2:36:19 PM UTC-8 Eric K wrote:
>>>>>
>>>>>> No, its not working.
>>>>>> Running the commands with sudo still failed to generate a pid file.
>>>>>> Running with the default config allowed mosquitto to start and
>>>>>> MQTTSubscribe tried to connect but it disconnected after 5 seconds.
>>>>>>
>>>>>> When I started weewx and forced wee_reports to run, it bomed out with
>>>>>> many errors including MQTTSubscribe errors.
>>>>>> I suspect because it couldn't connect to mosquitto.
>>>>>>
>>>>>> Since the mosquitto command changed from "port" to "listener", do I
>>>>>> have to change the MQTTSubscribe section of weewx.conf so it calls out
>>>>>> "listener = 1883" rather than "port = 1883"?
>>>>>>
>>>>>>
>>>>>> On Friday, December 31, 2021 at 4:20:01 PM UTC-6 vince wrote:
>>>>>>
>>>>>>> So is it working ? Not working ?
>>>>>>> We can't read minds and your followups are rather cryptic.
>>>>>>>
>>>>>>> Is there any mosquitto process running ?
>>>>>>> If so stop it and try again with 'sudo systemctl start mosquitto'
>>>>>>>
>>>>>>> If you want to try to run mosquitto in the foreground to debug it,
>>>>>>> add the -v switch to make it verbose, and remember to use sudo
>>>>>>>
>>>>>>>
--
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 on the web visit
https://groups.google.com/d/msgid/weewx-user/eae24860-48ff-47d5-8f89-59d9c1d69db7n%40googlegroups.com.