Ecowitt Weather Station native Plugin (new Plugin)

User avatar
GlennNZ
Posts: 1870
Joined: Sun Dec 07, 2014 3:33 pm
Location: Central Coast, Australia

Ecowitt Weather Station native Plugin (new Plugin)

Post by GlennNZ »

Hi see:

https://github.com/Ghawken/EcowittWeather
&&
Plugin Store
https://www.indigodomo.com/pluginstore/330/

Image

Image

Ecowitt Weather Station is an Indigo Domotics plugin that receives live weather data directly from your Ecowitt gateway over your local network — no cloud, no third-party account required.

What it does

The plugin runs a lightweight HTTP server inside Indigo. Your Ecowitt gateway is configured to POST its sensor readings to that server every 16–60 seconds using the Ecowitt local push protocol. Every reading becomes an Indigo device state, available immediately for use in triggers, schedules, control pages, and scripts.
  • No cloud dependency — data flows directly from gateway to Mac over your LAN
  • All sensors in one device — a single Ecowitt Gateway Hub device holds every state from every sensor attached to that gateway
  • Dynamic states — new sensors appear automatically the first time their data is received; you never need to edit XML
  • Units your way — choose Imperial or Metric; the plugin picks the right value when aioecowitt provides both
  • Multiple gateways — add one Hub device per gateway; each is routed by its unique PASSKEY
Image

Supported Hardware

Gateways / Hubs
  • GW1200 — Wi-Fi Gateway
  • GW2000 — Ethernet and Wi-Fi Gateway
  • GW3000 — Ethernet and Wi-Fi Gateway with Data Storage
  • HP2560 / HP2564 — Console display hubs
Any Ecowitt gateway that supports the Customized / Ecowitt protocol upload will work.

Sensors (examples)

WS90 · WH65 · WH40 · WH57 · WH51 · WH31 · WH55 · WH41 · WH43 · WH45 · WH46 · WN34 · WH80 · WH68 · WH85 · WH25 · WH26

Image

Requirements
  • Indigo 2025.2 or later (API 3.4+)
  • macOS with Indigo running on the same LAN as the gateway
  • An Ecowitt gateway configured to push to this Mac over your local network
  • aioecowitt ≥ 2025.9.2 — installed automatically by Indigo from requirements.txt
Image

Installation
  1. Download the latest release .indigoPlugin file from the Releases page.
  2. Double-click it — Indigo will install the plugin automatically.
  3. Configure the plugin (see Plugin Configuration below) and create at least one Ecowitt Gateway Hub device.
Creates an EcoWitt Gateway Hub device for each gateway. This single Indigo device contains all the sensors. If new sensors are added (the gateway supports quite a lot) then the new sensors will be created automatically and appear as a state. If sensors are removed, the states remain in the Indigo device but do not update.

Image

Plugin Configuration

Open Plugins → Ecowitt Weather Station → Configure…
  • Listen Port (default: 45000) — TCP port the plugin's HTTP server listens on. Must be reachable from the gateway.
  • Listen Path (default: /data/report/) — URL path the gateway POSTs to. Must match WSView Plus settings exactly.
  • Units (default: Imperial) — Preferred unit system. When aioecowitt provides both °F and °C, the preferred variant wins.
  • Debug Logging (default: Off) — Logs every push and sensor update to the Indigo log.
Firewall: macOS may block incoming connections on the listen port. Allow it in System Settings → Network → Firewall or it will be prompted on first connection.
Image

Gateway Setup

In the WSView Plus app, configure a Customised upload server. This is in the Web Tab of the Gateway settings, or via the app.

Option 1: Use the Ecowitt app (on your phone)
  1. In the top-left corner, select the menu icon and select Devices
  2. Under My Devices, select your Ecowitt station
  3. In the top-right corner, select the ellipsis icon
  4. From the list, select Others
  5. Select the DIY Upload Servers button, and from the Supported Servers List, select Customized
  6. From the Protocol Type Same As list, select Ecowitt
  7. Enter the Server IP / Host Name, Path, and Port
  8. The path has to match! Remove the first forward slash from the path, as the app will prepend one
  9. Save your settings
Option 2: Navigate to the Ecowitt web UI in a browser at the station IP address
  1. Select Weather Services then scroll down to the Customized section
  2. Under Customized, select Enable and Protocol Type Same As: Ecowitt
  3. Enter the Server IP / Host Name, Path, and Port
  4. Save your settings
Required settings:
  • Protocol: Ecowitt
  • Server IP / Hostname: IP address of your Indigo Mac
  • Path: /data/report (must match plugin setting)
  • Port: 45000 (must match plugin setting)
  • Upload Interval: 16 s – 60 s (recommended)
Image

Device Setup

Create one Ecowitt Gateway Hub device per physical gateway:
  • PASSKEY (optional): paste the PASSKEY value your gateway sends. Leave blank to accept data from any gateway — useful when you have a single gateway.
The gateway model and station type are auto-populated from the first push received. All sensor states are created dynamically — a brand-new device has only connectionStatus until the first push arrives.

Image

Supported Sensors

States are created only for sensors your specific gateway and attached sensors actually report. States persist across plugin restarts.

Gateway metadata
connectionStatus · lastUpdate · gatewayModel · stationType

Outdoor
outdoorTemp · outdoorHumidity · dewPoint · feelsLike · windChill

Indoor
indoorTemp · indoorHumidity · indoorDewPoint

Wind
windDirection · windDirAvg10m · windSpeed · windSpeedAvg10m · windGust · maxDailyGust

Rain (tipping-bucket gauge)
rainRate · eventRain · hourlyRain · dailyRain · weeklyRain · monthlyRain · yearlyRain

Rain (WS90 piezoelectric gauge)
rainRatePiezo · eventRainPiezo · hourlyRainPiezo · dailyRainPiezo · weeklyRainPiezo · monthlyRainPiezo · yearlyRainPiezo · last24hRainPiezo · rainStatePiezo

Pressure
pressureRelative · pressureAbsolute

Solar / UV
solarRadiation · solarRadiationLux · uvIndex

Vapour Pressure Deficit
vpd

CO₂ / Air Quality (WH45 / WH46)
co2 · co2Avg24h · co2Indoor · co2IndoorAvg24h · pm25Co2 · pm25Co2Avg24h · pm1Co2 · pm4Co2 · pm10Co2 (+ 24h averages) · humiCo2 · tempCo2

Lightning (WH57)
lightningDist · lightningCount · lightningLastTime

Leak sensors (WH55)
leak1 – leak4

PM2.5 channels (WH41 / WH43)
pm25Ch1 – pm25Ch4 (+ 24h averages)

Multi-channel temperature/humidity (WH31, WH51 etc.)
ch1Temp – ch8Temp · ch1Humidity – ch8Humidity · ch1DewPoint – ch8DewPoint · soilMoisture1 – soilMoisture8 · soilTemp1 – soilTemp8 · leafWetness1 – leafWetness8

Battery / Power
battWh65 · battWh40 · battWh80 · battWh57 · battWh68 · battWh90 · battWh25 · battWh26 · pm25Batt1–pm25Batt4 · ch1Battery–ch8Battery · soilBatt1–soilBatt8 · ws90CapVolt

Image

Stale Detection

If no push is received for more than 5 minutes, connectionStatus is set to Stale. It returns to Connected on the next push. The check runs every 60 seconds.

Image

Multiple Gateways

Create one Ecowitt Gateway Hub device per gateway and set the PASSKEY on each. Data from each gateway is routed to its matching device. All gateways share the same listen port and path.

Image

Troubleshooting

No data received
  • Confirm the gateway is configured for Ecowitt protocol (not Wunderground) in WSView Plus
  • Check the path matches exactly — /data/report/ with trailing slash
  • Run the following to confirm packets are arriving at the Mac:

    Code: Select all

    sudo tcpdump -ni any -A port 45000
States not appearing
  • Enable Debug Logging in plugin preferences and reload the plugin. The log will show sensor discovery and state registration.
"No matching Indigo device" warning
  • Create an Ecowitt Gateway Hub device, or if one already exists, check the PASSKEY matches.
Image

Wiki

Full documentation is available in the GitHub Wiki:
Image

Credits
  • Uses aioecowitt by the Home Assistant team.
  • Dynamic state pattern adapted from GhostXML by IndigoDomotics.
User avatar
durosity
Posts: 4810
Joined: Thu May 10, 2012 3:21 pm
Location: Newcastle Upon Tyne, Ye Ol' England.

Re: Ecowitt Weather Station native Plugin (new Plugin)

Post by durosity »

Oh now this is interesting. I'm not in a position to get a new weather station at present, but I'm hoping to replace my existing Netatmo one in the not too distant future with something that can run locally.
Computer says no.
gskarp
Posts: 156
Joined: Thu Apr 19, 2012 4:50 pm

Re: Ecowitt Weather Station native Plugin (new Plugin)

Post by gskarp »

Really interested in this to deal with watering issues using soil moisture sensors. Got it to work by having to remove the trailing slash in the hub upload. Works great. Very excited to implement it in my house system. Thanks so much for creating this!
Welshdog
Posts: 66
Joined: Sun Aug 06, 2006 9:49 pm
Location: Austin TX

Re: Ecowitt Weather Station native Plugin (new Plugin)

Post by Welshdog »

Plugin installed! I tried building a couple triggers to start/stop a vent fan in my garage. The start trigger works fine, but the stop trigger does not seem to work. This trigger just uses outdoor temperature from the main weather sensor and temperature from a temperature sensor in the garage. The idea is to not run the fan when outdoors is hotter than the inside of the garage.

I had previously built a similar setup for Netatmo that used variable, but I've forgotten how I built that and don't know if I can get Ecowitt temperature data into a variable. Well, I don't know how to do that anyway.

Any suggestions?
User avatar
GlennNZ
Posts: 1870
Joined: Sun Dec 07, 2014 3:33 pm
Location: Central Coast, Australia

Re: Ecowitt Weather Station native Plugin (new Plugin)

Post by GlennNZ »

Seems like you are probably doing something wrong with trigger setup - particularly if one works and another doesn’t.

Probably more a generic trigger type question, rather than plugin specific I would be guessing. Although can’t recall whether plugin states are strings or numbers (if strings > < etc don’t work)

Probably need some details of the trigger working one and the non working one. And/or screenshots.

Thanks


Sent from my iPad using Tapatalk
Welshdog
Posts: 66
Joined: Sun Aug 06, 2006 9:49 pm
Location: Austin TX

Re: Ecowitt Weather Station native Plugin (new Plugin)

Post by Welshdog »

Yes it was just a trigger config issue. I had, for reasons unknown, put a degree symbol on one of the temperature entries. Indigo didn't like that and was just ignoring the trigger altogether.

The update interval is set to 1 minute and I don't think it needs to be that often. I wonder what that does to the station battery if it's getting hit every minute. Any downside to making that interval longer, like 5 minutes? I think my old Netatmo had a 10 minute interval.
Post Reply

Return to “GlennNZ's Plugins”