Weewx 4.7.0 with wh23xx driver fails

66 views
Skip to first unread message

Michael Waldor

unread,
Mar 9, 2022, 2:43:55 AM3/9/22
to weewx-user
I'm using a patched version of wh23xx driver successfully with weewx 4.5. After upgrade to 4.7.0 weewx crashes on startup:

Mär 09 08:03:34 imurr9 python3[21370]: weewx[21370] INFO weewx.engine: Loading station type WH23xx (user.wh23xx)
Mär 09 08:03:34 imurr9 weewx[21356]: Starting weewx weather system: weewx.
Mär 09 08:03:34 imurr9 systemd[1]: Started LSB: weewx weather system.
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] INFO weewx.engine: StdConvert target unit is 0x1
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__: Caught unrecoverable exception:
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****  Empty module name
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****  Traceback (most recent call last):
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****    File "/usr/share/weewx/weewxd", line 147, in main
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 93, in __init__
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****      self.loadServices(config_dict)
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 161, in loadServices
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****    File "/usr/share/weewx/weeutil/weeutil.py", line 1150, in get_object
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****      mod = __import__(module)
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****  ValueError: Empty module name
Mär 09 08:03:35 imurr9 python3[21370]: weewx[21370] CRITICAL __main__:     ****  Exiting.

But I have to admit - before updating I did deinstall the old forecast module using wee_extension --uninstall=forecast

I tried to exchange my old wh23xx.py by the patched one from neighbouring thread

But I guess that I have a different problem. any ideas?


Regards, Michael

Michael Waldor

unread,
Mar 9, 2022, 3:02:39 AM3/9/22
to weewx-user
I've now compared the log messages from the successful start of weewx 4.5.1 with the current one - the difference occures with data binding wx_binding:

Feb 13 09:08:36 imurr9 python3[500]: weewx[500] INFO weewx.engine: StdConvert target unit is 0x1
Feb 13 09:08:36 imurr9 python3[500]: weewx[500] INFO weewx.engine: Archive will use data binding wx_binding
Feb 13 09:08:36 imurr9 python3[500]: weewx[500] INFO weewx.engine: Record generation will be attempted in 'hardware'
Feb 13 09:08:36 imurr9 python3[500]: weewx[500] INFO weewx.engine: Using archive interval of 300 seconds (specified in weewx configuration)

I did read the weewx upgrade guide before upgrading - but there are no hints for potential risks.

Regards, Michael

Michael Waldor

unread,
Mar 9, 2022, 3:19:36 AM3/9/22
to weewx-user
Setting debug=1  within weewx.conf enhances the amount of messages, but still a crash:

Mär 09 09:14:43 imurr9 python3[859]: weewx[859] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] DEBUG weewx.engine: Loading service w
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] CRITICAL __main__: Caught unrecoverable exception:
Mär 09 09:14:43 imurr9 python3[859]: weewx[859] CRITICAL __main__:     ****  Empty module name

The logging seems to be interrupted by that hard error - see the incomplete last DEBUG message.

Regards, Michael

gjr80

unread,
Mar 9, 2022, 3:24:13 AM3/9/22
to weewx-user
Please post a copy of the [Engine] stanza from weewx.conf.

Gary

Michael Waldor

unread,
Mar 9, 2022, 3:37:12 AM3/9/22
to weewx-user
[Engine]

    # The following section specifies which services should be run and in what order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

[The weewx.conf in use is the one running successfully for weewx 4.5.1 but with forecast removed. Sadly I did NOT check if weewx 4.5.1 would start after uninstalling forecast. Thus maybe this uninstall is the rooot cause of my problem?]

Regards, Michael

gjr80

unread,
Mar 9, 2022, 3:58:16 AM3/9/22
to weewx-user
That looks fine. I'm having trouble seeing how such an an error will truncate a log entry. Nor do I see uninstalling the forecast extension would cause such a problem. Keeping debug = 1 can you restart WeeWX and post the WeeWX log from the WeeWX startup through until the error occurs.

One other thing, are you sure this is the weewx.conf that is actually being used? What do you see as the [Engine] stanza in a wee_debug report?

Gary

Michael Waldor

unread,
Mar 9, 2022, 3:58:42 AM3/9/22
to weewx-user
Problem solved - your hint was extremely helpful. Really, the Engine part was corrupt. My previous post of Engine was an excerpt from my BACKUP copy of weewx.conf (taken before uninstall). Due to my uninstall the entry archive_services was completely corrupt into

        archive_services = w, e, e, w, x, ., e, n, g, i, n, e, ., S, t, d, A, r, c, h, i, v, e

Now weewx 4.7.0 is up an running. Of course I did a comparision of "my" weewx.conf with the new one from 4.7.0, but based on my BACKUP copy.

Thank you very much, Michael
Reply all
Reply to author
Forward
0 new messages