Almost complete!!

150 views
Skip to first unread message

Patrick Sifford

unread,
Jul 15, 2026, 3:53:39 PM (6 days ago) Jul 15
to weewx-user
I have been working over the past couple of weeks to get a better handle on the data flowing from my Acurite sensors for use in my home automation (Hubitat) device.  Previously, I had been able to pull data from the myAcurite site directly into Hubitat.  However, with the migration by Acurite from myAcurite to AcuriteNOW I need to take some action and get a better data flow that I could control.

One of the key data sets that I was using in my automation was the lumination value from the Acurite Atlas.  In my first pass to solving this problem I was going to use weather underground.  However, I found that weather underground drops that value in thier processing (it goes in...   but not back out!!!)

That is when I stumbled over weewx and since I had a raspberry pi thought I would give it a try.  The following diagram shows my configuration:

Screenshot 2026-07-15 153045.png
While I ran into a few dark alleys in setting this up with the help of some smart people here I was able to get this up and running fairly quickly.  Main issue that I ran into were library's that would error and finding a way to get them loaded (ends up there are two ways to do it and I chose badly)

I have been able to use all of 4 of my Acurite sensors in Hubitat with no problems and replace any flow of data from Acurite with this!!!

I have 3 issues that i need to sort out.....

1) Rain - I think I have that solved but waiting on a rain day to see if I got that right
2) Lightning - less confident that this is solved..   just need some lightning to see what I need to do!
3) windGust - This is a value that I did not have before but would like to get it so I can use it.

The next picture shows the weather station display that Hubitat creates for me:
Screenshot 2026-07-15 151801.png

It is a simple display but Accessable from my phone anywhere!!!!
It also shows must of the data that is moving across the interface.

Now my issue with wind gust!!!!

I know that Atlas does not generate this data.  However, I was interested in trying to create it!  Then in noticed on the Seasons web report that weewx has it!

Screenshot 2026-07-15 152028.png

I first noticed that the wind speed plot was also showing gust speed!!!  So I did some digging in the skin.conf file and saw were it was using windGust in the image .  I added windGust to the current conditions list.

However, if I add windGust to hubitat.py to push the data it appears to be null so not pushed.


Any idea on how I can obtain access to the windGust values?

THanks
Patrick Sifford

Tom Keffer

unread,
Jul 15, 2026, 4:17:08 PM (6 days ago) Jul 15
to weewx...@googlegroups.com
It's complicated, but in general when generating archive records a value for windGust will be supplied by the accumulators if the hardware does not provide one. If you run weewxd directly from the command line you can see what values it emits for archive records (marked "REC"). Double check that windGust is there and that it is not null.

A value is not supplied for LOOP packets.

I say "it's complicated" because the details depend on whether you are using hardware or software record generation.

-tk

--
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 visit https://groups.google.com/d/msgid/weewx-user/463b32e3-ddfb-4a28-8020-8ad49355360dn%40googlegroups.com.

Patrick Sifford

unread,
Jul 15, 2026, 5:01:57 PM (6 days ago) Jul 15
to weewx-user
Tom, 

Thanks for the reply.

Since the Acurite Atlas does not generate wind gust information I am assuming that the information showing up in the seasons report is software generated.

I did run the weewxd... and it seems like all LOOP data and no REC data.  with in the loop data I am not seeing any windGust referenced ( I did  : weewxd | grep -i "wind" and weewxd and weewxd | grep -i "REC"

weewxd | grep -i "REC" returned no records at all

weewxd | grep -i "wind" returned:
LOOP:   2026-07-15 16:55:33 EDT (1784148933) altimeter: 30.050631488573067, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148933, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 661.5986163120484, pressure: 29.391973160359, rain: 0.0, rain_total: 0.15, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, windchill: None, windDir: 287.0, windrun: None, windSpeed: 2.0
LOOP:   2026-07-15 16:55:33 EDT (1784148933) altimeter: 30.051882623600612, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148933, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 661.5986163120484, pressure: 29.393201990917856, rain: 0.0, rain_total: 0.15, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, windchill: None, windDir: 287.0, windrun: None, windSpeed: 2.0
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.05030774898751, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.391655192232598, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.05020308787426, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.391552396965135, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.051262400511714, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.39259282476455, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.05226787058341, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, freezerHumidity: 54.0, freezerTemp: 8.420000000000002, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.39358036998832, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.05249075271424, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, freezerHumidity: 54.0, freezerTemp: 8.420000000000002, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.393799278740726, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:39 EDT (1784148939) altimeter: 30.05242992946601, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148939, dewpoint: None, ET: None, freezerHumidity: 54.0, freezerTemp: 8.420000000000002, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 661.2700424233108, pressure: 29.393739539804006, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:44 EDT (1784148944) altimeter: 30.050843965551618, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148944, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 44070, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 660.9962191460468, pressure: 29.392181849415973, radiation: 347, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 8, windchill: None, windrun: None, windSpeed: 2.0
LOOP:   2026-07-15 16:55:44 EDT (1784148944) altimeter: 30.050464915611087, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148944, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 44070, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 660.9962191460468, pressure: 29.391809556970784, radiation: 347, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 8, windchill: None, windrun: None, windSpeed: 2.0
LOOP:   2026-07-15 16:55:44 EDT (1784148944) altimeter: 30.05192096913016, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148944, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 44070, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 660.9962191460468, pressure: 29.393239652849534, radiation: 347, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 8, windchill: None, windrun: None, windSpeed: 2.0
LOOP:   2026-07-15 16:55:46 EDT (1784148946) altimeter: 30.051582332945646, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148946, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: 57.208632229854274, inHumidity: 53.0, inTemp: 75.56, maxSolarRad: 660.8866592650161, pressure: 29.39290705364491, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:46 EDT (1784148946) altimeter: 30.052102376775117, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148946, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: 57.208632229854274, inHumidity: 53.0, inTemp: 75.56, maxSolarRad: 660.8866592650161, pressure: 29.393417826485262, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:55:46 EDT (1784148946) altimeter: 30.05211104632037, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784148946, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: 57.208632229854274, inHumidity: 53.0, inTemp: 75.56, maxSolarRad: 660.8866592650161, pressure: 29.39342634147599, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None


and weewxd returned:

Using configuration file /etc/weewx/weewx.conf
LOOP:   2026-07-15 16:56:44 EDT (1784149004) altimeter: 30.050261760252088, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149004, dewpoint: None, ET: None, freezerHumidity: 53.0, freezerTemp: 7.699999999999999, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.704952671527, pressure: 29.391610023361125, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:44 EDT (1784149004) altimeter: 30.04977645002501, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149004, dewpoint: None, ET: None, freezerHumidity: 53.0, freezerTemp: 7.699999999999999, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.704952671527, pressure: 29.391133365013815, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:44 EDT (1784149004) altimeter: 30.050420591765178, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149004, dewpoint: None, ET: None, freezerHumidity: 53.0, freezerTemp: 7.699999999999999, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.704952671527, pressure: 29.39176602330723, rainRate: 0.0, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.050234506569378, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.6499792992688, pressure: 29.39158325554341, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.05151958126576, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.6499792992688, pressure: 29.392845420661494, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.05163835689159, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, inDewpoint: None, maxSolarRad: 657.6499792992688, pressure: 29.392962078832465, rainRate: 0.0, upstairsHumidity: 49.0, upstairsTemp: 76.46000000000001, usUnits: 1, windchill: None, windrun: None
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.052136206047653, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 43740, inDewpoint: None, lightning_distance: None, lightning_strike_count: None, maxSolarRad: 657.6499792992688, pressure: 29.39345105267348, radiation: 345, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 7, windchill: None, windDir: None, windrun: None, windSpeed: 0.0
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.051437695802623, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 43740, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 657.6499792992688, pressure: 29.39276499500022, radiation: 345, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 7, windchill: None, windDir: None, windrun: None, windSpeed: 0.0
LOOP:   2026-07-15 16:56:45 EDT (1784149005) altimeter: 30.05146458957769, appTemp: None, barometer: None, cloudbase: None, dateTime: 1784149005, dewpoint: None, ET: None, heatindex: None, humidex: None, illuminance: 43740, inDewpoint: None, lightning_distance: 0, lightning_strike_count: 0, maxSolarRad: 657.6499792992688, pressure: 29.392791409330126, radiation: 345, rainRate: 0.0, strike_dist: 5, strikes_total: 162, usUnits: 1, UV: 7, windchill: None, windDir: None, windrun: None, windSpeed: 0.0

So it appears that weewx is calculating the value (if i knew how maybe i can replicate in [calculations]...or if there was some way to access the data.

also confused that you referenced REC but not seeing in the output......   I must be doing something wrong!

THanks
Patrick

Tom Keffer

unread,
Jul 15, 2026, 6:29:40 PM (6 days ago) Jul 15
to weewx...@googlegroups.com
You only show a few seconds worth of output. Depending on your archive interval, archive records are typically emitted every 5 minutes or so.

Be patient!

Patrick Sifford

unread,
Jul 15, 2026, 6:56:01 PM (6 days ago) Jul 15
to weewx-user
Ill give it another try.....    that is the catch phrase of weewx!!!!!!!!!!   LOL

Patrick Sifford

unread,
Jul 15, 2026, 7:05:20 PM (6 days ago) Jul 15
to weewx-user
Ahhh...    I have new data....   patience is a virtue that some of us dont have!!!  So now that I have this...    what does all of this mean????? 

windGust and windGustDir are both in there!!!!! 

REC:    2026-07-15 19:00:00 EDT (1784156400) altimeter: 30.03337017713454, appTemp: 101.8380150465835, barometer: 29.987733001331126, cloudbase: 5668.422028858116, dateTime: 1784156400, dewpoint: 72.1429430730243, ET: 0.0005652840172712734, freezerHumidity: 51.0, freezerTemp: -9.095384615384619, heatindex: 103.03999220918348, humidex: 111.7048326156599, illuminance: 13230.0, inDewpoint: 57.20863222985423, inHumidity: 53.0, inTemp: 75.55999999999996, interval: 5.0, lightning_distance: 0.0, lightning_strike_count: 0.0, maxSolarRad: 212.57227005648818, outHumidity: 48.833333333333336, outTemp: 94.4, pressure: 29.37501959069768, radiation: 103.85714285714286, rain: 0.0, rain_total: 0.14999999999999997, rainRate: 0.0, strike_dist: 5.0, strikes_total: 162.0, upstairsHumidity: 50.0, upstairsTemp: 76.39647058823535, usUnits: 1, UV: 1.4285714285714286, windchill: 94.4, windDir: 274.0755305618518, windGust: 4.0, windGustDir: 263.0, windrun: 0.16228070175438597, windSpeed: 1.9473684210526316
REC:    2026-07-15 19:00:00 EDT (1784156400) altimeter: 30.03337017713454, appTemp: 101.8380150465835, barometer: 29.987733001331126, cloudbase: 5668.422028858116, dateTime: 1784156400, dewpoint: 72.1429430730243, ET: 0.0005652840172712734, freezerHumidity: 51.0, freezerTemp: -9.095384615384619, heatindex: 103.03999220918348, humidex: 111.7048326156599, illuminance: 13230.0, inDewpoint: 57.20863222985423, inHumidity: 53.0, inTemp: 75.55999999999996, interval: 5.0, lightning_distance: 0.0, lightning_strike_count: 0.0, maxSolarRad: 212.57227005648818, outHumidity: 48.833333333333336, outTemp: 94.4, pressure: 29.37501959069768, radiation: 103.85714285714286, rain: 0.0, rain_total: 0.14999999999999997, rainRate: 0.0, strike_dist: 5.0, strikes_total: 162.0, upstairsHumidity: 50.0, upstairsTemp: 76.39647058823535, usUnits: 1, UV: 1.4285714285714286, windchill: 94.4, windDir: 274.0755305618518, windGust: 4.0, windGustDir: 263.0, windrun: 0.16228070175438597, windSpeed: 1.9473684210526316

Tom Keffer

unread,
Jul 15, 2026, 7:12:52 PM (6 days ago) Jul 15
to weewx...@googlegroups.com
My job is done! Can't help you with why it's not appearing in Hubitat. I know nothing about it.

Patrick Sifford

unread,
Jul 15, 2026, 7:27:01 PM (5 days ago) Jul 15
to weewx-user
Tom,

Thanks for you help...   ill continue poking around.    Can I assume that having seen the data in the REC set that it is available for use anywhere within weewx? 

Thanks

Tom Keffer

unread,
Jul 15, 2026, 7:50:25 PM (5 days ago) Jul 15
to weewx...@googlegroups.com
Yup. The service StdPrint (which prints what you see) is the next-to-last stop in the processing pipeline. Only StdReport, which generates the familiar reports (Seasons, Belchertown, etc.) comes after it.

Patrick Sifford

unread,
Jul 15, 2026, 7:52:26 PM (5 days ago) Jul 15
to weewx-user
Tom,


Here is a little more data....

I ran two experiments   in both I set up a variable called windGustA  and have windGustA as the value that is sent to hubitat.

experiment 1 i ran with the following edit to weewx.conf

[StdCalibrate]

    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2
        windGustA = windGust


experiment 2 i ran with the following edit to weewx.conf

[StdCalibrate]

    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2
        windGustA = 10

the first one had no data moving across to hubitat
the second one the value 10 showed up in hubitat assigned to windGust!!!

I was wondering if windGust could be some sort of vector or non scalar value?

Tom Keffer

unread,
Jul 15, 2026, 8:15:14 PM (5 days ago) Jul 15
to weewx...@googlegroups.com
You're seeing this because StdCalibrate comes before StdArchive (which is where the accumulators are emptied). So in the first example, there was no value for windGust, so windGustA was never assigned to anything. In fact it should not have appeared in the archive record at all.

In the second example, you're hardwiring a value for windGustA, so the accumulators are never involved.

Again, run weewxd on the command line. All will be revealed.

I can't explain why the value of 10 made it to hubitat, but a value for windGust did not. Something about your configuration, I suppose.

-tk

bell...@gmail.com

unread,
Jul 15, 2026, 8:32:56 PM (5 days ago) Jul 15
to weewx-user
Its available if you are using the archive record….
If you are using this extension, https://github.com/dennypage/weewx-hubitat/, I did a quick browse of the code and it is using the loop packet data to publish. So as noted above, the windGust data is not added to the loop packet.

Patrick Sifford

unread,
Jul 15, 2026, 8:45:40 PM (5 days ago) Jul 15
to weewx-user
Ahhh .....     that is making some sence...

so...    I could do one of two things

1) add windGust to the loop packet....     I saw a discussion of adding your own data to the loop packet. (  weewx adding data to the loop packet - Search )  However, I am not sure that I will have access to it in that service...
2) some how grab the archive record value.

I am going to be playing around with this a bit...     If possible I am thinking that option 1 may be the best (then can publish for others to use)  but I believe I still have the issue of how to access the archive data in the service.

Sorry I am new to all of this and am learning a lot!!!!!

Thanks
Patrick

bell...@gmail.com

unread,
Jul 15, 2026, 8:51:27 PM (5 days ago) Jul 15
to weewx-user
I’d start by reading this, https://weewx.com/docs/5.4/custom/service-engine/#modify-service (and all of the “intro” WeeWX docs about customization).

Patrick Sifford

unread,
Jul 15, 2026, 9:31:40 PM (5 days ago) Jul 15
to weewx-user
Ok..   I have a quick service that I wrote and tested...     What it does is to insert into the loop packet a item called windGust!  I have been able to set windGust to a number (originally 10...  but i have reset it to 0.0) and that shows that by doing this I have a flow of data into hubitat.py!!
            packet['windGust'] = 0.0
the entire service is listed below...    I used one from the WWW as a model.
just to see if it would be easy i replaced 0.0 with windGust to see if I was able to access the archive data from here....    that through a lot of errors!!!   basically it did not understand that value as it was undefined.

So if I can pull the data from the archive record that would solve my problem!

The other solution would be to calculate windGust...   but I do not know how weewx is calculating it (want to keep everything consistent).


# File: user/custom_loop_service.py
import weewx
import weewx.engine
import weewx.units
import time

class CustomLoopService(weewx.engine.StdService):
    def __init__(self, engine, config_dict):
        super(CustomLoopService, self).__init__(engine, config_dict)
        # Bind our method to the new_loop_packet event
        self.bind(weewx.NEW_LOOP_PACKET, self.add_custom_data)

    def add_custom_data(self, event):
        """Add custom fields to the LOOP packet."""
        try:
            packet = event.packet  # This is the live LOOP packet dictionary

            #Example: Add a 10 to windGustA - this is a test to see if this loop works
            packet['windGust'] = 0.0
#            packet['windGustDir'] = 360.0

            # Example: Add a timestamp in UNIX epoch format
#            packet['custom_timestamp'] = int(time.time())

            # Example: Add a calculated field (dewpoint from temp/humidity)
#            if 'outTemp' in packet and 'outHumidity' in packet:
#                temp_c = weewx.units.convert((packet['outTemp'], 'degree_C', 'group_temperature'))[0]
#                rh = packet['outHumidity']
#                dewpoint_c = temp_c - ((100 - rh) / 5.0)
#                packet['custom_dewpoint'] = dewpoint_c

        except Exception as e:
            self.log_error(f"Error adding custom data: {e}")

    def log_error(self, msg):
        syslog = weewx.debug
        syslog.error(msg)

Patrick Sifford

unread,
Jul 17, 2026, 12:42:07 PM (4 days ago) Jul 17
to weewx-user
Well i have some more reading to do on how to either create that wind gust speed from acurite atlas data or use the archive data (I have tried several things for both and not really got anything running).

However, in the mean time...     I am sending the data to weather underground (from weewx)  and then having hubitat read the data back and now it has a (not the same) wind gust value.  While this is a solution it is not a smooth solution (now dependent on another outside system that i have no control over.  

Patrick Sifford

unread,
Jul 19, 2026, 8:04:08 AM (2 days ago) Jul 19
to weewx-user
Tom and bell....

Just wanted to say that I have solved my problem (with ya'lls help_

I have created a service that will read the value of wind gust in from the REC packet and write it out to the LOOP packet.  I found this interesting s the easiest way to access the packets is to be triggered by the packet events.  However, i could only access the packet that created the trigger.  So I created three things in the service

1) a shared value to be accessible to all functions within the service
2) a function that is triggered on the creation of a new archive data to read the wind gust and place the value within the shared value
3) a function that is triggered by a new loop packet that then stores the shared value into  the LOOP packet

The first valid wind gust value occurs when the first archive interval has completed.  So there is  a number of LOOP packets that have the value None stored.  After that first completed archive loop every loop will have a valid wind gust value.

One word of warning is do not use the same name in the Loop packet for the field as used in the REC packet. 

So now  I just need to make sure that my rain and lightning processing of the Acurite Atlas data works!!   but I need it to rain!!!!

Reply all
Reply to author
Forward
0 new messages