Ecowitt Local
alexlenk/ecowitt_local · vv1.11.0
Home Assistant custom integration for Ecowitt weather stations via local web interface
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) |
What people report
Polls Ecowitt gateways and sensors over the local network; GW3000 quirks and WH34 sensors were fixed, and WH52/WN30/WN36 now identified correctly.
- Works18
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Ecowitt GW1000 gateway | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt GW1100 gateway | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt GW1200 gateway | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt GW2000 gateway | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt GW3000 gateway | Works Local | Model showed Unknown; fixed in v1.6.5 and v1.6.8Saved copy@RussellAult, the model display being correct but the entity still being named `binary_sensor.ecowitt_gateway_unknown_online` is expected: the entity was created and registered under the old `"unknown"` ID, and HA keeps entity IDs once they're in the registry even if the integration changes. To get a clean entity ID: 1. Go to Settings → Devices & Services → Ecowitt Local → your gateway device 2. Click the `binary_sensor.ecowitt_gateway_unknown_online` entity → gear icon → Delete 3. Restart Home Assistant, the integration will recreate it as `binary_sensor.ecowitt_gateway_gw3000b_online` The … Excerpt saved from GitHub on 2026-10-23. | Issue #117 · 2026-03 | |
| Ecowitt WH31 temperature/humidity sensor | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH34 temperature probe | Works Local | No entities on GW3000; fixed in v1.5.15Saved copy… have a roadmap to support the GW3000? Here is what I am currently seeing. Is there anything I can do in the meantime to get the data from the connected WH34 sensor? - ecowitt local version: 1.5.4 - The entities for the gateway are being created. - The connected WH34 temp sensor is detected but no entities are created. - Model: GW3000 - latest firmware: GW3000B_V1.1.2 I have attached a debug after adding the following to configuration.yaml and restarting HA. logger: default: info logs: custom_components.ecowitt_local: debug debug-ecowitt_local-home-assistant.log output from … Excerpt saved from GitHub on 2026-10-23. | Issue #21 · 2025-10 | |
| Ecowitt WH40 rain gauge | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH41 PM2.5 sensor | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH45 air quality sensor | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH52 soil sensor | Works Local | Gateway reports WH52 as WH51; now named correctlySaved copyFixes #279. Closes #265. ## Problem `get_sensors_info` reports a WH52 exactly like a WH51: `"img": "wh51"` and a type number from the WH51 range. With @MajorC1983's GW3000A V1.2.4 data (#265, #279), the WH51 on CH1 is type 14 and the two WH52s on CH2 and CH3 are types 15 and 16. All readings already attach to the right device, because the WH51 key set includes the soil temperature and EC keys, but the WH52 devices are named "Ecowitt Soil Moisture Sensor ` `" and show model `wh51`. The live data is the only place that tells them apart: the WH51 is in `ch_soil`, the WH52s are in `ch_ec`. ## … Excerpt saved from GitHub on 2026-10-23. | PR #282 · 2026-10 | |
| Ecowitt WH55 leak sensor | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH57 lightning sensor | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WH65 weather station | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WN30/WN36 thermometer | Works Local | Reported as WH31 by gateway; now recognizedSaved copyFollow-up to #282, same approach. ## Problem The gateway reports a WN30 (thermometer with probe) or a WN36 (floating pool thermometer) as a WH31: `"img": "wh31"`, WH31 type number and channel, and its readings in the `ch_aisle` block. The device is therefore named "Ecowitt Temperature/Humidity Sensor ` `" with model `wh31`, although it has no humidity. The only difference in the data is the humidity. From my GW3000A (WN36 on CH1, WN31 on CH2): [code] `get_sensors_info` lists both as `wh31`, and `get_cli_multiCh` has no type field either. Ecowitt documents that the WN30 shares the WN31 cha Excerpt saved from GitHub on 2026-10-23. | PR #286 · 2026-10 | |
| Ecowitt WS2910 station | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WS80 anemometer | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README | |
| Ecowitt WS90 weather station | Works Local | Listed as supportedSaved copySupported devices: Gateway; GW1000; GW1100 / GW1100A; GW1200; GW2000 / GW2000A; GW3000; WS2910; Ecowitt display units (HP2550, HP2564, etc.); Sensor; WH25; WH26 / WN32; WH31; WN30 / WN36; WH34; WH35; WH40; WH41; WH45 / WH46D; WH51; WH52; WH55; WH57; WH68; WH65 / WH69; WH80 / WS80; WH90 / WS90; WN38. Excerpt saved from the README on 2026-10-23. | README |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Details
| Installs (analytics) | 707 (0.1%) |
|---|---|
| GitHub stars | 63 |
| Latest version | v1.11.0 (2026-10-20) |
| Set up in the UI | Yes |
| Maintainers | @alexlenk |
| License | MIT |
Devices listed in its README
- Gateway
- GW1000
- GW1100 / GW1100A
- GW1200
- GW2000 / GW2000A
- GW3000
- WS2910
- Ecowitt display units (HP2550, HP2564, etc.)
- Sensor
- WH25
- WH26 / WN32
- WH31
- WN30 / WN36
- WH34
- WH35
- WH40
- WH41
- WH45 / WH46D
- WH51
- WH52
- WH55
- WH57
- WH68
- WH65 / WH69
- WH80 / WS80
- WH90 / WS90
- WN38
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/alexlenk/ecowitt_local
- Source code: https://github.com/alexlenk/ecowitt_local
- Issues: https://github.com/alexlenk/ecowitt_local/issues
- HACS: https://hacs.xyz