MQTT error after upgrading to weewx 5.1 from 4.10

177 views
Skip to first unread message

Stefan Gliessmann

unread,
Aug 31, 2024, 10:43:33 AM8/31/24
to weewx-user
Hello -

for some moments today, the upgraded weewx system worked just fine.

Unfortunately, not for long time ...

The MQTT driver from https://github.com/matthewwall/weewx-mqtt exits with this message

Aug 31 16:38:40 rvwx weewxd[2937]: DEBUG weewx.manager: Daily summary version is 4.0

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: MQTT: Unexpected exception of type <class 'ValueError'>

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: *** Traceback (most recent call last):

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***   File "/usr/share/weewx/weewx/restx.py", line 384, in run_loop

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***     self.process_record(_record, dbmanager)

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***   File "/etc/weewx/bin/user/mqtt.py", line 513, in process_record

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***     record = self.get_record(record, dbm)

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***   File "/usr/share/weewx/weewx/restx.py", line 317, in get_record

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: ***     raise ValueError(

Aug 31 16:38:40 rvwx weewxd[2937]: ERROR weewx.restx: *** ValueError: Inconsistent units (1 vs 1 vs 16) when querying for rain24

Aug 31 16:38:40 rvwx weewxd[2937]: CRITICAL weewx.restx: MQTT: Thread terminating. Reason: Inconsistent units (1 vs 1 vs 16) when querying for rain24

Aug 31 16:38:40 rvwx weewxd[2937]: Exception in thread MQTT:

Aug 31 16:38:40 rvwx weewxd[2937]: Traceback (most recent call last):

Aug 31 16:38:40 rvwx weewxd[2937]:   File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner

Aug 31 16:38:40 rvwx weewxd[2937]:     self.run()

Aug 31 16:38:40 rvwx weewxd[2937]:   File "/usr/share/weewx/weewx/restx.py", line 357, in run

Aug 31 16:38:40 rvwx weewxd[2937]:     self.run_loop(_manager)

Aug 31 16:38:40 rvwx weewxd[2937]:   File "/usr/share/weewx/weewx/restx.py", line 384, in run_loop

Aug 31 16:38:40 rvwx weewxd[2937]:     self.process_record(_record, dbmanager)

Aug 31 16:38:40 rvwx weewxd[2937]:   File "/etc/weewx/bin/user/mqtt.py", line 513, in process_record

Aug 31 16:38:40 rvwx weewxd[2937]:     record = self.get_record(record, dbm)

Aug 31 16:38:40 rvwx weewxd[2937]:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Aug 31 16:38:40 rvwx weewxd[2937]:   File "/usr/share/weewx/weewx/restx.py", line 317, in get_record

Aug 31 16:38:40 rvwx weewxd[2937]:     raise ValueError(

Aug 31 16:38:40 rvwx weewxd[2937]: ValueError: Inconsistent units (1 vs 1 vs 16) when querying for rain24


Any recommendations on how to fix would be highly appreciated!
Cheers!

Stefan Gliessmann

unread,
Aug 31, 2024, 11:08:16 AM8/31/24
to weewx-user
I made yesterday a copy of my weewx.sdb. I just pushed the copy on my raspi and now everything is solved!

I am happy - eventhough I do not know what happened ...

Stefan Gliessmann

unread,
Aug 31, 2024, 11:26:10 AM8/31/24
to weewx-user
Again - it just worked for some moments ...

Aug 31 17:20:27 rvwx weewxd[2124]: INFO user.gw1000: GatewayCollector thread has been terminated

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__: Caught unrecoverable exception:

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  Unit system mismatch 1 v. 16

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  Traceback (most recent call last):

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 210, in run

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 662, in check_loop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      raise BreakLoop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  weewx.engine.BreakLoop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  During handling of the above exception, another exception occurred:

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  Traceback (most recent call last):

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewxd.py", line 127, in main

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      engine.run()

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 217, in run

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self.dispatchEvent(weewx.Event(weewx.POST_LOOP))

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 672, in post_loop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self._software_catchup()

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 743, in _software_catchup

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 703, in new_archive_record

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      dbmanager.addRecord(event.record,

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/manager.py", line 401, in addRecord

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self._updateHiLo(accumulator, cursor)

Aug 31 17:20:27 rvwx weewxd[2124]: Traceback (most recent call last):

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 210, in run

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/manager.py", line 1217, in _updateHiLo

Aug 31 17:20:27 rvwx weewxd[2124]:     self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      _stats_dict.updateHiLo(accumulator)

Aug 31 17:20:27 rvwx weewxd[2124]:     callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 662, in check_loop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/accum.py", line 446, in updateHiLo

Aug 31 17:20:27 rvwx weewxd[2124]:     raise BreakLoop

Aug 31 17:20:27 rvwx weewxd[2124]: weewx.engine.BreakLoop

Aug 31 17:20:27 rvwx weewxd[2124]: During handling of the above exception, another exception occurred:

Aug 31 17:20:27 rvwx weewxd[2124]: Traceback (most recent call last):

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewxd.py", line 226, in <module>

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      self._check_units(accumulator.unit_system)

Aug 31 17:20:27 rvwx weewxd[2124]:     main()

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewxd.py", line 127, in main

Aug 31 17:20:27 rvwx weewxd[2124]:     engine.run()

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 217, in run

Aug 31 17:20:27 rvwx weewxd[2124]:     self.dispatchEvent(weewx.Event(weewx.POST_LOOP))

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/accum.py", line 620, in _check_units

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]:     callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 672, in post_loop

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****      raise ValueError("Unit system mismatch %d v. %d" % (self.unit_system,

Aug 31 17:20:27 rvwx weewxd[2124]:     self._software_catchup()

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 743, in _software_catchup

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  ValueError: Unit system mismatch 1 v. 16

Aug 31 17:20:27 rvwx weewxd[2124]:     self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent

Aug 31 17:20:27 rvwx weewxd[2124]:     callback(event)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/engine.py", line 703, in new_archive_record

Aug 31 17:20:27 rvwx weewxd[2124]: CRITICAL __main__:     ****  Exiting.

Aug 31 17:20:27 rvwx weewxd[2124]:     dbmanager.addRecord(event.record,

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/manager.py", line 401, in addRecord

Aug 31 17:20:27 rvwx weewxd[2124]:     self._updateHiLo(accumulator, cursor)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/manager.py", line 1217, in _updateHiLo

Aug 31 17:20:27 rvwx weewxd[2124]:     _stats_dict.updateHiLo(accumulator)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/accum.py", line 446, in updateHiLo

Aug 31 17:20:27 rvwx weewxd[2124]:     self._check_units(accumulator.unit_system)

Aug 31 17:20:27 rvwx weewxd[2124]:   File "/usr/share/weewx/weewx/accum.py", line 620, in _check_units

Aug 31 17:20:27 rvwx weewxd[2124]:     raise ValueError("Unit system mismatch %d v. %d" % (self.unit_system,

Aug 31 17:20:27 rvwx weewxd[2124]: ValueError: Unit system mismatch 1 v. 16

Aug 31 17:20:27 rvwx systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE

Aug 31 17:20:27 rvwx systemd[1]: weewx.service: Failed with result 'exit-code'.

Aug 31 17:20:27 rvwx systemd[1]: weewx.service: Consumed 2.427s CPU time.



Karen K

unread,
Aug 31, 2024, 11:33:31 AM8/31/24
to weewx-user
The error message says the database one unit system and weewx.conf is the other. One of them is US, the other one is METRIC. That is not possible.

Graham Eddy

unread,
Aug 31, 2024, 11:37:12 AM8/31/24
to WeeWX User
unless, i guess, the weewx.conf unit system is changed after data had already been stored under previous unit system
⊣GE⊢

On 1 Sep 2024, at 1:33 AM, Karen K <kk44...@gmail.com> wrote:

The error message says the database one unit system and weewx.conf is the other. One of them is US, the other one is METRIC. That is not possible.


--
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/d3c75978-2367-4b1f-ab28-773bdc3d6598n%40googlegroups.com.

Stefan Gliessmann

unread,
Sep 2, 2024, 8:19:54 AM9/2/24
to weewx-user
Thank you for the feedback.

Today, I did perform a new install from scratch and - I think - during the initial weewx install, I was to quick in accepting the default values. And they include US unit.
In today's fresh install, I changed it to METRIC and, so far, it is running smoothly :)

Reply all
Reply to author
Forward
0 new messages