GW1100 and WN34BL

415 views
Skip to first unread message

Dana Rawding

unread,
Feb 24, 2023, 7:58:47 AM2/24/23
to weewx-user
Got my GW1100 yesterday and installed weewx.  Had started with rtl_433 before learning about interceptor.  Reconfigured with interceptor and things are working.

The first thing I noticed was that the GW1100 is reporting temp and humidity but there is no pressure.  Am I missing something or is there a way to display pressure?  I am seeing it on the Ecowitt mobile app.

Second is I added a WN34BL sensor.  This is a waterproof liquid temp sensor for pools, ponds, etc.  Unfortunately interceptor does not recognize it.  In the logs I see the following:

user.interceptor: unrecognized parameter runtime=48102

user.interceptor: unrecognized parameter tf_ch1=58.8

user.interceptor: unrecognized parameter tf_batt1=1.42


In the gw1000 recipe it mentioned to come to this list for unsupported sensors.  Can someone give me some guidance as to how to add support for this sensor.  I would imagine it would not be too difficult as it's just temp and batt.  I'm happy to dig in and do some customization but not sure where to start.

Thanks!

steepleian

unread,
Feb 24, 2023, 8:37:00 AM2/24/23
to weewx...@googlegroups.com
There is a dedicated driver/service for the Ecowitt gateway. I am sure this will solve your problems. It’s called weewx-gw1000


On 24 Feb 2023, at 12:58, Dana Rawding <dana.r...@gmail.com> wrote:

Got my GW1100 yesterday and installed weewx.  Had started with rtl_433 before learning about interceptor.  Reconfigured with interceptor and things are working.
--
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/78586226-4973-4b07-91ec-29e4f0a376a5n%40googlegroups.com.

Rainer Lang

unread,
Feb 24, 2023, 9:49:49 AM2/24/23
to weewx...@googlegroups.com

a) it's a question of understanding how weewx works: pressure and barometer are different variables/observations and correspond to different variables the GW1100 posts via custom server
but using the custom server for a device/console which has the Ecowitt Gateway API is no longer state of the art 😎

b) it's much better to use here the Ecowitt Gateway Driver :

look up https://github.com/gjr80/weewx-gw1000/wiki

It covers all existing Ecowitt sensors plus there battery information and will also solve your "pressure problem"

Dana Rawding

unread,
Feb 24, 2023, 2:34:04 PM2/24/23
to weewx-user
Unfortunately this did not seem to help.  I even uninstalled weewx completely and reinstalled clean and then installed weewx-gw1000.  Still not seeing  pressure, the WN34BL or any battery data.  The data seems to be getting picked up but it's not being populated on the web pages.

pi@weather:/etc/weewx $ PYTHONPATH=/usr/share/weewx python -m user.gw1000 --test-driver

Using configuration file /etc/weewx/weewx.conf


Interrogating GW1100 at 192.168.86.21:45000


2023-02-24 14:27:07 EST (1677266827): 'dateTime': '1677266827', 'daymaxwind': '10.2', 'dayRain': '0.8', 'extraTemp9': '15.2', 'inHumidity': '40', 'inTemp': '16.1', 'luminosity': '5010.0', 'monthRain': '0.8', 'pressure': '996.5', 'rain': 'None', 'rainRate': '0.0', 'relbarometer': '996.5', 'stormRain': '0.0', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'weekRain': '0.8', 'wh40_batt': '1.43', 'wh40_sig': '4', 'wh68_batt': '1.64', 'wh68_sig': '4', 'windDir': '353', 'windGust': '3.1', 'windSpeed': '2.2', 'wn34_ch1_batt': '1.42', 'wn34_ch1_sig': '4', 'yearRain': '0.8'


Any ideas?

Thanks

vince

unread,
Feb 24, 2023, 3:17:20 PM2/24/23
to weewx-user
Where exactly would you assume it is being populated on the web page ?

I see wn34 channel-1 battery and signal info in your data so it looks like it's seeing the sensor.   We'd have to see your sensor map from weewx.conf to dig further...

Dana Rawding

unread,
Feb 24, 2023, 4:10:09 PM2/24/23
to weewx-user
I don't see anything marked as a sensor map so I assume it's the accumulator stuff?  Does this help (see below)?  I've also attached my status page showing what is being reported.  I've only been a weewx user for just over 24 hours now so I'm still getting acclimated to how things work.  I was a Linux admin and web developer for over 25 years so I hope to catch on fast and start customizing things as soon as the basics are working.  As always thanks for the help.


[Accumulator]

    

    # Start Ecowitt Gateway driver extractors

    [[daymaxwind]]

        extractor = last

    [[lightning_distance]]

        extractor = last

    [[lightning_strike_count]]

        extractor = sum

    [[lightningcount]]

        extractor = last

    [[lightning_last_det_time]]

        extractor = last

    [[stormRain]]

        extractor = last

    [[hourRain]]

        extractor = last

    [[dayRain]]

        extractor = last

    [[weekRain]]

        extractor = last

    [[monthRain]]

        extractor = last

    [[yearRain]]

        extractor = last

    [[totalRain]]

        extractor = last

    [[p_rain]]

        extractor = sum

    [[p_stormRain]]

        extractor = last

    [[p_dayRain]]

        extractor = last

    [[p_weekRain]]

        extractor = last

    [[p_monthRain]]

        extractor = last

    [[p_yearRain]]

        extractor = last

    [[t_rain]]

        extractor = sum

    [[t_stormRain]]

        extractor = last

    [[t_dayRain]]

        extractor = last

    [[t_weekRain]]

        extractor = last

    [[_monthRain]]

        extractor = last

    [[t_yearRain]]

        extractor = last

    [[pm2_51_24h_avg]]

        extractor = last

    [[pm2_52_24h_avg]]

        extractor = last

    [[pm2_53_24h_avg]]

        extractor = last

    [[pm2_54_24h_avg]]

        extractor = last

    [[pm2_55_24h_avg]]

        extractor = last

    [[pm10_24h_avg]]

        extractor = last

    [[co2_24h_avg]]

        extractor = last

    [[wh40_batt]]

        extractor = last

    [[wh26_batt]]

        extractor = last

    [[wh25_batt]]

        extractor = last

    [[wh24_batt]]

        extractor = last

    [[wh65_batt]]

        extractor = last

    [[wh31_ch1_batt]]

        extractor = last

    [[wh31_ch2_batt]]

        extractor = last

    [[wh31_ch3_batt]]

        extractor = last

    [[wh31_ch4_batt]]

        extractor = last

    [[wh31_ch5_batt]]

        extractor = last

    [[wh31_ch6_batt]]

        extractor = last

    [[wh31_ch7_batt]]

        extractor = last

    [[wh31_ch8_batt]]

        extractor = last

    [[wn34_ch1_batt]]

        extractor = last

    [[wn34_ch2_batt]]

        extractor = last

    [[wn34_ch3_batt]]

        extractor = last

    [[wn34_ch4_batt]]

        extractor = last

    [[wn34_ch5_batt]]

        extractor = last

    [[wn34_ch6_batt]]

        extractor = last

    [[wn34_ch7_batt]]

        extractor = last

    [[wn34_ch8_batt]]

        extractor = last

    [[wn35_ch1_batt]]

        extractor = last

    [[wn35_ch2_batt]]

        extractor = last

    [[wn35_ch3_batt]]

        extractor = last

    [[wn35_ch4_batt]]

        extractor = last

    [[wn35_ch5_batt]]

        extractor = last

    [[wn35_ch6_batt]]

        extractor = last

    [[wn35_ch7_batt]]

        extractor = last

    [[wn35_ch8_batt]]

        extractor = last

    [[wh41_ch1_batt]]

        extractor = last

    [[wh41_ch2_batt]]

        extractor = last

    [[wh41_ch3_batt]]

        extractor = last

    [[wh41_ch4_batt]]

        extractor = last

    [[wh45_batt]]

        extractor = last

    [[wh51_ch1_batt]]

        extractor = last

    [[wh51_ch2_batt]]

        extractor = last

    [[wh51_ch3_batt]]

        extractor = last

    [[wh51_ch4_batt]]

        extractor = last

    [[wh51_ch5_batt]]

        extractor = last

    [[wh51_ch6_batt]]

        extractor = last

    [[wh51_ch7_batt]]

        extractor = last

    [[wh51_ch8_batt]]

        extractor = last

    [[wh51_ch9_batt]]

        extractor = last

    [[wh51_ch10_batt]]

        extractor = last

    [[wh51_ch11_batt]]

        extractor = last

    [[wh51_ch12_batt]]

        extractor = last

    [[wh51_ch13_batt]]

        extractor = last

    [[wh51_ch14_batt]]

        extractor = last

    [[wh51_ch15_batt]]

        extractor = last

    [[wh51_ch16_batt]]

        extractor = last

    [[wh55_ch1_batt]]

        extractor = last

    [[wh55_ch2_batt]]

        extractor = last

    [[wh55_ch3_batt]]

        extractor = last

    [[wh55_ch4_batt]]

        extractor = last

    [[wh57_batt]]

        extractor = last

    [[wh68_batt]]

        extractor = last

    [[ws80_batt]]

        extractor = last

    [[ws90_batt]]

        extractor = last

    [[wh40_sig]]

        extractor = last

    [[wh26_sig]]

        extractor = last

    [[wh25_sig]]

        extractor = last

    [[wh24_sig]]

        extractor = last

    [[wh65_sig]]

        extractor = last

    [[wh31_ch1_sig]]

        extractor = last

    [[wh31_ch2_sig]]

        extractor = last

    [[wh31_ch3_sig]]

        extractor = last

    [[wh31_ch4_sig]]

        extractor = last

    [[wh31_ch5_sig]]

        extractor = last

    [[wh31_ch6_sig]]

        extractor = last

    [[wh31_ch7_sig]]

        extractor = last

    [[wh31_ch8_sig]]

        extractor = last

    [[wn34_ch1_sig]]

        extractor = last

    [[wn34_ch2_sig]]

        extractor = last

    [[wn34_ch3_sig]]

        extractor = last

    [[wn34_ch4_sig]]

        extractor = last

    [[wn34_ch5_sig]]

        extractor = last

    [[wn34_ch6_sig]]

        extractor = last

    [[wn34_ch7_sig]]

        extractor = last

    [[wn34_ch8_sig]]

        extractor = last

    [[wn35_ch1_sig]]

        extractor = last

    [[wn35_ch2_sig]]

        extractor = last

    [[wn35_ch3_sig]]

        extractor = last

    [[wn35_ch4_sig]]

        extractor = last

    [[wn35_ch5_sig]]

        extractor = last

    [[wn35_ch6_sig]]

        extractor = last

    [[wn35_ch7_sig]]

        extractor = last

    [[wn35_ch8_sig]]

        extractor = last

    [[wh41_ch1_sig]]

        extractor = last

    [[wh41_ch2_sig]]

        extractor = last

    [[wh41_ch3_sig]]

        extractor = last

    [[wh41_ch4_sig]]

        extractor = last

    [[wh45_sig]]

        extractor = last

    [[wh51_ch1_sig]]

        extractor = last

    [[wh51_ch2_sig]]

        extractor = last

    [[wh51_ch3_sig]]

        extractor = last

    [[wh51_ch4_sig]]

        extractor = last

    [[wh51_ch5_sig]]

        extractor = last

    [[wh51_ch6_sig]]

        extractor = last

    [[wh51_ch7_sig]]

        extractor = last

    [[wh51_ch8_sig]]

        extractor = last

    [[wh51_ch9_sig]]

        extractor = last

    [[wh51_ch10_sig]]

        extractor = last

    [[wh51_ch11_sig]]

        extractor = last

    [[wh51_ch12_sig]]

        extractor = last

    [[wh51_ch13_sig]]

        extractor = last

    [[wh51_ch14_sig]]

        extractor = last

    [[wh51_ch15_sig]]

        extractor = last

    [[wh51_ch16_sig]]

        extractor = last

    [[wh55_ch1_sig]]

        extractor = last

    [[wh55_ch2_sig]]

        extractor = last

    [[wh55_ch3_sig]]

        extractor = last

    [[wh55_ch4_sig]]

        extractor = last

    [[wh57_sig]]

        extractor = last

    [[wh68_sig]]

        extractor = last

    [[ws80_sig]]

        extractor = last

    [[ws90_sig]]

        extractor = last



Screenshot 2023-02-24 at 4.05.01 PM.png

Rainer Lang

unread,
Feb 24, 2023, 4:19:42 PM2/24/23
to weewx...@googlegroups.com
there are several observations from your data below:
1. you are receiving the pressure data - see underlined, bold markers
your WN34 Channel 1 shows as extraTemp9 - so all your sensor data is received by weewx via the Ecowitt Gateway driver

2. you obviously have not (yet) calibrated the relative pressure in your console (GW1100) - unless your GW1100 is located at sea-level. You should do that.

but 1. and 2. won't solve your issue not seeing the barometer data in your skin


4. for the weewx and database fields pressure and relbarometer to be displayed by e.g. the Seasons skin, these variables need to be in your skin.conf
(assuming you are using the latest parametrized version of the Seansons' skin's skin.conf)  in the

[DisplayOptions]
observations_current = outTemp, heatindex, windchill, dewpoint, outHumidity, barometer, ......., extraTemp9

try to put there also pressure and relbarometer and see what it gives - in order to see your WN34, you have to add extraTemp9 to observations_current
(see above)


5. if you want barometer only (default setting in skin.conf for the Seasons skin), you need 12 hours of earlier outdoor temperature data for it to work:
read:
https://github.com/weewx/weewx/wiki/Barometer,-pressure,-and-altimeter

--
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.

vince

unread,
Feb 24, 2023, 5:42:32 PM2/24/23
to weewx-user
No, I was asking for the driver-level stuff and how you were mapping the sensor values into the weewx schema.

Some questions:
  • First - what version of the driver are you running, so we can look at the code ?
  • You have 'wn34_ch1_batt': '1.42', 'wn34_ch1_sig': '4 in your data snippet but I don't see where you're mapping those elements into the db.
  • Where is extraTemp9 coming from ?  You're on channel-1 and the driver generally would have mapped that to extraTemp1 automagically. Also, extraWhatever9 is not in the default schema either.  Did you do something to extend the schema too ? 
(my guess is that if you change channels on the sensor to anything from 1-8 that the driver would seed extraTempN with data without needing to do anything)

I'm running an earlier version of the driver, but here's an example of mapping ch1 battery to batteryStatus1 in the db (again, as an example)

[GW1000]
   ip_address = x.x.x.x
   port = 45000
   poll_interval = 20
   driver = user.gw1000

   [[field_map_extensions]]
   batteryStatus1 = wh41_ch1_batt


Dana Rawding

unread,
Feb 24, 2023, 7:35:25 PM2/24/23
to weewx-user
Rainer Lang:
- I have calibrated the relative pressure and made the barometer changes.  We'll see what it looks like tomorrow.
- I added pressure, relbarometer and extraTemp9 to observations_current.  Pressure did show up.  I added extraTemp9 to observations_stats as well but it's still not showing. 

vince:
 extraTemp9 was assigned by the GW1100.  I'm going to delete it and see if I can get it to come up as a lower number.
- I installed gw1000-05.0b5 which I believe was the latest version.
- I did not have any field_map_extensions defined.  I'm playing around with them. Now the Sensor Status is showing on the page with a signal strength and battery.  Don't know which ones they are but at least something is showing up.  

Going to play with the skin and weewx.conf file a little more and see what else I can figure out.  Thanks to everyone for the help so far as I now have a few things working that were not before.




vince

unread,
Feb 24, 2023, 8:34:27 PM2/24/23
to weewx-user
See if changing the channel on the sensor gets your extraTemp9 to a more normal number.    Make sure to put a comment in weewx.conf so you know what you did when you look at it a year from now and don't remember :-)

vince

unread,
Feb 24, 2023, 8:38:45 PM2/24/23
to weewx-user
Gary's docs at https://github.com/gjr80/weewx-gw1000/wiki/WN34-Support-Changes seem to say extraTemp9 is by design, so also try mapping extraTemp9 from the sensor to extraTemp1 (for example) in the db and see how that works for you.   He has quite the wiki there if you wanted to poke around for more info.

I'm guessing Gary will chime in +/- the timezone difference in Australia...

gjr80

unread,
Feb 24, 2023, 9:33:47 PM2/24/23
to weewx-user
Just to be clear about relbarometer. Ecowitt gateway devices provide two pressure values, the first is what Ecowitt refers to as absolute barometer which is what we know as gauge or station pressure (what the driver refers to as absbarometer and what WeeWX knows as the WeeWX field pressure), the second is what Ecowitt refers to as relative barometer. relative barometer (what the driver knows as relbarometer) is an approximation to barometric pressure (what WeeWX knows as WeeWX field barometer) as it does not correct for temperature. The default mapping used by the Ecowitt gateway driver is to map the device absbarometer field to the WeeWX field pressure, the device field relbarometer is not mapped to WeeWX field barometer, rather it is mapped (or passed through) as relbarometer (this way WeeWX calculates barometer using a more sophisticated formula that does compensate for temperature and altitude and at the same time gives the user access to the Ecowitt approximated relative barometer field). The price you pay for this is that WeeWX needs 12 hours of pressure data before it can calculate barometer. Since barometric pressure is what most weather reports use and also what most folks display on web pages, you probably don't want to display pressure or relbarometer, just be patient and barometer will appear once you have 12 hours of pressure data.

You may find the WeeWX wiki page What is the difference between barometer, pressure and altimeter ? provides useful background.

By all means adjust the Ecowitt relative barometer value to suit, though for all intents and purposes this value is only used by Ecowitt, it is not used by WeeWX.

In terms of extraTemp9, Vince is correct in that this is your first WN34x sensor temperature data. This is indeed by design. The Ecowitt gateway devices support many different sensor types and then on top of this multiple sensors (or channels) of most types. The driver could certainly attempt to automatically map these sensors/channels to the fields in the WeeWX schema, but this would have lead to some quite complex code as well as causing a support nightmare. Instead I decided to default map sensors to a fixed WeeWX field (eg the first WN34 channel is always mapped to extraTemp9) and give the user the ability to alter this default mapping by defining a new field map or extending/altering the existing field map. In the OPs case WeeWX is most likely using the wview_extended schema which only includes extraTemp1 to extraTemp8. You essentially have two options; either change the default mapping to map the WN34 data to some other WeeWX field in the wview_extended schema (using a [[field_map_extensions]] entry) or adding the extraTemp9 field to the database. In either case you may or may not need to make changes to the [DisplayOptions] stanza in the Seasons skin config file (skin.conf). Just remember, for WeeWX to save data to database two basic conditions must be met; first the data must exist in a field in WeeWX generated archive records and second the same field name must exist in the in-use database schema.

A similar situation exists with sensor battery and signal state data as does with extraTemp9, though is the case of sensor battery stay and signal data the field names used in the default field map are more self evident due to the use of sensor model and channel number in the field name in most cases.

The Ecowitt gateway driver wiki is far from complete, but if your system includes more than just the gateway device and an x-in-1 sensor suite I would suggest you become very familiar with the default field map used by the driver. This is covered on the Field map page in the driver wiki.

Gary

Rainer Lang

unread,
Feb 25, 2023, 11:06:05 AM2/25/23
to weewx...@googlegroups.com
I think I mentioned the WN34 sensor mapping to extraTemp9-16 earlier ...
and
I would not map extraTemp9 to extraTemp1, because then you risk to mess up your database in case you start adding WH31 sensors 1-8 later which is
something many Ecowitt users do.
there is a imho better way for mapping using the wxview-extended database schema: using the 4 unused soilTemp database fields
so I would add in weewx.conf in the stanza
[StdCalibrate]
   [[Corrections]]
      soilTemp1 = extraTemp9
and add soilTemp1 to the [DisplayOptions] stanza in the Sesons skin skin.conf
that would then make weewx save/archive the WN34 Ch1 sensor values to soilTemp1 and keept the extraTemp1-8 free for the WH31 sensors.

That works perfectly for me

soilTemp in the Ecowitt ecosystem are sensors (8 though) which are related to the WN34 soil temperature or WN34 liquid (e.g. water) temperature.
The WN34 sensors don't provide humidity values whereas the WH31 sensors (extraTemp1-8) do. Once more reason to better use soilTemp1-4 for the first four WN34 sensors.
--
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