Fine Offset Weather Station Binding: Discussion

If I decode your data, I get the channel irradiation-uv with the value 4.2 mW/m², so OpenHAB should show this value with an appropriated unit.

I just checked my item, it stays on 0, if i change the statedescription to %.5f the item show 0.00380,
Now i see some changes in the log

2022-11-07 14:25:48.559 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wetterstation_UVStrahlung' changed from 0.004 W/m² to 0.0041 W/m²

I just deleted all items and the weatherstation Thing and reimported everything.
While recreating the things the irradiation-uv show the correct value, with the next update from the station it changed back to previous behavior.

2022-11-07 15:02:23.480 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wetterstation_UVStrahlung' changed from NULL to 46 W/m²

2022-11-07 15:03:39.053 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wetterstation_UVStrahlung' changed from 46 W/m² to 0.0045 W/m²

You are right @Rolli
I have also a 2650 and the “irradiation-uv” also shows in OpenHAB 1/10000 of the reported value in the mobile app. But I do not use this channel for any automation in OpenHAB (only index-uv).

and

As mentioned above:


This seems to be a bug in OpenHAB. The binding returns the value as QuantityType with the unit mW/m². There should be no such differences in scale.

OK - here’s a new one, although it’s probably an old one? I don’t know - I’ve done my best to find every relevant post in this thread, and I think I’ve got all the info I can get before just saying “help!”.

I’ve just set up an Ecowitt HP2564C station, which uses the new multi-sensor package and is honestly a very elegant and functional piece of kit. Unfortunately, it has been anything but plug-and-play for the FineOffset binding.

I’ve tried to pre-empt the basic testing requests - initially setting the binding to TRACE in the log, and then running the Java proxy and connecting the openHAB binding to that instead of directly to the station. I really hope the info from those two is enough to track down what is going on.

First of all, here’s the output from the log connecting directly to the weather station (which was auto-discovered beautifully, but that was as far as it went).

16:22:19.684 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:22:24.694 [TRACE] [ery.FineOffsetGatewayDiscoveryService] - found 0 measured values via protocol ELV
16:22:24.695 [DEBUG] [ery.FineOffsetGatewayDiscoveryService] - Thing discovered 'DiscoveryResult [thingUID=fineoffsetweatherstation:gateway:813930661, properties={macAddress=30:83:98:A5:54:46, port=45000, ip=192.168.11.149}, representationProperty=macAddress, flag=NEW, label=Weather Station, bridgeUID=null, ttl=-1, timestamp=1669872144694]'
16:22:35.691 [TRACE] [ternal.service.ELVGatewayQueryService] - executeCommand(CMD_WS980_LIVEDATA): send request: FFFF0B0006040419
16:22:35.692 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:22:40.696 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:22:53.090 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to UNKNOWN
16:22:53.095 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SENSOR_ID_NEW): send request: FFFF3C033F
16:22:53.096 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from UNKNOWN to ONLINE
16:22:58.098 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:22:58.102 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_FIRMWARE_VERSION): send request: FFFF500353
16:22:58.103 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:22:58.127 [DEBUG] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_FIRMWARE_VERSION), invalid response: FFFF501915456173795765617468657250726F5F56352E312E30
16:22:58.127 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SSSS): send request: FFFF300333
16:23:03.133 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:23:03.133 [DEBUG] [service.FineOffsetGatewayQueryService] - Unexpected response to System Info!
16:23:03.143 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SENSOR_ID_NEW): send request: FFFF3C033F
16:23:03.143 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:23:08.148 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:23:08.154 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
16:23:08.154 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:23:13.158 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:23:13.163 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): send request: FFFF57035A
16:23:13.163 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:23:18.168 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:23:34.181 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
16:23:34.181 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:23:39.182 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:23:39.188 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): send request: FFFF57035A
16:23:39.188 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:23:44.192 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:24:00.199 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
16:24:00.199 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:24:05.201 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
16:24:05.207 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): send request: FFFF57035A
16:24:05.207 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
16:24:10.210 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:813930661' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out

No channels ever appear or are updated - the Thing state just keeps flopping on and offline.

Now the proxy output:

Try to discover on /192.168.11.255:46000
Found device 'EasyWeatherPro-A55446 V5.1.0' at 192.168.11.149:45000 via /192.168.11.5
Broadcast received FFFF12000416
Req  5	FFFF27032A
Broadcast received FFFF120315
Req  5	FFFF57035A
Req  5	FFFF27032A
Req  5	FFFF57035A
Req  8	FFFF0B0006040419
Req  5	FFFF3C033F
Req  5	FFFF500353
Resp 26	FFFF501915456173795765617468657250726F5F56352E312E30
Req  5	FFFF300333
Req  5	FFFF3C033F
Req  5	FFFF27032A
Req  5	FFFF57035A
Req  5	FFFF27032A
Broadcast received FFFF12000416
Req  5	FFFF27032A

And the corresponding log data (basically identical):

21:40:40.946 [INFO ] [openhab.event.InboxRemovedEvent      ] - Discovery Result with UID 'fineoffsetweatherstation:gateway:0' has been removed.
21:40:40.948 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from UNINITIALIZED to INITIALIZING
21:40:40.950 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from INITIALIZING to UNKNOWN
21:40:40.950 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SENSOR_ID_NEW): send request: FFFF3C033F
21:40:40.951 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from UNKNOWN to ONLINE
21:40:45.956 [WARN ] [.core.thing.internal.ThingManagerImpl] - Initializing handler for thing 'fineoffsetweatherstation:gateway:0' takes more than 5000ms.
21:40:45.956 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:40:45.956 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_FIRMWARE_VERSION): send request: FFFF500353
21:40:45.958 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
21:40:50.958 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:40:50.958 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SSSS): send request: FFFF300333
21:40:50.958 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
21:40:55.962 [DEBUG] [service.FineOffsetGatewayQueryService] - Unexpected response to System Info!
21:40:55.962 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:40:55.963 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_SENSOR_ID_NEW): send request: FFFF3C033F
21:40:55.964 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
21:41:00.968 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:41:00.969 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
21:41:00.969 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
21:41:05.970 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:41:05.970 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): send request: FFFF57035A
21:41:05.971 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE
21:41:10.973 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out
21:41:26.977 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
21:41:26.977 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE

I’m a bit worried TBH - it feels like maybe for all my care in trying to get the right kind of station, I may have ended up with one that doesn’t actually communicate properly? Or is it just something that needs some further tweaks to the binding (or my setup) to get it running?

First of all, can you connect to the device with the WS-View Plus app and read the data?

If so, please connect the WS-View Plus app to the proxy and provide the logs.
NOTE: OpenHab must not be connected to the proxy.

If so, please connect the WS-View Plus app to the proxy - not your OpenHab - and provide the logs.

From the logs you provided, I can see that you are not getting any responses to the live-data requests. Also the response for CMD_READ_FIRMWARE_VERSION does not have the correct format.

The WSView Plus app connects to the device, but the only ways to read data seem to be through “Dashboards” that appear to require web uploading… but that seems to be the app that behaves that way, not the device? As in, I can see nothing in the app that would allow me just to view a station rather than configure it to upload to ecowitt, wunderground, etc. It just doesn’t even seem to be part of the WSView Plus interface to view a weather station’s data until it is connected to the ecowitt or wunderground websites.

This is the output from the proxy while connecting to it with WSView Plus (although bear in mind openhab with the binding installed is still running, so it might be some of the “requests” are coming from that).

Try to discover on /192.168.11.255:46000
Found device 'EasyWeatherPro-A55446 V5.1.0' at 192.168.11.149:45000 via /192.168.11.5
Broadcast received FFFF12000416
Broadcast received FFFF12000416
Req  5	FFFF500353
Resp 26	FFFF501915456173795765617468657250726F5F56352E312E30
Req  5	FFFF260329
Resp 11	FFFF2609308398A55446B9
Broadcast received FFFF12000416
Req  5	FFFF27032A
Broadcast received FFFF120315
Req  5	FFFF27032A
Req  5	FFFF57035A
Req  5	FFFF57035A
Broadcast received FFFF12000416
Broadcast received FFFF12000416
Req  8	FFFF0B0006040419
Req  8	FFFF0B0006040419
Broadcast received FFFF12000416

It seems like I may have bought a lemon (which wouldn’t be classified as that, because it works beautifully as they intended, just not as I intended).

This is the problem with the gateways with display, these cannot be read out in the same way as the gateways without any display.
So you have 2 options:

  1. use IpObserver - Bindings | openHAB
  2. buy a LAN & WiFi Gateway (like GW1000, GW1100, GW2000, …) for reading out the data with this binding

Further question - if I do end up having to buy other hardware (e.g. a GW1100) to get the FineOffset binding working, would I be able to leave the display unit connected, or will the sensors only talk to one base station at a time?

A very good question, which I unfortunately cannot answer. But if you try it, then we would be happy about your feedback here.

Excellent - I may as well be a guinea pig! :slight_smile:

OK - in the mean time I may try the ipObserver binding, but I’m concerned that doesn’t appear to provide data from some of the sensors I want feeding data into openHAB (lightning, soil moisture, etc). Is the ipObserver binding likely to expand to support (for example) the ecowitt protocol to pick up data from those sensors, or is that pretty much static now that this binding is doing so well on display-less gateways?

You need to ask the maintainer of the IpObserver-Binding

I ended up with a situation similar to @raaahbin, I bought an Ambient Weather WS-2000 which included a WH65 and a WH25 and a control panel which would not send data to the Fine Offset binding.
I added an Ambient IPObserver WH2682B (running v2.0.4) as a gateway which now reports data from all the sensors. The control panel still displays data in parallel.
I also tried a couple of Ecowitt gateway products (GW1100 and GW2000) but these did not pick up my WH25, only the WH65. I read somewhere that various distributors gateways are coded to not work with other distributors sensors.
Problem solved for now

Hi there, I have an Ecowitt rain sensor WH40 connected to GW1000.

But the channel for Rain-total does not show up

I used to use the HTTP listener binding - where this was available, and in fact it is the only value I use for the device, as i don’t like the weekly and monthly totals, and prefer a rolling last 7 days and last 30 day value, that I calculate from the value stored in persistence DB.

Another quirk, is that when it polls the gateway, there seems to be a limit on number of sensors, and then next poll gets the rest, and the available channels will flip with each poll - like below - although this doesn’t seem to cause any issues with operation.

The channel rain-total is missing - I am running 3.4 M6 - does anybody know if it should be there?

To be clear, the page updates like below, without any input from me - I set the poll to 5 seconds to capture
Animation

1 Like

Sometimes there are problems when multiple clients are connected to the gateway. Is it possible that other apps are querying the data? Please provide the trace logs of the binding, so I can help you further.

So I started again, and removed Gateway, and also an entry in another app. When I added it to OpenHAB again, the appearing and disappearing channels were resolved.

However the Rain-Total that I am looking for is still not there.

23:35:11.017 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): send request: FFFF57035A
23:35:11.035 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_READ_RAIN): received: FFFF5700290E00001000000055110000005512000000C413000036A60D00550F0064880000017A017B0072
23:35:27.037 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): send request: FFFF27032A
23:35:27.056 [TRACE] [service.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): received: FFFF2700370100F206310826CC0927620200A8072B2A000A4D00122C211B00ED23300E000010005511005512000000C413000036A60D00552B

So looking at the LiveData return portion it does not contain 0x14 for RAINTOTALS

0E 0000
10 0055
11 0055
12 000000C4
13 000036A6
0D 0055

#define ITEM_RAINTOTALS 0x14//Rain Totals (mm) 4

And the CMD_READ_RAINDATA return structure, makes it quite clear, that it doesn’t send the RainTotal out.

Out of interest why is CMD_READ_RAINDATA using 0x57 in my log, rather than the defined 0x34?
image

So I think i will maintain my own lifetime rain total - it looked to be of length 4 so the same range as Year, is only 9.9m, and we had locally a record 2.5m in the last year.

Thanks not only for your original contribution, but also continued support in this forum, which in itself becomes a repository of info helpful to others.

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