Read data from a sainlogic based weather station
Basically any device working with the sainlogic hardware, the firmware usually reports as 'EasyWeather Vx.x.x)'.
Known working devices:
- ELV WS980Wifi
- Eurochron EFWS2900 (Listener mode only)
- Froggit WH400SE
- Froggit DP1500 (Ecowitt protocol only)
- Sainlogic WS3500 (Listener mode only)
- WH51 Moisture sensor
- Ecowitt GW1000
- Froggit WH3000SE (Listener mode only)
The adapter supports two modes to show data of your weather station.
In Listener mode the adapter does support additional sensor if delivered from your weather station. Currently supported are temperature and humidity. If you have another additional sensor please raise a github issue and post your data string as this helps me to extend the functionality.
With latest firmware releases the weather station supports sending data to a custom server. The adapter will act as such a server. The setup needs two steps:
Use the 'WS View'app on your mobile device to configure the weatherstation. Configure the following settings for customized server settings:
- Server: IP/Hostname of your IOBroker server
- Path: anything, just remember it for the adapter configuration Note: on some stations it has been proven success to add a question mark at the end of the path. Some others work without it. Best is to try both.
- Port: any number between 1024 and 65000 (default is 45000), needs to be unique and free on your IOBroker system
- Station ID: not used Note: some station still require any value to be set
- Station Key: not used Note: some station still require any value to be set
- Protocol Type: WeatherUnderground
- Upload Interval: anyting supported by your weather station
In the instance configuration choose the tab 'Listener' and set the following:
- Active: true
- IP: choose the IP of your IOBroker which the weatherstation will be able to connect to (default is 0.0.0.0 to allow all IPs), this is mainly relevant if you have multiple networks, otherwise the default will do
- Port: Enter the same port as in the WS View app
- Path: Enter the same path as in the WS View app
- Forward URL: If you want to forward the received data to another consumer you can specify an additional adress. E.g. you may receive data in WU format and still want to forward this to WeatherUnderground.
Save. The listener will start and wait on incoming connections. Based on your interval you should see in the log a message ' Listener received update: ...' with the data.
If your weather station supports pulling for data you can configure the scheduler to do so. The protocol used is based on WS980 documentation.
In the instance configuration choose the tab 'Scheduler' and set the following:
- Active: true
- IP: choose the IP of your weather station, you should make sure that the IP is fixed and does not change
- Port: Enter the port to connect to (default is 45000)
- Interval: Enter an interval in seconds (I would recommend at minimum 10 seconds to not overload the system or network)
Save.
The schheduler will start and connect to the weather station after the first interval time. You should see message in the log like 'Scheduler pulling for new data'. If you set the log mode to debug you will also see the data strings received.
It seems this station does not send any data when WeatherUnderground is selected as protocol. It works correctly with Ecowitt.
Station does not answer to scheduler commands, so only listener mode is supported.
Station does not answer to scheduler commands, so only listener mode is supported.
Latest version
For detailed change log or previous versions check io-package.json
Credits go to: lemuba, StrathCole, Glasfaser, Latzi: for relentless testing of my bugs :) Lisa for her code to translate wind degrees in a heading
MIT License
Copyright (c) 2023 Fogg foggch@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.