As a test I replaced service ComputerMonitor with service alarm (copied 
from examples/alarm.py) and got a similar exception.

weewx_cmon.conf
...
    [[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 = ""
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport, 
user.alarm.MyAlarm

I wonder if line 1624 in units.py has something to do with the error 
(arbitrarily, pick the US unit system:)

    # Is the record None?
    if record_dict is None:
        # Yes. Signal a value of None and, arbitrarily, pick the US unit 
system:
        val = None
        std_unit_system = weewx.US
    else:
        # There is a record. Get the value, and the unit system.
        val = record_dict[obs_type]
        std_unit_system = record_dict['usUnits']
Op dinsdag 21 februari 2023 om 11:48:03 UTC-3 schreef Lucas Heijst:

> The Computer monitor program (cmon.py) doesn't call 'genLoopPackets' which 
> yield loop data.
> Once per archive interval 'new_archive_record' is called which in version 
> 5.0.0a16 generates an 'Unit system mismatch' error.
>
> Probably the default value is 'US' while cmon.py uses 'METRIC'.
>
> Do I have to solve this in cmon.py (e.g. call  'genLoopPackets' once 
> during init)?
>
> Luc
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/d3a9ba87-b9e4-414a-ba9a-bb31855ed730n%40googlegroups.com.
Feb 21 20:26:59 pi36 systemd[1]: Started WeeWX cmon.
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Initializing weewx version 
5.0.0a18
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Using Python 3.9.2 (default, Mar 
12 2021, 04:06:34) #012[GCC 10.2.1 20210110]
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Located at /usr/bin/python3
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Platform 
Linux-5.15.84-v7+-armv7l-with-glibc2.31
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Locale is 'en_GB.UTF-8'
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Using configuration file 
/root/weewx-data/weewx_cmon.conf
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Debug is 1
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewxd: Initializing engine
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Loading station type 
ComputerMonitor (user.cmon)
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: driver version is 0.21
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: polling interval is 10
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: sysinfo: Linux pi36 
5.15.84-v7+ #1613 SMP Thu Jan 5 11:59:48 GMT 2023 armv7l
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: processor: 3
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: model name: ARMv7 
Processor rev 4 (v7l)
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: BogoMIPS: 89.60
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: Features: half thumb 
fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: CPU implementer: 0x41
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: CPU architecture: 7
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: CPU variant: 0x0
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: CPU part: 0xd03
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: CPU revision: 4
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: Hardware: BCM2835
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: Revision: a020d3
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: Serial: 
00000000aea40eae
Feb 21 20:27:00 pi36 weewx[12049] INFO user.cmon: cpuinfo: Model: Raspberry Pi 
3 Model B Plus Rev 1.3
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdTimeSynch
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdTimeSynch
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdConvert
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: StdConvert target unit is 
0x1
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdConvert
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdCalibrate
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdCalibrate
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdQC
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdQC
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.wxservices.StdWXCalculate
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.wxservices: StdWXCalculate will 
use data binding wx_binding
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.manager: Daily summary version is 
4.0
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.wxservices.StdWXCalculate
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.wxxtypes.StdWXXTypes
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.wxxtypes.StdWXXTypes
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.wxxtypes.StdPressureCooker
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.wxxtypes.StdPressureCooker
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.wxxtypes.StdRainRater
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.wxxtypes.StdRainRater
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.wxxtypes.StdDelta
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.wxxtypes.StdDelta
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdArchive
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Archive will use data 
binding wx_binding
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Record generation will be 
attempted in 'hardware'
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Using archive interval of 
300 seconds (specified in weewx configuration)
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Use LOOP data in hi/low 
calculations: 1
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdArchive
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: No services in service 
group restful_services
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdPrint
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdPrint
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
weewx.engine.StdReport
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: 'pyephem' detected, 
extended almanac data is available
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
weewx.engine.StdReport
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Loading service 
user.alarm.MyAlarm
Feb 21 20:27:00 pi36 weewx[12049] INFO user.alarm: Alarm set for expression: 
'outTemp < 40.0'
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Finished loading service 
user.alarm.MyAlarm
Feb 21 20:27:00 pi36 weewx[12049] INFO weewxd: Starting up weewx version 
5.0.0a18
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.engine: Station does not support 
reading the time
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Using binding 'wx_binding' 
to database 'wx_cmon36'
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.manager: Starting backfill of 
daily summaries
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.manager: Daily summaries up to date
Feb 21 20:27:00 pi36 weewx[12049] INFO weewx.engine: Starting main packet loop.
Feb 21 20:27:00 pi36 weewx[12049] DEBUG weewx.wxxtypes: Database error while 
initializing rainRate: '(1054, "Unknown column 'rain' in 'field list'")'
Feb 21 20:30:23 pi36 weewx[12049] INFO weewx.engine: Main loop exiting. 
Shutting engine down.
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd: Caught unrecoverable 
exception:
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  Unit system 
mismatch 16 v. 1
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  Traceback (most 
recent call last):
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 214, in run
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 245, in 
dispatchEvent
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      callback(event)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 634, in 
check_loop
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      raise BreakLoop
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  
weewx.engine.BreakLoop
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  During handling of 
the above exception, another exception occurred:
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  Traceback (most 
recent call last):
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 650, in 
post_loop
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self._catchup(self.engine.console.genArchiveRecords)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 697, in 
_catchup
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      for record in 
generator(lastgood_ts):
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/drivers/__init__.py", line 30, 
in genArchiveRecords
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      raise 
NotImplementedError("Method 'genArchiveRecords' not implemented")
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  
NotImplementedError: Method 'genArchiveRecords' not implemented
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  During handling of 
the above exception, another exception occurred:
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  Traceback (most 
recent call last):
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewxd.py", line 155, in main
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      engine.run()
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 221, in run
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 245, in 
dispatchEvent
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      callback(event)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 652, in 
post_loop
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self._software_catchup()
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 715, in 
_software_catchup
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 245, in 
dispatchEvent
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      callback(event)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/engine.py", line 675, in 
new_archive_record
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
dbmanager.addRecord(event.record,
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/manager.py", line 402, in 
addRecord
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self._updateHiLo(accumulator, cursor)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/manager.py", line 1191, in 
_updateHiLo
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
_stats_dict.updateHiLo(accumulator)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/accum.py", line 451, in 
updateHiLo
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      
self._check_units(accumulator.unit_system)
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****    File 
"/root/.local/lib/python3.9/site-packages/weewx/accum.py", line 622, in 
_check_units
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****      raise 
ValueError("Unit system mismatch %d v. %d" % (self.unit_system,
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  ValueError: Unit 
system mismatch 16 v. 1
Feb 21 20:30:23 pi36 weewx[12049] CRITICAL weewxd:     ****  Exiting.
Feb 21 20:30:23 pi36 systemd[1]: weewx_cmon.service: Main process exited, 
code=exited, status=1/FAILURE
Feb 21 20:30:23 pi36 systemd[1]: weewx_cmon.service: Failed with result 
'exit-code'.
Feb 21 20:30:23 pi36 systemd[1]: weewx_cmon.service: Consumed 1.341s CPU time.

Reply via email to