Updated ecowitt_http driver: Support for wn20 (Mini Rain Sensor) Wind direction 10 min, Rain 24 hours, Rain Piezo 24 hours, RSSI. Now also included in the loop data: Voltage for the WH40 rain sensor, Heat for the LDS sensor.
Everything comes with firmware update GW3000 V1.1.0 Werner Krenn schrieb am Donnerstag, 17. Juli 2025 um 11:24:49 UTC+2: > lightning_num > is the number of lightning strikes on this day > > lightning_strike_count > is the difference from the previous archive value. > That's the only way I know it, and that's how it is now again. > > I use additionally > [StdCalibrate] > [[Corrections]] > lightning_noise_count = lightning_strike_count if > lightning_strike_count > 0 else None > > [accumulator] > [[lightning_noise_count]] > extractor = sum > > This allows me to display the last recorded number of lightning strikes > per day > without them disappearing after one day. > > [email protected] schrieb am Mittwoch, 16. Juli 2025 um 22:29:28 UTC+2: > >> I've updated ecowitt_http.py (warnings gone), set debug = rain, removed >> the corrections entry for p_rain and here is the log. No >> No more p_rain with the updated setting and the most recent version. (And >> yes, we had an considerable amount of rain here today, ~ 40mm so far and >> counting) >> [image: 2025-07-16 22_26_09-Das Wetter in AT, Salzburg, Hallein, Rif - >> Brave.png] >> By the way: >> >> "lightning_num": "23", >> "lightning_strike_count": "0", >> >> Today 23 strikes were registered. What's the change here, the old driver >> set the lightning_strike_count. >> >> >> Werner Krenn schrieb am Mittwoch, 16. Juli 2025 um 21:13:27 UTC+2: >> >>> Of course, it was meant to be debug at EcowittHttp: >>> >>> [EcowittHttp] >>> debug = rain >>> >>> With the current version, under >>> [[Corrections]] >>> p_rain = hail if hail is not None else None >>> is no longer necessary! >>> >>> [email protected] schrieb am Mittwoch, 16. Juli 2025 um 20:18:00 >>> UTC+2: >>> >>>> I've never heard of such an issue nor have I encountered one, but this >>>> one so far with the GW3000 >>>> >>>> I have mapped p_rain for piezo_rain with >>>> >>>> [StdCalibrate] >>>> [[Corrections]] >>>> p_rain = hail if hail is not None else None >>>> >>>> With debug = rain WeeWX didn't start, I've set logging to : >>>> debug = 3 >>>> [Logging] >>>> version = 1 >>>> disable_existing_loggers = False >>>> >>>> # Root logger >>>> [[root]] >>>> level = INFO >>>> handlers = rotate, #console >>>> >>>> # Additional loggers would go in the following section. This is >>>> useful for tailoring logging >>>> # for individual modules. >>>> [[loggers]] >>>> [[[user.ecowitt_http]]] >>>> level = DEBUG >>>> >>>> # Definitions of possible logging destinations >>>> [[handlers]] >>>> >>>> # Log to a set of rotating files >>>> [[[rotate]]] >>>> level = INFO >>>> formatter = verbose >>>> class = logging.handlers.RotatingFileHandler >>>> filename = /home/wusr/weewx-data/log/weewxd.log >>>> maxBytes = 10000000 >>>> backupCount = 4 >>>> >>>> Werner Krenn schrieb am Mittwoch, 16. Juli 2025 um 18:50:04 UTC+2: >>>> >>>>> Please set >>>>> debug = rain >>>>> >>>>> What is mapped for piezo_rain? >>>>> By the way, this behavior is why I changed the calculation of rain and >>>>> piezo_rain. >>>>> >>>>> Connection issues: >>>>> Have you read about the issue with GW3000 1.0.9 on GitHub? >>>>> >>>>> [email protected] schrieb am Mittwoch, 16. Juli 2025 um 15:40:12 >>>>> UTC+2: >>>>> >>>>>> After a failed connection to the GW300, this happened with the piezo >>>>>> rain data: >>>>>> Left: Old Ecowitt Gateway driver with GW2000, Right: ecowitt http >>>>>> driver with GW3000: >>>>>> [image: 2025-07-16 15_34_54-Das Wetter in AT, Salzburg, Hallein, Rif >>>>>> - Brave.png] >>>>>> >>>>>> From the log: >>>>>> 2025-07-16 13:28:17 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:28:16 CEST (1752665296) >>>>>> 2025-07-16 13:28:27 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:28:27 CEST (1752665307) >>>>>> 2025-07-16 13:28:37 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:28:37 CEST (1752665317) >>>>>> 2025-07-16 13:28:47 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:28:47 CEST (1752665327) >>>>>> 2025-07-16 13:29:07 weewxd[19407] ERROR user.ecowitt_http: URL - >>>>>> Failed to get device data on attempt 1 of 3 >>>>>> 2025-07-16 13:29:08 weewxd[19407] ERROR user.ecowitt_http: **** >>>>>> <urlopen error timed out> >>>>>> 2025-07-16 13:29:08 weewxd[19407] ERROR user.ecowitt_http: Unable to >>>>>> obtain live sensor data >>>>>> 2025-07-16 13:29:08 weewxd[19407] INFO weewx.engine: Main loop >>>>>> exiting. Shutting engine down. >>>>>> 2025-07-16 13:29:08 weewxd[19407] INFO weewx.engine: Shutting down >>>>>> StdReport thread >>>>>> 2025-07-16 13:29:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> EcowittHttpCollector thread has been terminated >>>>>> 2025-07-16 13:29:09 weewxd[19407] CRITICAL weewxd: Caught >>>>>> WeeWxIOError: >>>>>> 2025-07-16 13:29:09 weewxd[19407] CRITICAL weewxd: **** Waiting >>>>>> 60.0 seconds then retrying... >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewxd: retrying... >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: Loading station >>>>>> type EcowittHttp (user.ecowitt_http) >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> EcowittHttpDriver: version is 0.1.0 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> unit_system: 17 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: device >>>>>> IP address is 10.0.1.84 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: poll >>>>>> interval is 10 seconds >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: rain >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: wind >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: lightning >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: loop >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: sensors >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: catchup >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: parser >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: collector >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: archive >>>>>> debug is not set >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> wn32_indoor: sensor ID decoding will use indoor 'WN32' >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> wn32_outdoor: sensor ID decoding will use outdoor 'WN32P' >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: device >>>>>> firmware update checks will occur every 86400 seconds >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> available device firmware updates will be logged >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> battery state will not be reported for sensors with no signal data >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> unknown fields will be ignored >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: catchup >>>>>> source: device >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.ecowitt_http: >>>>>> EcowittHttpCollector startup >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: StdConvert >>>>>> target unit is 0x11 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.wxservices: >>>>>> StdWXCalculate will use data binding wx_binding >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: Archive will use >>>>>> data binding wx_binding >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: Record >>>>>> generation will be attempted in 'software' >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: Using archive >>>>>> interval of 300 seconds (software record generation) >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: StationRegistry: >>>>>> Registration not requested. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: Wunderground: >>>>>> Posting not enabled. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: PWSweather: >>>>>> Posting not enabled. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: CWOP: Posting not >>>>>> enabled. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: WOW: Posting not >>>>>> enabled. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.restx: AWEKAS: Posting >>>>>> not enabled. >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.mqtt: service version is >>>>>> 0.24 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.mqtt: binding to loop >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.mqtt: data_binding is >>>>>> wx_binding >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.mqtt: topic is >>>>>> weather_test_ws90 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO user.mqtt: data will be >>>>>> uploaded to mqtt://10.0.1.90:1883/ >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: 'pyephem' >>>>>> detected, extended almanac data is available >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewxd: Starting up weewx >>>>>> version 5.1.0 >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.engine: Using binding >>>>>> 'wx_binding' to database 'weewx-ws90.sdb' >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.manager: Starting >>>>>> backfill of daily summaries >>>>>> 2025-07-16 13:30:09 weewxd[19407] INFO weewx.manager: Daily summaries >>>>>> up to date >>>>>> 2025-07-16 13:30:12 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> using 'rain.0x13.val' for rain total >>>>>> 2025-07-16 13:30:12 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> using 'piezoRain.0x13.val' for piezo rain total >>>>>> 2025-07-16 13:30:12 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> Skipping lightning count of 1.0: no last count >>>>>> 2025-07-16 13:30:12 weewxd[19407] INFO weewx.manager: Added record >>>>>> 2025-07-16 13:28:00 CEST (1752665280) to database 'weewx-ws90.sdb' >>>>>> 2025-07-16 13:30:12 weewxd[19407] INFO weewx.manager: Added record >>>>>> 2025-07-16 13:28:00 CEST (1752665280) to daily summary in >>>>>> 'weewx-ws90.sdb' >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO weewx.engine: Starting main >>>>>> packet loop. >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.ecowitt_http: Using >>>>>> 'rain.0x13.val' for rain total >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.ecowitt_http: Using >>>>>> 'piezoRain.0x13.val' for piezo rain total >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> skipping rain measurement of 600.4: no last rain >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> skipping piezo rain measurement of 691.3: no last rain >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.ecowitt_http: Archive: >>>>>> Skipping lightning count of 1: no last count >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO user.mqtt: client established >>>>>> for mqtt://10.0.1.90:1883/ >>>>>> 2025-07-16 13:30:13 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:30:09 CEST (1752665409) >>>>>> 2025-07-16 13:30:19 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:30:19 CEST (1752665419) >>>>>> 2025-07-16 13:30:30 weewxd[19407] INFO weewx.restx: MQTT: Published >>>>>> record 2025-07-16 13:30:29 CEST (1752665429) >>>>>> [email protected] schrieb am Montag, 14. Juli 2025 um 21:05:17 >>>>>> UTC+2: >>>>>> >>>>>>> The warnings shows up once, after the ecowitt_http.py was altered >>>>>>> when a new pycache object is created, only showing up when starting >>>>>>> weewxd >>>>>>> manually. It is console output not being logged. >>>>>>> >>>>>>> vince schrieb am Montag, 14. Juli 2025 um 20:03:48 UTC+2: >>>>>>> >>>>>>>> On Monday, July 14, 2025 at 9:29:24 AM UTC-7 steepleian wrote: >>>>>>>> >>>>>>>> @Werner >>>>>>>> I find it very confusing that hail is used for p_rain. >>>>>>>> My database has columns for p_rain etc from mods I made for GW2000 >>>>>>>> driver. >>>>>>>> >>>>>>>> >>>>>>>> Agree. I notice that weewx doesn't directly support multiple wind >>>>>>>> nor rain sensors, so folks with a combination if piezo and old-style >>>>>>>> spinning/tipping sensors have issues mapping database elements. >>>>>>>> >>>>>>>> Rather than requiring modifying the as-delivered weewx schema, I'm >>>>>>>> wondering if an alternate approach might be to create an >>>>>>>> ecowitt-specific >>>>>>>> schema and a secondary db for whatever ecowitt supports. Granted, >>>>>>>> skins >>>>>>>> would need to explicitly reference the ecowitt db binding, but it >>>>>>>> would >>>>>>>> make the database mapping issue a non-issue. >>>>>>>> >>>>>>>> FWIW - the purpleair extension I use as well as a couple other >>>>>>>> extensions create these alternate databases on first use, so it's not >>>>>>>> a big >>>>>>>> deal. You might consider taking the same approach for ecowitt which >>>>>>>> has a >>>>>>>> growing list of uniquenesses as they add more and more sensor types >>>>>>>> users >>>>>>>> can purchase. >>>>>>>> >>>>>>>> That said, I do not know offhand if it is possible to have a >>>>>>>> driver's sensor_map use a secondary db rather than the default db. >>>>>>>> That >>>>>>>> might be helpful to be able to do, or even to map each sensor_map item >>>>>>>> to >>>>>>>> the chosen db+element to read from. >>>>>>>> >>>>>>>> >>>>>>> -- 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 visit https://groups.google.com/d/msgid/weewx-user/d68a2233-7ac1-4914-bf1a-99114a9602f9n%40googlegroups.com.
