Fine Offset Weather Station Binding: Discussion

Seems, that I missed some measurands from the protocol definition. I’ll fix this!

Can you do me a favor and provide me with:

  1. the complete trace log, especially the one from the executeCommand
  2. A screenshot of your WS View-App so I see how the data correlates to the one displayed in the App.

A port scan against the WiFi device also does not return any open ports. I guess that you have to send specific packets against the device to get it to respond correctly.

Can you access the device with the WS-View app? If so, please check what it outputs when you go to Menu > Test Mode. The data displayed on this page is the response of the broadcast (discovery).

Andreas,

thank you for the quick response!
I just get two lines in the log every time the station is queried:

2022-03-15 20:47:31.770 [TRACE] [ervice.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): received: FFFF2700510100D306280827EF0927EF020045074F0A00150B00000C0000150000000016000117001900000E0000100000110021120000002113000005850D00007000D12E0060005A005B005502AE028F0633
2022-03-15 20:47:31.772 [WARN ] [ervice.FineOffsetGatewayQueryService] - failed to get measurand 0x70

Here’s the screenshot of the ws view app:


If you need anything else, let me know!

Thanks!

Hi there - It doesn’t look like this device is supported by the WS-View app either. Have tried all the options within WS-View to either configure/discover/direct-connect with no-joy. The test mode wont do anything (from the looks of it), until I can add a device in the app…

I did try configuring the Fine Offset binding with the port number I listed above as well as opening a telnet to those ports.

Also did try a packet capture for traffic from the Aercus IP Tools utility which it comes with to perform initial setup/firmware upgrade. It looks like it just uses UDP25122 for discovery, then jumps straight over to TCP80 and a web connection if I click on the ‘Open’ button. Only thing which comes back from the device in the UDP response that is recognizable, is the model/firmware (WH2600G/EN_2.2.8), and the IP address of the OpenHAB server configured as the “WunderGround Server” .

Cheers

Your WH45 Sensor should now be handled correctly.

Thank you for the quick fix :slight_smile:
Sensor seems to be handled correctly now - the WH45 channels also appeared and no errors in the log. I’ll report back if I encounter other issues.

The current firmware Version of my WH2650 is 1.6.8, the one of your gateway seems to be 2.2.8. I think the Reseller has customized the firmware to his needs and now it is no longer compatible to the original protocol.

Yeah - I agree with that. Will stick with the IP Observer Binding, and maybe if I get bored when we get to winter here, I will update the gateway with alternate firmware - I have read about people doing this on forums, but will need to check if the firmware supports wired versions, as well as WiFi before I take that leap…
Thanks for your help though. - Cheers

My gut feeling not based on any fact or research is that you will not be able to. The newer wifi models are likely based on a esp8266 and the wired ones will be something older and not able to use the newer firmware. However the outdoor units and sensors could be kept and you could just update the box by buying a spare part from one of the multiple brands, however you do need to check what frequency your brand uses as there are 3 different ones in use as each country allows certain freq to be used without a license.

Cheers @matt1 - I suspect you are right - I had done limited research on that angle so far, but honestly >90% of the values I am looking for come via the wunderground interface, and therefore your binding - Its not worth the hassle/cost for getting the last few values. Might still setup a watch on eBay, just in case someone has a WeatherStation destroyed by a weather event, and ends up with a spare WiFi gateway to sell one day :slight_smile:

Still - what a problem to have :slight_smile: - 2 great bindings, and 3 different interface options… I’d say that just about all fine offset OEM weather stations would be well supported in OpenHAB now !! Cheers to you both for your great work on these bindings.

1 Like

@glen_m you can buy the Ecowitt Wifi Gateway (GW1100) off Amazon AU (so it’s the 433Mhz version) for about $40… obviously I cannot guarantee it will work with the Aercus, but a lot of their stuff does appears to be rebranded Ecowitt / FineOffset…

Cheers for the tip @NicGray - Will have to look into that option (and compatibility etc.) when I get some time.

Many thanks Andy, your binding is working like a charm with my GW1100A_V2.0.9!

When I tried it I have seen that auto discovery of
temperature-indoor, humidity-indoor, pressure-absolute, pressure-relative
seems not to work yet (tested with org.openhab.binding.fineoffsetweatherstation-3.3.0-SNAPSHOT.jar).
But after manually creating an items file, the values are displayed properly.

What do you mean by

auto discovery of temperature-indoor, humidity-indoor, pressure-absolute, pressure-relative
seems not to work yet

  1. Couldn’t you see the channels?
  2. or was there no value available for the mentioned channels?

I mean the internal sensors of the gateway do not show up in the INBOX of the Things (in contrast to the other available sensors).

Can you do me a favor and provide me with the complete trace log, especially the one from the executeCommand. I need the response from CMD_READ_SENSOR_ID_NEW.

Thank you, the binding (3.3.0-SNAPSHOT) is working smooth and flawlessly with my GW1100!
The internal sensors to not show up in the INBOX because there is no separate “sensor” thing for them. Just add them as shown in the documentation.

Hey @Andy2003 seen this a couple of times when the binding seems to die, the sensor things show offline, but the main weather thing is online but no events are coming out (which makes sense as the stack trace is from the live data read). Most recently I hopped on and could still telnet to the gateway on port 45000 so not sure what else to troubleshoot…

2022-03-21 20:15:13.535 [WARN ] [ervice.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA)
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:186) ~[?:?]
        at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
        at java.net.SocketInputStream.read(SocketInputStream.java:126) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.executeCommand(FineOffsetGatewayQueryService.java:230) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.getLiveData(FineOffsetGatewayQueryService.java:180) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.query(FineOffsetGatewayHandler.java:279) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.updateLiveData(FineOffsetGatewayHandler.java:165) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
2022-03-21 20:16:13.541 [WARN ] [ervice.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA)
java.net.SocketException: Broken pipe (Write failed)
        at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?]
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?]
        at java.net.SocketOutputStream.write(SocketOutputStream.java:138) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.executeCommand(FineOffsetGatewayQueryService.java:229) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.getLiveData(FineOffsetGatewayQueryService.java:180) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.query(FineOffsetGatewayHandler.java:279) ~[?:?]
        at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.updateLiveData(FineOffsetGatewayHandler.java:165) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]

Solved this issue, please try with the latest build

Hi Andy, thanks for the great work of the binding!!

Unfortunately it is not working with the WH3000?! It appears in the autodiscovery but if i then enter the IP address there is always a error in the log.

2022-03-24 10:20:41.215 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:552ece0af0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Read timed out

2022-03-24 10:20:41.220 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'fineoffsetweatherstation:gateway:552ece0af0' changed from OFFLINE (COMMUNICATION_ERROR): Read timed out to ONLINE

2022-03-24 10:20:46.222 [WARN ] [ervice.FineOffsetGatewayQueryService] - executeCommand(CMD_GW1000_LIVEDATA): failed to invoke command

java.net.SocketTimeoutException: Read timed out

	at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]

	at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]

	at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]

	at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]

	at java.net.SocketInputStream.read(SocketInputStream.java:126) ~[?:?]

	at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.executeCommand(FineOffsetGatewayQueryService.java:112) ~[?:?]

	at org.openhab.binding.fineoffsetweatherstation.internal.service.FineOffsetGatewayQueryService.getLiveData(FineOffsetGatewayQueryService.java:93) ~[?:?]

	at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.query(FineOffsetGatewayHandler.java:272) ~[?:?]

	at org.openhab.binding.fineoffsetweatherstation.internal.handler.FineOffsetGatewayHandler.updateLiveData(FineOffsetGatewayHandler.java:158) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at java.lang.Thread.run(Thread.java:829) [?:?]

Do you know if there are there some changes in the protocol?