Fine Offset Weather Station Binding: Discussion

CMD_READ_RAINDATA is for reading out the settings you can see in WS-View Plus App via {Your Device} → More → Rain Totals

CMD_READ_RAIN is reading the actual rain data including the piezo-data (wh90)

:smiling_face_with_three_hearts:

1 Like

Using an Ambient IPObserver WH2682B (running v2.0.4) as a gateway.
Pressure is shown correctly as
image
But on my items it’s not scaled correctly.
image
Is there a simple method to scale this value?

Feel free to mention me if you need a comment on the ipObserver binding. That binding is best left to talking to the ipObserver units which is why it was named that way. There are two versions of it, a hardwired network rj45 version and a newer wifi version. These to my knowledge do not support the ecowitt protocol, or at the least the rj45 does not support it. There is no value in adding functionality that already exists in the Fine Offset binding to another binding, that only places strain on volunteers that could better use the time writting whole new bindings that do different tasks.

The GW1100 and ipobserver boxes can both be purchased separately for around USD$30 - 50. Since the RF link to the outdoor units is 1 way with no security, you can use as many of them at the same time, including the other screens and wifi gateways. You could use the ipObserver, Fine offset and also the weatherundergroundupdatereciever bindings for 3 different ways to get your weather station data all at the same time locally without a cloud or internet connection, not that you would, but choice is good to have.

If buying again, I would probably look into this binding because I value the soil sensors that the ecowitt system allows that does not work with the older ipObserver units. I do not know of another way to get soil sensors that work in openHAB for the same price. To use them you would need to use the GW1100 and this binding.

1 Like

Thanks for that! Now that I know how it will work, I’m actually very happy with the prospect of having both the GW1100 and the LCD display - it’s a really nice live display to have in the living room, and the GW1100 + FineOffset binding will do everything I want in terms of openHAB integration. Knowing what I know now, the only thing I would do differently would be to order the GW1100 as well as the LCD display in my initial order, rather than paying a separate shipping fee. It would be nice if the LCD display could speak the same language as the GW1100 to save the need for the extra piece of hardware, but that’s a very minor complaint.

I cannot reproduce this behaviour. The pressure is shown correctly for all my items.
This is my configuration:

Number:Pressure           weather_pressure_absolute    "Absoluter Druck"                       <Pressure>    (gOutdoor,gWeather) ["Measurement", "Pressure"]     { channel="fineoffsetweatherstation:gateway:3906700515:pressure-absolute"}
Number:Pressure           weather_pressure_relative    "Relativer Druck"                       <Pressure>    (gOutdoor,gWeather) ["Measurement", "Pressure"]     { channel="fineoffsetweatherstation:gateway:3906700515:pressure-relative" }

The new GW1100 is in place, and it’s brilliant! Everything (or almost everything) is now working through the FineOffset binding. I’ve noticed a couple of things which I think might (?) be issues with the FineOffset binding, but none of these are deal-breakers, and all are at least as good as what I was getting with the ipObserver, as well as allowing me to access things like lightning which I couldn’t get through that binding.

Here are the issues I’ve observed since hooking up the GW1100 and migrating everything over to the FineOffset binding:

  1. rain-rate is defined in the Binding guide as Number:VolumetricFlowRate, however I don’t believe that’s correct. I don’t think openHAB actually includes a Number form which matches rain rate measurement, because that should be in length per unit of time (e.g. mm/hr): that isn’t the same as volume per unit of time (e.g. l/hr) which is what volumetric flow rate is, but since it’s always “per hour”, I think the choice made by ipObserver to define rain rate as Number:Length is correct. I’ve typed my linked item as Number, and that is giving me mm/hr (which is what I want), but that is not a QuantityType and wouldn’t handle a change in units being reported.

  2. A few parameters are displayed in WSView Plus and on the webpage when I access the GW1100 directly, but are not showing up as channels in the FineOffset weather station thing:

  • Feels Like/Heat Index
  • Wind chill
  • Outdoor dew point

According to the binding documentation, these channels should be supported, but they aren’t appearing. Any suggestions as to how to get them to show up?

Thanks again for this excellent binding - I’m so excited to have top quality weather data being fed in real-time into openHAB.

Since 1 mm / m² is equal to 1L, the chosen quantity type is correct. In the end, it is a volume per time. The unit for Number:Length (e.g. mm) would not represent the rain rate correctly.

This issue was already discussed in:

See also:

If your gateway is not reporting the values, the binding cannot show them.

Thanks for that! My trace output is as follows - it seems different from the trace output in that other thread, but I suspect you’re right about it being calculated in the web interface but not reported in the data stream:

executeCommand(CMD_GW1000_LIVEDATA): received: FFFF2700450100E8064408274209276D0200C207550A00CF0B00070C0007150000000016000017002A00324D00152C1F2E251A00EC2240620000008B6163A416D66022190036E3

I’ve already got it calculating an approximated dewpoint using the approximated (simpler) formula on How do I calculate dew point? … but if I’m going to be keeping on using a calculation, I should probably do it with a more complete formula.

I disagree with you that the rate of rainfall is correctly represented as volume per time, but I suppose it is equally wrong as length (without a per-time component integrated) - L/hr (instead of mm/hr) includes an incorrect multiplier of 1 m², whereas mm includes an incorrect multiplier of 1 hr - it’s just a question of which incorrect dimension we choose to multiply the correct units by. Unless/until openHAB expands the number category to include a rate-of-precipitation option (mm/hr or in/hr), the dimensionless approach will do the job, and is no less correct than any of the other options (either the Length approach used by ipObserver, or the VolumetricFlow used by FO).

Thank you again for the amazing work on this binding - I’m off to code up an accurate dewpoint calculation!

If anyone needs it, this rule appears to be an accurate one for converting temp (°C) and RH to dewpoint:

rule "calculate outside dewpoint"
when
	Item Outside_Temperature changed or
	Item Outside_Humidity changed
then
	val a = 17.625
	val b = 243.04
	val rh = 1.0*(Outside_Humidity.state as Number)
	val tempC = (Outside_Temperature.state as QuantityType<Number>).toBigDecimal 
	val alphaTRH = Math::log(rh/100) + (a * tempC)/(b + tempC)
	val dewpoint = (b * alphaTRH) / (a - alphaTRH)
	
	Outside_Dewpoint.postUpdate(dewpoint)
end
1 Like

cough that is Speed, plain and simple.

OMG so it is :face_with_open_eyes_and_hand_over_mouth:

Now I feel like a proper idiot.

Rain rate in “furlongs per fortnight”, anyone?

Don’t feel bad - I cheated by way of having seen it before in a Weather binding or something, and had to puzzle out “What? Why is rainfall Speed?”

OK I created a fix for this: [fineoffsetweatherstation] Fix QuantityTape for rain-rate by Andy2003 · Pull Request #14039 · openhab/openhab-addons · GitHub

@Andy2003
I have my Pressure Items configured similar to yours, but I’m still trying to understand why the pressure is displayed x10.
Many raw values from the gateway are multiplied by 10 and the binding must be scaling and adding units.
For instance, temperature is received as 230 and changed by the binding to 23.0 °C
So shouldn’t the binding also be dividing the pressure value by 10? Or do I just need to add a transformation to the Item?

Please provide the trace log, so I can take a look into it.

Here is the log of CM_GW1000_LIVEDATA with the following Openhab events

 16:32:01.423 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): received: FFFF2700450100D5062808272D0927B902003E07620A00320B000E0C001415000005D216000117001A008D223C1900610E0000100045110045120000025313000002530D004546
16:32:01.472 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_RelativePressure' changed from 10172 hPa to 10169 hPa
16:32:01.474 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_OutdoorTemperature' changed from 6.3 °C to 6.2 °C
16:32:01.475 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WS_OutdoorTemperature' changed from 6.3 °C to 6.2 °C
16:32:01.477 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_HumidityOutside' changed from 97 % to 98 %
16:32:01.478 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WS_HumidityOutside' changed from 97 % to 98 %
16:32:01.480 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_WindDirection' changed from 54 ° to 50 °
16:32:01.481 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_WindSpeed' changed from 8.64 km/h to 5.04 km/h
16:32:01.483 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_GustSpeed' changed from 11.16 km/h to 7.2 km/h
16:32:01.484 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'WeatherStation_LightIntensity' changed from 166 lx to 149 lx

I believe the pressure should be logged as
Item ‘WeatherStation_RelativePressure’ changed from 1017.2 hPa to 1016.9 hPa
but I could easily be wrong since my understanding is limited.

Thanks for any help!

is parsed to:

    ("temperature-indoor", "21.3 °C"),
    ("humidity-indoor", "40 %"),
    ("pressure-absolute", "1002.9 hPa"),
    ("pressure-relative", "1016.9 hPa"),
    ("temperature-outdoor", "6.2 °C"),
    ("humidity-outdoor", "98 %"),
    ("direction-wind", "50 °"),
    ("speed-wind", "1.4 m/s"),
    ("speed-gust", "2 m/s"),
    ("illumination", "149 lx"),
    ("irradiation-uv", "0.1 mW/m²"),
    ("uv-index", "0"),
    ("temperature-channel-1", "14.1 °C"),
    ("humidity-channel-1", "60 %"),
    ("wind-max-day", "9.7 m/s"),
    ("rain-rate", "0 mm/h"),
    ("rain-day", "6.9 mm"),
    ("rain-week", "6.9 mm"),
    ("rain-month", "59.5 mm"),
    ("rain-year", "59.5 mm"),
    ("rain-event", "6.9 mm")

I think you’re using a stale version of this plugin, where [FineOffsetWeatherStation] Air pressure numbers are not correctly imported · Issue #13127 · openhab/openhab-addons · GitHub is not yet included

Thanks…just updated to 3.4.0 which includes the latest binding. Problem solved.

Good morning!

Can anyone recommend a concrete product to be used with this binding?

I am looking for a weather station that provides at least wind and temperature data from a solar-powered outdoor sensor, has an indoor display and can send its data to openHAB, mainly for bringing up our window shutters when the wind gets too strong.

If I understand it correctly, I need the outdoor sensor, the indoor display and additionally the gateway device that connects to the network?

The products I could find from Waldbeck Halley or Steinberg Systems only come with either a display or the gateway but not both.

Thanks for your help!

This is what I’m using, and it’s stable. The base station talks to the remote unit via 433, I think. The base station can be paired to Wifi, and then you specify the URL for it to send its data, which is the Openhab service. You will have to provision it with their app. I couldn’t figure out how to do it without the app.

1 Like