| Developer: | Glenn's Plugins Like this plugin? Show your appreciation! |
| Category: | Weather and Environmental Sensors |
| Github: | Github Repo |
| Assistance: | Get help! Check the online documentation |
| Plugin ID: | com.GlennNZ.indigoplugin.ecowittweather |
| Latest release: | v1.1.0 released on May 23, 2026 |
| Release downloaded: | 2 times |
| Requires: | Indigo v2023.2.0 or higher |
| (Check the Releases tab below for older releases that may have different requirements) | |
| Download latest release |


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.
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.
| Model | Notes |
|---|---|
| GW1200 | Wi-Fi gateway |
| GW2000 | Ethernet + Wi-Fi gateway |
| GW3000 | Ethernet + Wi-Fi with on-board data storage |
| HP2560 / HP2564 | Console display hubs |
Any Ecowitt gateway that supports the Customized / Ecowitt protocol upload will work.
WS90 · WH65 · WH40 · WH57 · WH51 · WH31 · WH55 · WH41 · WH43 · WH45 · WH46 · WN34 · WH80 · WH68 · WH85 · WH25 · WH26

| Page | Description |
|---|---|
| Installation | Download, install, and first launch |
| Ecowitt Gateway Setup | Configure your gateway to push data — app and web UI methods, per-model notes |
| Device Setup | Creating Hub devices, PASSKEY routing, multiple gateways |
| Sensor States Reference | Complete list of all states by sensor category |
| Code Architecture | How the plugin works — asyncio, dynamic states, unit priority |
| Troubleshooting | Common problems and diagnostic steps |
1. Install the plugin → Installation
2. Configure plugin → Plugin Configuration (set port, units)
3. Configure gateway → Ecowitt Gateway Setup (WSView Plus / web UI)
4. Create Hub device → Device Setup
5. Wait for first push — states appear automatically

aioecowitt ≥ 2025.9.2 — installed automatically by Indigo from requirements.txtPlugin by Glenn Hawken · Uses aioecowitt by the Home Assistant team · Dynamic state pattern from GhostXML
aioecowitt ≥ 2025.9.2 (installed automatically by Indigo from requirements.txt)GW1200 Wi-Fi Gateway GW2000 Ethernet and Wi-Fi Gateway GW3000 Ethernet and Wi-Fi Gateway with Data Storage
WH51 Wireless Soil Moisture Sensor WH40 Wireless Self-emptying Rain Gauge Sensor WH57 Outdoor Wireless Lightning Detection Sensor WS90 Wireless 7-in-1 Weather Sensor
Creates a EcoWitt Gateway Hub device for each gateway. This single Indigo device contains all the sensors. If new sensors are added - (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). If this triggers OCD tendenceies then delete the indigo device and start afresh.
.indigoPlugin file.Open Plugins → Ecowitt Weather Station → Configure…
| Setting | Default | Description |
|---|---|---|
| Listen Port | 45000 |
TCP port the plugin's HTTP server listens on. Must be reachable from the gateway. |
| Listen Path | /data/report/ |
URL path the gateway POSTs to. Must match WSView Plus settings exactly. |
| Units | Imperial | Preferred unit system. When aioecowitt provides both °F and °C, the preferred variant wins. |
| Debug Logging | 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.
In the WSView Plus app, configure a Customised upload server: This is in the Web Tab of the Gateway settings, or via the App.
In the top-left corner, select the menu icon () and select Devices. Under My Devices, select your Ecowitt station. In the top-right corner, select the ellipsis icon (). From the list, select Others. Select the DIY Upload Servers button, and from the Supported Servers List, select Customized. From the Protocol Type Same As list, select Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. The path has to match! Remove the first forward slash from the path, as the app will prepend one. Save your settings.
Select Weather Services then scroll down to the Customized section. Under Customized, select 🔘 Enable and Protocol Type Same As 🔘 Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. Save your settings.
| Field | Value |
|---|---|
| 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) |
Create one Ecowitt Gateway Hub device per physical 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.
States are created only for sensors your specific gateway and attached sensors actually report. States persist across plugin restarts.
connectionStatus · lastUpdate · gatewayModel · stationType
outdoorTemp · outdoorHumidity · dewPoint · feelsLike · windChill
indoorTemp · indoorHumidity · indoorDewPoint
windDirection · windDirAvg10m · windSpeed · windSpeedAvg10m · windGust · maxDailyGust
rainRate · eventRain · hourlyRain · dailyRain · weeklyRain · monthlyRain · yearlyRain
rainRatePiezo · eventRainPiezo · hourlyRainPiezo · dailyRainPiezo · weeklyRainPiezo · monthlyRainPiezo · yearlyRainPiezo · last24hRainPiezo · rainStatePiezo
pressureRelative · pressureAbsolute
solarRadiation · solarRadiationLux · uvIndex
vpd
co2 · co2Avg24h · co2Indoor · co2IndoorAvg24h · pm25Co2 · pm25Co2Avg24h · pm1Co2 · pm4Co2 · pm10Co2 (+ 24h averages) · humiCo2 · tempCo2
lightningDist · lightningCount · lightningLastTime
leak1 – leak4
pm25Ch1 – pm25Ch4 (+ 24h averages)
ch1Temp – ch8Temp · ch1Humidity – ch8Humidity · ch1DewPoint – ch8DewPoint · soilMoisture1 – soilMoisture8 · soilTemp1 – soilTemp8 · leafWetness1 – leafWetness8
battWh65 · battWh40 · battWh80 · battWh57 · battWh68 · battWh90 · battWh25 · battWh26 · pm25Batt1–pm25Batt4 · ch1Battery–ch8Battery · soilBatt1–soilBatt8 · ws90CapVolt
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.
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.
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 sudo tcpdump -ni any -A port 45000 to confirm packets are arriving at the Mac.
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.
aioecowitt by the Home Assistant team.| Released on: | May 23, 2026 |
| Requires: | Indigo v2023.2.0+ |
| Downloaded: | 2 times |
| Download this release | |


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.
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.
| Model | Notes |
|---|---|
| GW1200 | Wi-Fi gateway |
| GW2000 | Ethernet + Wi-Fi gateway |
| GW3000 | Ethernet + Wi-Fi with on-board data storage |
| HP2560 / HP2564 | Console display hubs |
Any Ecowitt gateway that supports the Customized / Ecowitt protocol upload will work.
WS90 · WH65 · WH40 · WH57 · WH51 · WH31 · WH55 · WH41 · WH43 · WH45 · WH46 · WN34 · WH80 · WH68 · WH85 · WH25 · WH26

| Page | Description |
|---|---|
| Installation | Download, install, and first launch |
| Ecowitt Gateway Setup | Configure your gateway to push data — app and web UI methods, per-model notes |
| Device Setup | Creating Hub devices, PASSKEY routing, multiple gateways |
| Sensor States Reference | Complete list of all states by sensor category |
| Code Architecture | How the plugin works — asyncio, dynamic states, unit priority |
| Troubleshooting | Common problems and diagnostic steps |
1. Install the plugin → Installation
2. Configure plugin → Plugin Configuration (set port, units)
3. Configure gateway → Ecowitt Gateway Setup (WSView Plus / web UI)
4. Create Hub device → Device Setup
5. Wait for first push — states appear automatically

aioecowitt ≥ 2025.9.2 — installed automatically by Indigo from requirements.txtPlugin by Glenn Hawken · Uses aioecowitt by the Home Assistant team · Dynamic state pattern from GhostXML
aioecowitt ≥ 2025.9.2 (installed automatically by Indigo from requirements.txt)GW1200 Wi-Fi Gateway GW2000 Ethernet and Wi-Fi Gateway GW3000 Ethernet and Wi-Fi Gateway with Data Storage
WH51 Wireless Soil Moisture Sensor WH40 Wireless Self-emptying Rain Gauge Sensor WH57 Outdoor Wireless Lightning Detection Sensor WS90 Wireless 7-in-1 Weather Sensor
Creates a EcoWitt Gateway Hub device for each gateway. This single Indigo device contains all the sensors. If new sensors are added - (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). If this triggers OCD tendenceies then delete the indigo device and start afresh.
.indigoPlugin file.Open Plugins → Ecowitt Weather Station → Configure…
| Setting | Default | Description |
|---|---|---|
| Listen Port | 45000 |
TCP port the plugin's HTTP server listens on. Must be reachable from the gateway. |
| Listen Path | /data/report/ |
URL path the gateway POSTs to. Must match WSView Plus settings exactly. |
| Units | Imperial | Preferred unit system. When aioecowitt provides both °F and °C, the preferred variant wins. |
| Debug Logging | 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.
In the WSView Plus app, configure a Customised upload server: This is in the Web Tab of the Gateway settings, or via the App.
In the top-left corner, select the menu icon () and select Devices. Under My Devices, select your Ecowitt station. In the top-right corner, select the ellipsis icon (). From the list, select Others. Select the DIY Upload Servers button, and from the Supported Servers List, select Customized. From the Protocol Type Same As list, select Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. The path has to match! Remove the first forward slash from the path, as the app will prepend one. Save your settings.
Select Weather Services then scroll down to the Customized section. Under Customized, select 🔘 Enable and Protocol Type Same As 🔘 Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. Save your settings.
| Field | Value |
|---|---|
| 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) |
Create one Ecowitt Gateway Hub device per physical 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.
States are created only for sensors your specific gateway and attached sensors actually report. States persist across plugin restarts.
connectionStatus · lastUpdate · gatewayModel · stationType
outdoorTemp · outdoorHumidity · dewPoint · feelsLike · windChill
indoorTemp · indoorHumidity · indoorDewPoint
windDirection · windDirAvg10m · windSpeed · windSpeedAvg10m · windGust · maxDailyGust
rainRate · eventRain · hourlyRain · dailyRain · weeklyRain · monthlyRain · yearlyRain
rainRatePiezo · eventRainPiezo · hourlyRainPiezo · dailyRainPiezo · weeklyRainPiezo · monthlyRainPiezo · yearlyRainPiezo · last24hRainPiezo · rainStatePiezo
pressureRelative · pressureAbsolute
solarRadiation · solarRadiationLux · uvIndex
vpd
co2 · co2Avg24h · co2Indoor · co2IndoorAvg24h · pm25Co2 · pm25Co2Avg24h · pm1Co2 · pm4Co2 · pm10Co2 (+ 24h averages) · humiCo2 · tempCo2
lightningDist · lightningCount · lightningLastTime
leak1 – leak4
pm25Ch1 – pm25Ch4 (+ 24h averages)
ch1Temp – ch8Temp · ch1Humidity – ch8Humidity · ch1DewPoint – ch8DewPoint · soilMoisture1 – soilMoisture8 · soilTemp1 – soilTemp8 · leafWetness1 – leafWetness8
battWh65 · battWh40 · battWh80 · battWh57 · battWh68 · battWh90 · battWh25 · battWh26 · pm25Batt1–pm25Batt4 · ch1Battery–ch8Battery · soilBatt1–soilBatt8 · ws90CapVolt
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.
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.
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 sudo tcpdump -ni any -A port 45000 to confirm packets are arriving at the Mac.
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.
aioecowitt by the Home Assistant team.| Released on: | May 22, 2026 |
| Requires: | Indigo v2023.2.0+ |
| Downloaded: | 1 times |
| Download this release | |
Receives local weather data from Ecowitt gateways (GW1000, GW2000, GW3000, HP2560, etc.) via HTTP push using the Ecowitt protocol. All sensor readings are stored as states on a single Indigo device per gateway.
aioecowitt ≥ 2025.9.2 (installed automatically by Indigo from requirements.txt)GW1200 Wi-Fi Gateway GW2000 Ethernet and Wi-Fi Gateway GW3000 Ethernet and Wi-Fi Gateway with Data Storage
WH51 Wireless Soil Moisture Sensor WH40 Wireless Self-emptying Rain Gauge Sensor WH57 Outdoor Wireless Lightning Detection Sensor WS90 Wireless 7-in-1 Weather Sensor
Creates a EcoWitt Gateway Hub device for each gateway. This single Indigo device contains all the sensors. If new sensors are added - (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). If this triggers OCD tendenceies then delete the indigo device and start afresh.
.indigoPlugin file.Open Plugins → Ecowitt Weather Station → Configure…
| Setting | Default | Description |
|---|---|---|
| Listen Port | 45000 |
TCP port the plugin's HTTP server listens on. Must be reachable from the gateway. |
| Listen Path | /data/report/ |
URL path the gateway POSTs to. Must match WSView Plus settings exactly. |
| Units | Imperial | Preferred unit system. When aioecowitt provides both °F and °C, the preferred variant wins. |
| Debug Logging | 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.
In the WSView Plus app, configure a Customised upload server: This is in the Web Tab of the Gateway settings, or via the App.
In the top-left corner, select the menu icon () and select Devices. Under My Devices, select your Ecowitt station. In the top-right corner, select the ellipsis icon (). From the list, select Others. Select the DIY Upload Servers button, and from the Supported Servers List, select Customized. From the Protocol Type Same As list, select Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. The path has to match! Remove the first forward slash from the path, as the app will prepend one. Save your settings.
Select Weather Services then scroll down to the Customized section. Under Customized, select 🔘 Enable and Protocol Type Same As 🔘 Ecowitt. Enter the Server IP / Host Name, Path, and Port from the integration. Save your settings.
| Field | Value |
|---|---|
| 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) |
Create one Ecowitt Gateway Hub device per physical 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.
States are created only for sensors your specific gateway and attached sensors actually report. States persist across plugin restarts.
connectionStatus · lastUpdate · gatewayModel · stationType
outdoorTemp · outdoorHumidity · dewPoint · feelsLike · windChill
indoorTemp · indoorHumidity · indoorDewPoint
windDirection · windDirAvg10m · windSpeed · windSpeedAvg10m · windGust · maxDailyGust
rainRate · eventRain · hourlyRain · dailyRain · weeklyRain · monthlyRain · yearlyRain
rainRatePiezo · eventRainPiezo · hourlyRainPiezo · dailyRainPiezo · weeklyRainPiezo · monthlyRainPiezo · yearlyRainPiezo · last24hRainPiezo · rainStatePiezo
pressureRelative · pressureAbsolute
solarRadiation · solarRadiationLux · uvIndex
vpd
co2 · co2Avg24h · co2Indoor · co2IndoorAvg24h · pm25Co2 · pm25Co2Avg24h · pm1Co2 · pm4Co2 · pm10Co2 (+ 24h averages) · humiCo2 · tempCo2
lightningDist · lightningCount · lightningLastTime
leak1 – leak4
pm25Ch1 – pm25Ch4 (+ 24h averages)
ch1Temp – ch8Temp · ch1Humidity – ch8Humidity · ch1DewPoint – ch8DewPoint · soilMoisture1 – soilMoisture8 · soilTemp1 – soilTemp8 · leafWetness1 – leafWetness8
battWh65 · battWh40 · battWh80 · battWh57 · battWh68 · battWh90 · battWh25 · battWh26 · pm25Batt1–pm25Batt4 · ch1Battery–ch8Battery · soilBatt1–soilBatt8 · ws90CapVolt
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.
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.
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 sudo tcpdump -ni any -A port 45000 to confirm packets are arriving at the Mac.
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.
aioecowitt by the Home Assistant team.