NULL data for some values with Cumulus Real-Time plugin

123 views
Skip to first unread message

David Schulz

unread,
Aug 3, 2020, 9:03:05 AM8/3/20
to weewx-user

hi,

i've installed the crt plugin. works fine, looks good, but i didn't get the right data for some values.

here an example.

03.08.20 13:52:49 NULL NULL NULL 4.0 4.1 278 0.0 2.6 NULL W 1 km/h C hPa mm 26.6 NULL 10.6 216.3 8.0 NULL NULL NULL NULL 18.4 01:38 16.4 04:44 7.2 13:40 14.2 13:30 1013.2 00:02 1012.0 05:40 4.1.1 0 9.4 NULL NULL NULL NULL NULL 290 0.0 0 1 0 WNW NULL m NULL 8.4 825.2 0

<?xml version="1.0" encoding="ISO-8859-15" ?> <maintag> <misc><data misc="refresh_time">2020.08.03. 141659</data></misc> <misc><data misc="forecast_nr">0</data></misc> <realtime><data misc="winddir">357</data></realtime> <realtime><data misc="location">Siewisch</data></realtime> <realtime><data realtime="forecast_text">None</data></realtime> <realtime><data realtime="sunrise">1596425366.0382288</data></realtime> <realtime><data realtime="sunset">1596480492.8021495</data></realtime> <realtime><data realtime="temp">None</data></realtime> <realtime><data realtime="intemp">None</data></realtime> <realtime><data realtime="hum">None</data></realtime> <realtime><data realtime="inhum">None</data></realtime> <realtime><data realtime="press">None</data></realtime> <realtime><data realtime="presstrendval">None</data></realtime> <realtime><data realtime="dew">None</data></realtime> <realtime><data realtime="current_rainfall">0.0</data></realtime> <realtime><data realtime="last_hour_rainfall">0.0</data></realtime> <realtime><data realtime="avg_windspeed">3.0094732800000004</data></realtime> <realtime><data realtime="high_windgust">11.55508992</data></realtime> <realtime><data realtime="windunit">km/h</data></realtime> <realtime><data realtime="wchill">None</data></realtime> <realtime><data realtime="avg_dir">NNW</data></realtime> <realtime><data today="today_temp_high">18.444444444444443</data></realtime> <realtime><data today="today_temp_low">16.444444444444443</data></realtime> <realtime><data today="today_press_high">1013.1547394414431</data></realtime> <realtime><data today="today_press_low">1011.9741238332268</data></realtime> <realtime><data today="today_hour_rainfall">0.0</data></realtime> <realtime><data today="today_rainfall">2.5999999999999996</data></realtime> <realtime><data today="today_max_windspeed">7.18572096</data></realtime> <realtime><data today="today_max_windgust">14.178320640000003</data></realtime> <realtime><data yesterday="yesterday_rainfall">7.999999999999992</data></realtime> </maintag> Aug 3 14:12:20 pi2 weewx[1284] DEBUG weewx.engine: Finished loading service user.crt.CumulusRealTime Aug 3 14:15:41 pi2 weewx[1700] DEBUG weewx.engine: Loading service user.crt.CumulusRealTime Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: service version is 0.21 Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: realtime txt output goes to /var/ram/realtime.txt Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: realtime xml output goes to /var/ram/realtime.xml Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: 'None' values will be displayed as NULL Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: units will be displayed as METRIC Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: pressure units will be displayed as hPa Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: temperature units will be displayed as degree_C Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: wind units will be displayed as km_per_hour Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: cloudbase units will be displayed as meter Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: zambretti forecast: False Aug 3 14:15:41 pi2 weewx[1700] INFO user.crt: binding is loop Aug 3 14:15:41 pi2 weewx[1700] DEBUG weewx.engine: Finished loading service user.crt.CumulusRealTime

and here the part from the config. yes i forced metric values, a lot. ;-)

# Options for extension 'crt' [CumulusRealTime] 
 filename = /var/ram/realtime.txt 
 unit_system = METRIC 
 wind_units = km_per_hour 
 pressure_units = hPa 
cloudbase_units = meter 
 date_separator = "." 
 temperature_units = degree_C 

# weewxd --version && lsb_release -a && uname -a 4.1.1 No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster Linux pi2.fu110.de 5.4.51-v7+ #1327 SMP Thu Jul 23 10:58:46 BST 2020 armv7l GNU/Linux

Have I forgotten something?

gjr80

unread,
Aug 3, 2020, 10:32:25 AM8/3/20
to weewx-user
Hi,

No, likely you have not forgottten anything. You have bound crt to loop and chances are your station provides what are known as partial packets, ie each loop packet does not contain all observations, so when the crt service receives a loop packet it does not have values for all obs and those that are missing are None/NULL etc. If that is the case you essentially have three choices; change your binding from loop to archive but then crt will only generate files every archive interval, you can live with it or get another station that does not have partial packets. What station do you have ?

Gary

David Schulz

unread,
Aug 3, 2020, 10:55:29 AM8/3/20
to weewx-user
It's Davis Vantage Vue with Weatherlink Live and the  Weatherlink Live UDP driver. 

David Schulz

unread,
Aug 3, 2020, 11:00:20 AM8/3/20
to weewx-user
you were right... changed the binding...

cat realtime.txt
03.08.20 16:58:00 19.3 83 16.4 2.7 2.9 320 0.0 2.6 1011.2 NW 1 km/h C hPa mm 37.3 -1.0 10.6 216.3 8.0 26.1 56 19.3 2.3 19.2 16:56 16.4 04:44 7.2 13:40 14.2 13:30 1013.2 00:02 1011.1 16:52 4.1.1 0 8.7 19.9 24.2 NULL NULL NULL 298 0.0 0 1 0 WNW 438 m 20.8 11.5 496.3 0

gjr80

unread,
Aug 3, 2020, 7:52:25 PM8/3/20
to weewx-user
Ok, I don’t know anything about how the Weather Link UDP driver works but by the sounds of it it only emits partial packets. The interesting thing is that Davis stations, when run through a serial/USB direct connection (or IP using the old IP logger), use the vantage driver which is not partial packet and would likely give you the same or similar output you are getting now but generated every 2.5 odd seconds. I guess all new technology is not necessarily a step forward on all fronts.

Gary

Hyrules

unread,
Aug 5, 2020, 4:46:56 PM8/5/20
to weewx-user
I can confirm this as well I have the Weatherflow Tempest with the UDP driver as well as the cumulus realtime service.  The station broadcast packet on a time base. This makes a few different packet types. Wind, Obs and Strikes as well as others. The only way to fix this is to bind the crt plugin to the archive packet instead of the loop. It will generate a full realtime.txt value without NULL values. The problem with this is that it's not really realtime for the wind. I might try myself at creating a service for a realtime tempest file. I have a few idea on how to do it. This is not a bad thing in itself because you get data values faster this way for the wind and realtime lightning strike events.

Packet I see are the following : rapid_wind, hub_status, obs_st, device_status, strike_evt

Wind packet is emitted every 3 seconds
Hub status packet every 10 seconds
Observations every 60 seconds.
Strikes are on event

So one would need to build a realtime file with the first full observation write the realtime file, update the current observation with the wind value, write another file and when it receives the next observation update every other values. Looping light that would make a more realtime file.

Chotechai Piyavongsiri

unread,
Aug 9, 2020, 9:30:23 PM8/9/20
to weewx-user
.....So one would need to build a realtime file with the first full observation write the realtime file, update the current observation with the wind value, write another file and when it receives the next observation update every other values. Looping light that would make a more realtime file.....

I'm looking forwards to this option too. Hope someone could have done this.

steeple ian

unread,
Aug 10, 2020, 1:25:54 AM8/10/20
to weewx...@googlegroups.com
The weewx-Weather34 skin does exactly what you are looking for. It creates a cache of loop data to fill in gaps if the station emits partial loops. What is written to the real time file is always the latest data for each sensor type.


Ian

--
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/3588a9c4-7c8e-4ec3-ab9c-6291b188f1afn%40googlegroups.com.

Hyrules

unread,
Aug 10, 2020, 6:54:53 AM8/10/20
to weewx-user
Yes it's basically what steeple ian is telling. One would need to build a cache of the current observations and update as needed. I have started creating an extension that does this. It's not that complicated to do. It's just long because you have to get 59 values for all the possibilities in the realtime file. Just make an array with the values and update the array as needed. The skin that steeple ian is showing seems to be interesting. I will also take a look at it. Might use it instead of making my own extension. I have reported the issue as well to the owner of Weewx-crt but I don't know if he will fix this.

Hyrules

unread,
Aug 10, 2020, 1:16:34 PM8/10/20
to weewx-user
steeple ian skin is very impressive. I can definitely say that it might become my favorite skin for weewx. I have to finish configure it but it's almost perfect for me. The only thing I can add is a suggestion scaling for high resolution monitor because on 4k it's limit small though the realtime file is working very well.

steeple ian

unread,
Aug 10, 2020, 1:30:16 PM8/10/20
to weewx...@googlegroups.com
Thank you for your comments.

The Weather34 theme was originally developed for use on tablets as a console dashboard replacement hence the format. All the images are .svg so scale perfectly when you zoom in. 

Ian

On Mon, 10 Aug 2020 at 18:16, Hyrules <hyr...@gmail.com> wrote:
steeple ian skin is very impressive. I can definitely say that it might become my favorite skin for weewx. I have to finish configure it but it's almost perfect for me. The only thing I can add is a suggestion scaling for high resolution monitor because on 4k it's limit small though the realtime file is working very well.

--
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.
Reply all
Reply to author
Forward
0 new messages