Weather Station Hardware > Ambient Weather and Ecowitt and other Fine Offset clones

FOSHKplugin - brief introduction

(1/75) > >>

Even if the core task of the program is actually the conversion of incoming data from a weather station in WU or Ecowitt format to UDP, it does offer a few functions that go beyond this.
Maybe this program is useful for someone.

Do you want to integrate your weather station data in your smarthome system? FOSHKplugin knows many ways to do so!
If you've always been annoyed to only have ONE custom server - this could be the solution!
If you really need a shorter sending interval than 16 seconds - that is possible!
Would you like to change the sending interval to WU or just send a subset of data to an online provider? No problem.
Have you always wanted to contribute your PM2.5 data to global sensor network / Built-in!
Want to use a WH31 instead of a WH32 outside while still sending outdoor temperature & humidity to any service? OK!
Do you still want to use WSWin for your analyzes? The CSV function makes it possible!
Searching for a possibility to feed Weather34 with Ecowitt data? Should work!
Would you like to upload your weather station data to your own server in order to process and present it yourself there? No problem!
Want to keep sending the lightning data to external services/programs on a GW1000 even when the device is restarted? FOSHKplugin replaces this data with the last valid values!
If you need your weather data as MQTT topics - FOSHKplugin will make this happen!
Is there a need to visualize or compare data from different sources together? Possible with the support of InfluxDB and Grafana!

With FOSHKplugin I feed several services with just one GW1000:

GW1000 -- custom server --> FOSHKplugin --> Loxone home automations system (UDP)
                                                                --> weewx (Ecowitt)
                                                                --> local PWSDashboard (Ecowitt)
                                                                --> remote PWSDashboard (Ecowitt)
                                                                --> PWT Personal Weather Tablet Android-app (Ecowitt) for 3 devices
                                                                --> Awekas (WU)
                                                                --> Awekas (API)
                                                                --> Weather Underground (WU)
                                                                --> Windy (WU)
                                                                --> PWSweather (WU)
                                                                --> WOW (WU)
                                                                --> CSV (for further local analysis or import to WSWin via X-CSV)
                                                                --> Weathercloud
                                                                --> Meteotemplate (via API)
                                                                --> Ambient Weather (API)
                                                                --> (API)
                                                                --> (API)
                                                                --> (API)
                                                                --> several other targets via clientraw.txt and realtime.txt like WND or
                                                                --> direct import into WSWin Weatherstation Operation- and Data Acquisition Software
                                                                --> feeding any MQTT broker
                                                                --> feeding InfluxDB to visualize data with e.g. Grafana
                                                                --> feeding WeatherWizz in Ecowitt format
                                                                --> feeding APRS/CWOP (from v0.09)
More are possible ...

Check the generic-version at or if interested in LoxBerry-version at

FOSHKplugin works with several weather stations from Fine Offset - not only the GW1000 or GW1100. Every station which is able to send its data via custom server function is supported (HP2551C, HP3500/3501, WH2650, WH2910, Ambient Weather WS 2000/5000, ...).
The program is not intended to serve as comprehensive weather observation or analysis software.
It's more about creating interfaces and keeping the data local.

Regards, Oliver

I have downloaded this and find an issue.
I have a GW1000 and two Ecowitt HP2551.
When I run the recipe found here ( I get the IP of the 2 consoles and never the GW1000.

./ -getwsip
gary@tester:~/Downloads$ ./ -getwsip
gary@tester:~/Downloads$ ./ -getwsport
gary@tester:~/Downloads$ ./ -getwsip
gary@tester:~/Downloads$ ./ -getwsport
gary@tester:~/Downloads$ ./ -getwsip
gary@tester:~/Downloads$ ./ -getwsip
gary@tester:~/Downloads$ ./ -getwsip


Because I only own one device I was never able to check this with more than one device.
If you know the IP address of the device you want to change just use this IP in the last step.

Regards, Oliver

That's what I had hoped.

redistribute the Ecowitt stream of a GW1000 to several weewx

The GW1000 knows exactly ONE destination for a custom server upload. But if you want to feed several instances of weewx with the data from the GW1000, this also requires several GW1000.
Or you can simply use FOSHKplugin with just one GW1000 and let FOSHKplugin redistribute the incoming stream as you like!

FOSHKplugin knows 10 forwarding destinations - called Forwards.
A Forward-block must be created in the config file for each forward, in which the target, type and other conditions can be configured:

FWD_URL =                 # URL of destination
FWD_INTERVAL =        # interval in seconds in which lines will be forwarded
FWD_IGNORE = ""       # comma-separated list of fields to not forward
FWD_TYPE = ""            # WU/UDP/LD/RAW/EW/RAWEW/RAWUDP - WU: WU-format; UDP: UDP-String will be forwarded (default); LD: PM2.5; EW: Ecowitt; RAWEW: Ecowitt untouched; RAW: as input; RAWUDP: RAW via UDP
FWD_SID = ""             # SensorID for

For the forwarding of the original Ecowitt stream, only the destination (FWD_URL) and the type (FWD_TYPE) have to be defined. The other parameters are optional.

If you want to operate 3 weewx instances with a GW1000, you have to enter the IP address of the FOSHKplugin host under Server IP / Hostname and the port number configured there (LBH_PORT) under Port via the WS View app.
/data/report/ should be configured as Path.

On FOSHKplugin-side you have to create 3 blocks that refer to the respective weewx instances:

FWD_URL = http://weewx-host1:weewx-port1           # URL of destination
FWD_TYPE = RAWEW                                               # RAWEW: Ecowitt untouched

FWD_URL = http://weewx-host1:weewx-port2           # URL of destination
FWD_TYPE = RAWEW                                               # RAWEW: Ecowitt untouched

FWD_URL = http://weewx-host1:weewx-port3           # URL of destination
FWD_TYPE = RAWEW                                               # RAWEW: Ecowitt untouched

Don't forget to restart the systemd service after making changes to the config file: service foshkplugin restart.
As a result, when an Ecowitt string is received by the GW1000, it is forwarded in parallel and unprocessed to these defined forwards.

other recipes you may find here:

Regards, Oliver


[0] Message Index

[#] Next page

Go to full version