Try removing the line

rain = prefer_hardware

It's what's causing the StdWXCalculate service to try and calculate a value.

I wonder where that line came from. I don't recall it ever being part of
weewx.conf

-tk

On Sat, Jan 16, 2021 at 4:58 PM Clay Jackson <[email protected]> wrote:

> I'm using an Accurite 5n1 - this has been working since early 3.x; just
> stopped in 4.3,  I AM using my 4.2 config files and skins.
>
> [StdWXCalculate]
>
>     [[Calculations]]
>         # Derived quantities are calculated by this service. Possible
> values are:
>         #  hardware        - use the value provided by hardware
>         #  software        - use the value calculated by weewx
>         #  prefer_hardware - use value provide by hardware if available,
>         #                      otherwise use value calculated by weewx
>
>         pressure = prefer_hardware
>         barometer = prefer_hardware
>         altimeter = software
>         windchill = software
>         heatindex = software
>         dewpoint = software
>         inDewpoint = prefer_hardware
>         rainRate = prefer_hardware
>         rain = prefer_hardware
>         ET = software
>         maxSolarRad = prefer_hardware
>         cloudbase = prefer_hardware
>         humidex = prefer_hardware
>         appTemp = prefer_hardware
>         windrun = prefer_hardware
>
>
> On Sat, Jan 16, 2021 at 4:45 PM Tom Keffer <[email protected]> wrote:
>
>> Normally, the driver does it, but if asked, WeeWX can calculate 'rain'
>> from cumulative quantities such as totalRain, by taking a difference.
>>
>> Your configuration file seems to be asking to do so, but totalRain is not
>> available. As for why it's asking, that's not clear.
>>
>> What does the section [StdWXCalculate] in your file weewx.conf look like?
>>
>>
>> On Sat, Jan 16, 2021 at 4:17 PM Clay Jackson <[email protected]>
>> wrote:
>>
>>> I just upgraded (through apt update, using raspbian) to 4.3.0 and am
>>> seeing the following error.
>>> Jan 16 15:59:12 Weather weewx[17287] INFO __main__: PID file is
>>> /var/run/weewx.pid
>>> Jan 16 15:59:12 Weather weewx[17275]: Starting weewx weather system:
>>> weewx.
>>> Jan 16 15:59:12 Weather weewx[17291] INFO __main__: Using configuration
>>> file /etc/weewx/weewx.conf
>>> Jan 16 15:59:12 Weather weewx[17291] INFO __main__: Debug is 0
>>> Jan 16 15:59:12 Weather weewx[17291] INFO weewx.engine: Loading station
>>> type SDR (user.sdr)
>>> Jan 16 15:59:12 Weather weewx[17291] INFO user.sdr: driver version is
>>> 0.78
>>> Jan 16 15:59:12 Weather weewx[17291] INFO user.sdr: sensor map is
>>> {u'windDir': u'wind_dir.04C9.Acurite5n1PacketV2', u'windSpeed':
>>> u'wind_speed.04C9.Acurite5n1PacketV2', u'outTemp':
>>> u'temperature.04C9.Acurite5n1PacketV2', u'outHumidity':
>>> u'humidity.04C9.Acurite5n1PacketV2', u'rain_total':
>>> u'rain_total.04C9.Acurite5n1PacketV2', u'txBatteryStatus':
>>> u'battery.04C9.Acurite5n1PacketV2', u'inTemp':
>>> u'temperature.4:0.AmbientF007THPacket', u'inHumidity':
>>> u'humidity.4:0.AmbientF007THPacket', u'lightning_distance':
>>> u'distance.002B.AcuriteLightningPacket', u'soilTemp1':
>>> u'temperature_probe.0F66.Acurite00275MPacket', u'extraTemp5':
>>> u'temperature.0F66.Acurite00275MPacket', u'extraHumid3':
>>> u'humidity.0F66.Acurite00275MPacket', u'extraTemp1':
>>> u'temperature.002B.AcuriteLightningPacket', u'extraHumid1':
>>> u'humidity.002B.AcuriteLightningPacket', u'strikes_total':
>>> u'strikes_total.002B.AcuriteLightningPacket', u'extraTemp2':
>>> u'temperature.1:0.AmbientF007THPacket', u'extraTemp3':
>>> u'temperature.2:0.AmbientF007THPacket', u'extraTemp4':
>>> u'temperature.3:0.AmbientF007THPacket', u'extraHumid2':
>>> u'humidity.3:0.AmbientF007THPacket'}
>>> Jan 16 15:59:12 Weather weewx[17291] INFO user.sdr: deltas is
>>> {u'lightning_strike_count': u'strikes_total', u'rain': u'rain_total'}
>>> Jan 16 15:59:12 Weather weewx[17291] INFO user.sdr: startup process
>>> 'rtl_433 -M utc -F json'
>>> Jan 16 15:59:12 Weather weewx[17291] INFO weewx.engine: StdConvert
>>> target unit is 0x1
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.engine: Archive will use
>>> data binding wx_binding
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.engine: Record
>>> generation will be attempted in 'hardware'
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.engine: Using archive
>>> interval of 300 seconds (specified in weewx configuration)
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.restx: Wunderground-PWS:
>>> Data for station KWAPROSS22 will be posted
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.restx: CWOP: Data for
>>> station N7QNM-13 will be posted
>>> Jan 16 15:59:13 Weather weewx[17291] INFO user.mqtt: service version is
>>> 0.23
>>> Jan 16 15:59:13 Weather weewx[17291] INFO user.mqtt: binding to archive
>>> Jan 16 15:59:13 Weather weewx[17291] INFO user.mqtt: topic is temps
>>> Jan 16 15:59:13 Weather weewx[17291] INFO user.mqtt: data will be
>>> uploaded to mqtt://@localhost:1883/
>>> Jan 16 15:59:13 Weather weewx[17291] INFO __main__: Starting up weewx
>>> version 4.3.0
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.engine: Using binding
>>> 'wx_binding' to database 'weewx'
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.manager: Starting
>>> backfill of daily summaries
>>> Jan 16 15:59:13 Weather weewx[17291] INFO weewx.engine: Starting main
>>> packet loop.
>>> Jan 16 15:59:34 Weather weewx[17291] INFO weewx.engine: Main loop
>>> exiting. Shutting engine down.
>>> Jan 16 15:59:34 Weather weewx[17291] INFO user.sdr: shutdown process
>>> rtl_433 -M utc -F json
>>> Jan 16 15:59:45 Weather weewx[17291] ERROR user.sdr: process did not
>>> respond to kill, shutting down anyway
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__: Caught
>>> unrecoverable exception:
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> 'totalRain'
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> Traceback (most recent call last):
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewxd", line 154, in main
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> engine.run()
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/engine.py", line 210, in run
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/engine.py", line 245, in dispatchEvent
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> callback(event)
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/wxservices.py", line 45, in new_loop_packet
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> self.do_calculations(event.packet)
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/wxservices.py", line 66, in do_calculations
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> new_value = weewx.xtypes.get_scalar(obs_type, data_dict, self.db_manager)
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/xtypes.py", line 71, in get_scalar
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> return xtype.get_scalar(obs_type, record, db_manager)
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****    File
>>> "/usr/share/weewx/weewx/wxxtypes.py", line 594, in get_scalar
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> delta = weewx.wxformulas.calculate_delta(record[total_key],
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> KeyError: 'totalRain'
>>> Jan 16 15:59:45 Weather weewx[17291] CRITICAL __main__:     ****
>>> Exiting.
>>>
>>> I'm using sdr to get data from an accurite 5n1. Tried some debugging  on
>>> my own and can't even see where totalRain is coming from - rtl_433 uses
>>> "rain_in, and sdr returns  rain_total
>>>
>>> Here's peces of my config
>>> [SDR]
>>>     # This section is for the software-defined radio driver.
>>>
>>>     # The driver to use
>>>     driver = user.sdr
>>>     path = /usr/local/bin
>>>     #    log_unknown_sensors = True
>>>     #    log_unmapped_sensors = True
>>>     [[sensor_map]]
>>>         windDir = wind_dir.04C9.Acurite5n1PacketV2
>>>         windSpeed = wind_speed.04C9.Acurite5n1PacketV2
>>>         outTemp = temperature.04C9.Acurite5n1PacketV2
>>>         outHumidity = humidity.04C9.Acurite5n1PacketV2
>>>         rain_total = rain_total.04C9.Acurite5n1PacketV2
>>>         txBatteryStatus = battery.04C9.Acurite5n1PacketV2
>>>         inTemp = temperature.4:0.AmbientF007THPacket
>>>         inHumidity = humidity.4:0.AmbientF007THPacket
>>>         lightning_distance = distance.002B.AcuriteLightningPacket
>>>         # Garden Bed
>>>         soilTemp1 = temperature_probe.0F66.Acurite00275MPacket
>>>         extraTemp5 = temperature.0F66.Acurite00275MPacket
>>>         extraHumid3 = humidity.0F66.Acurite00275MPacket
>>>         # GreenHouse
>>>         extraTemp1 = temperature.002B.AcuriteLightningPacket
>>>         extraHumid1 = humidity.002B.AcuriteLightningPacket
>>>         strikes_total = strikes_total.002B.AcuriteLightningPacket
>>>         # Upright Freezer
>>>         extraTemp2 = temperature.1:0.AmbientF007THPacket
>>>         # Chest Freezer
>>> .
>>> .  [[deltas]]
>>>         lightning_strike_count = strikes_total
>>>         rain = rain_total
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> 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/98c1d6db-d7ed-443e-ad5f-1fd3a10cb343n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/98c1d6db-d7ed-443e-ad5f-1fd3a10cb343n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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/CAPq0zEBHeWpbLeLyt-AYrfYiyN1gmV8w%3DT0ekxNwbQfR4tDpzg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBHeWpbLeLyt-AYrfYiyN1gmV8w%3DT0ekxNwbQfR4tDpzg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> 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/CAF3aohRbMnz%3D1LAA%3DWPVux7TSh%2BBKCTAtTY3qmY_7%2B7_1sB4RQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CAF3aohRbMnz%3D1LAA%3DWPVux7TSh%2BBKCTAtTY3qmY_7%2B7_1sB4RQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAPq0zEAssb9AnqG930Eeb7bVzCSOnn2dw-5Der30HipWSpL%2BhA%40mail.gmail.com.

Reply via email to