weewx crashes when NOT wx_binding is used.

18 views
Skip to first unread message

Lucas Heijst

unread,
Mar 29, 2023, 11:11:39 AM3/29/23
to weewx-development
I started a fresh insallation of weewx V5.0.0.a26.
In weewx_cmon.conf (which is a modified copy of weewx.conf) I changed all occurrences of wx_binding to cmon_binding.
For some reason the weewx program doesn't like this, see errorlog below.
I presume it should be possible to change the name of the binding(s) as desired.
AFAIK the term 'wx_binding' is not used in weewx-data (only in example and doc files).
-----
Mar 29 11:58:48 pi33 systemd[1]: Started pi33 cmon.
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Initializing weewx version 5.0.0a26
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Using Python 3.9.2 (default, Mar 12 2021, 04:06:34) #012[GCC 10.2.1 20210110]
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Located at /usr/bin/python3
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Platform Linux-5.15.84-v7+-armv7l-with-glibc2.31
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Locale is 'en_GB.UTF-8'
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Entry path: /root/.local/lib/python3.9/site-packages/weewxd.py
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Using configuration file /root/weewx-data/weewx_cmon.conf
Mar 29 11:58:49 pi33 weewx[8811] INFO __main__: Debug is 0
Mar 29 11:58:49 pi33 weewx[8811] INFO weewx.engine: Loading station type Simulator (weewx.drivers.simulator)
Mar 29 11:58:49 pi33 weewx[8811] INFO weewx.engine: StdConvert target unit is 0x10
Mar 29 11:58:49 pi33 weewx[8811] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Mar 29 11:58:49 pi33 weewx[8811] WARNING weewx.wxservices: The StdWXCalculate data binding (wx_binding) does not match the StdArchive data binding (cmon_binding).
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__: Caught unrecoverable exception:
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  Unknown data binding ''wx_binding''
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  Traceback (most recent call last):
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/manager.py", line 865, in get_manager_dict_from_config
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      manager_dict = dict(config_dict['DataBindings'][data_binding])
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/configobj/__init__.py", line 554, in __getitem__
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      val = dict.__getitem__(self, key)
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  KeyError: 'wx_binding'
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  During handling of the above exception, another exception occurred:
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  Traceback (most recent call last):
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewxd.py", line 150, in main
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 90, in __init__
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      self.loadServices(config_dict)
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 158, in loadServices
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/wxservices.py", line 105, in __init__
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      self.db_manager = engine.db_binder.get_manager(data_binding=data_binding,
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/manager.py", line 755, in get_manager
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      manager_dict = get_manager_dict_from_config(self.config_dict,
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****    File "/root/.local/lib/python3.9/site-packages/weewx/manager.py", line 867, in get_manager_dict_from_config
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****      raise weewx.UnknownBinding("Unknown data binding '%s'" % e)
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  weewx.UnknownBinding: Unknown data binding ''wx_binding''
Mar 29 11:58:49 pi33 weewx[8811] CRITICAL __main__:     ****  Exiting.
Mar 29 11:58:49 pi33 systemd[1]: weewx_cmon.service: Main process exited, code=exited, status=1/FAILURE
Mar 29 11:58:49 pi33 systemd[1]: weewx_cmon.service: Failed with result 'exit-code'.
-----

Tom Keffer

unread,
Mar 29, 2023, 8:02:49 PM3/29/23
to Lucas Heijst, weewx-development
The name is not totally arbitrary. The service StdWXCalculate needs to calculate weather-related quantities, such as dewpoint. Hence, it needs a weather-related binding. 

If you don't provide one, then it guesses wx_binding. If that's not the same as the binding used by the database, then it warns you. That's what the entry, "The StdWXCalculate data binding (wx_binding) does not match the StdArchive data binding (cmon_binding)" is all about.

You have two choices. Either tell it that it can find what it needs using cmon_binding:

[StdWXCalculate]
  data_binding = cmon_binding
    [[Calculations]]
      ...

or remove StdWXCalculate from the list of services to be run.

-tk



--
You received this message because you are subscribed to the Google Groups "weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-developm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/2e44a1c1-efc9-4cfd-973e-92a78a191368n%40googlegroups.com.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages