@Michael, @Werner, @Vince, I have the WeeWX-Ecowitt_http working flawlessly in driver mode now. So much so that I have confidently moved it across to my live server.
There are just a couple of things to mention: - 1. Using the rain column to generates day, week, month etc gives some rather bizarre results as @Michael discovered. The safe way to go is dayRain, weekRain etc which give the expected results. 2. It makes sense to me that if a dedicated Ecowitt database schema is the way to go. If this is the case, the examples of this that are already out there need to come together to agree a standard. The example I quoted in an earlier post of using the hail column for piezo rain, I understand why this was done in the first instance, but surely if we speak about a dedicated schema, piezo rain should be fully supported in its own right? I will be interested in our collective thoughts on this. Thanks, Ian > On 21 Jul 2025, at 19:46, 'Werner Krenn' via weewx-user > <[email protected]> wrote: > > I only use these entries in the weewx.conf > > [StdCalibrate] > [[Corrections]] > lightning_distance_save = lightning_dist if lightning_dist is not > None else None > lightning_distance = lightning_dist if lightning_strike_count > 0 > else None > lightning_noise_count = lightning_strike_count if > lightning_strike_count > 0 else None > > > [Accumulator] > [[lightning_distance]] > extractor = last > [[lightning_strike_count]] > extractor = sum > [[lightning_last_det_time]] > extractor = last > [[lightningcount]] > extractor = last > [[lightning_noise_count]] > extractor = sum > > Ian Millard schrieb am Montag, 21. Juli 2025 um 20:01:38 UTC+2: >> @Werner, >> >> How do you generate the last non-zero strike distance and time? I have an >> X-Type to do that, but maybe you have another way. >> >> >>> On 17 Jul 2025, at 10:24, 'Werner Krenn' via weewx-user >>> <[email protected] <>> wrote: >>> >> >>> 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] <http://gmx.at/> 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) >>>> >>>> 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: >>>>>>>> >>>>>>>> >>>>>>>> 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/ <http://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/ <http://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/65ac62e1-ca01-48a1-bb84-72ba48e50b59n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/weewx-user/65ac62e1-ca01-48a1-bb84-72ba48e50b59n%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] > <mailto:[email protected]>. > To view this discussion visit > https://groups.google.com/d/msgid/weewx-user/b2e50c63-665f-4b41-8daa-708c7f9b7ba3n%40googlegroups.com > > <https://groups.google.com/d/msgid/weewx-user/b2e50c63-665f-4b41-8daa-708c7f9b7ba3n%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 visit https://groups.google.com/d/msgid/weewx-user/CF5BFDBC-9437-40AE-8A9C-F803F7AA1730%40btinternet.com.
