Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add WN30 and WH26 #27

Merged
merged 1 commit into from
Sep 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
### 2.2.0-beta

* Add support for WH26 and WN30
* Renamed WH31 and WH34 to WN31 and WN34 respectively


### 2.2.0-beta

* Add support for WH41, WH43, WH45, WH46, and WH57
* Implement Air Quality, Carbon Dioxide, and Lightning sensors
* Minor adjustments to thresholds for low battery indication
Expand Down
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,20 +114,22 @@ This plugin currently supports the Ecowitt devices shown in the table below. If

| Device | Description | Service Types| Product Image |
| -------- | ------- | ------- | ------ |
| GW1000 / GW1100 | WiFi Weather Station Gateway | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/GW1000-GW1100.jpeg" alt="GW1000" width="200"/> |
| GW1200 | WiFi Weather Station Gateway | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/GW1200.jpeg" alt="GW1200" width="200"/> |
| GW2000 | WiFi Weather Station Gateway | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/GW2000.jpeg" alt="GW2000" width="200"/> |
| GW1000 / GW1100 | WiFi Weather Station Gateway | <ul><li>Indoor Temperature</li><li>Indoor Humidity</li></ul> | <img src="./docs/assets/GW1000-GW1100.jpeg" alt="GW1000" width="200"/> |
| GW1200 | WiFi Weather Station Gateway | <ul><li>Indoor Temperature</li><li>Indoor Humidity</li></ul> | <img src="./docs/assets/GW1200.jpeg" alt="GW1200" width="200"/> |
| GW2000 | WiFi Weather Station Gateway | <ul><li>Indoor Temperature</li><li>Indoor Humidity</li></ul> | <img src="./docs/assets/GW2000.jpeg" alt="GW2000" width="200"/> |
| HP2550 (and variants) | 7" TFT Color Display Console | | <img src="./docs/assets/HP2550.jpeg" alt="HP2550" width="200"/> |
| HP2560 (and variants) | 7" TFT Color Display Console with Indoor Sensor Antenna | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/HP2560.jpeg" alt="HP2560" width="200"/> |
| HP3500 (and variants) | 4.3" TFT Color Display Console | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/HP3500.jpeg" alt="HP3500" width="200"/> |
| WH25 | Indoor Temperature, Humidity and Barometric Sensor | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/WH25.jpeg" alt="WH25" width="200"/> |
| WH31 / WN31 (All variants)| Multi-Channel Temperature and Humidity Sensor | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/WH31.jpeg" alt="WH31" width="200"/> |
| WH34 / WN34 (All variants)| Multi-Channel Temperature Sensor | <ul><li>Temperature</li></ul> | <img src="./docs/assets/WN34.jpeg" alt="WH34" width="200"/> |
| HP2560 (and variants) | 7" TFT Color Display Console with Indoor Sensor Antenna | <ul><li>Indoor Temperature</li><li>Indoor Humidity</li></ul> | <img src="./docs/assets/HP2560.jpeg" alt="HP2560" width="200"/> |
| HP3500 (and variants) | 4.3" TFT Color Display Console | | <img src="./docs/assets/HP3500.jpeg" alt="HP3500" width="200"/> |
| WH25 | Indoor Temperature, Humidity and Barometric Sensor | <ul><li>Indoor Temperature</li><li>Indoor Humidity</li></ul> | <img src="./docs/assets/WH25.jpeg" alt="WH25" width="200"/> |
| WH26| Outdoor Temperature and Humidity Sensor | <ul><li>Temperature</li><li>Humidity</li></ul> | <img src="./docs/assets/WH26.jpeg" alt="WH26" width="200"/> |
| WN30 | Thermometer with Probe | <ul><li>Temperature</li></ul> | <img src="./docs/assets/WN30.jpeg" alt="WN30" width="200"/> |
| WN31 / WH31 (and EP variants) | Multi-Channel Temperature and Humidity Sensor | <ul><li>Temperature</li><li>Humdity</li></ul> | <img src="./docs/assets/WN31.jpeg" alt="WN31" width="200"/> |
| WN34 (S, D, and L variants) | Multi-Channel Temperature Sensor | <ul><li>Temperature</li></ul> | <img src="./docs/assets/WN34.jpeg" alt="WN34" width="200"/> |
| WH40 | Self-Emptying Rain Collector Rainfall Sensor | <ul><li>Rain Rate</li><li>Rain Event Total</li><li>Rain Hourly Total</li><li>Rain Daily Total</li><li>Rain Weekly Total</li><li>Rain Monthly Total</li><li>Rain Yearly Total</li></ul> | <img src="./docs/assets/WH40.jpeg" alt="WH40" width="200"/> |
| WH41 / WH43 | PM2.5 Air Quality Sensor Monitor Outdoor | <ul><li>PM2.5 Air Quality</li><li>PM2.5 Air Quality (24hrs)</li></ul> | <img src="./docs/assets/WH41.jpeg" alt="WH41" width="200"/> |
| WH45 | 5-in-1 PM2.5 / PM10 / CO₂ Air Quality Sensor | <ul><li>Temperature</li><li>Humidity</li><li>PM2.5 Air Quality</li><li>PM2.5 Air Quality (24hrs)</li><li>PM10 Air Quality</li><li>PM10 Air Quality (24hrs)</li><li>CO₂ Level</li><li>CO₂ Level (24 hrs)</li></ul> | <img src="./docs/assets/WH45.jpeg" alt="WH45" width="200"/> |
| WH46 | 7-in-1 PM1.0 / PM2.5 / PM4.0 / PM10 / CO₂ Air Quality Sensor | <ul><li>Temperature</li><li>Humidity</li><li>PM2.5 Air Quality</li><li>PM2.5 Air Quality (24hrs)</li><li>PM10 Air Quality</li><li>PM10 Air Quality (24hrs)</li><li>CO₂ Level</li><li>CO₂ Level (24 hrs)</li></ul> | <img src="./docs/assets/WH46.jpeg" alt="WH46" width="200"/> |
| WH51 (All variants)| Wireless Soil Moisture Sensor | <ul><li>Soil Moisture</li></ul> | <img src="./docs/assets/WH51.jpeg" alt="WH51" width="200"/> |
| WH51 (and L variant)| Wireless Soil Moisture Sensor | <ul><li>Soil Moisture</li></ul> | <img src="./docs/assets/WH51.jpeg" alt="WH51" width="200"/> |
| WH55 | Water Leak Detection Sensor with Loud Audio Alarm | <ul><li>Water Leak</li></ul> | <img src="./docs/assets/WH55.jpeg" alt="WH55" width="200"/> |
| WH57 | Lightning Detection Sensor | <ul><li>Lightning Events</li><li>Lightning Distance</li><li>Lightning Time</li></ul> | <img src="./docs/assets/WH57.jpeg" alt="WH57" width="200"/> |
| WH65 | Solar Powered 7-in-1 Outdoor Station | <ul><li>Temperature</li><li>Humidity</li><li>Solar Radiation</li><li>UV Index</li><li>Dew Point</li><li>Wind Direction</li><li>Wind Speed</li><li>Wind Gust Speed</li><li>Wind Max Daily Speed</li><li>Rain Rate</li><li>Rain Event Total</li><li>Rain Hourly Total</li><li>Rain Daily Total</li><li>Rain Weekly Total</li><li>Rain Monthly Total</li><li>Rain Yearly Total</li></ul> | <img src="./docs/assets/WH65.jpeg" alt="WH65" width="200"/> |
Expand Down Expand Up @@ -166,7 +168,7 @@ It's recommended to configure the plugin through the Plugin Config UI on the Hom
| units.distance | `mi` | The units to display distance such as lightning strike distance. Possible values are: <br/><br/>`mi`: Miles<br/>`km`: Kilometers |
| units.temperature | `fh` | The units to display temperature. Possible values are: <br/><br/>`fh`: Fahrenheit<br/>`ce`: Celcius |
| thresholds | `{}` | A mapping of a weather data property to the trigger threshold for that property. By default no thresholds are set. Trigger thresholds should be specified in the units selected under the `units` configuration block. Possible keys are: <br/><br/>`windSpeed`<br/>`windGustSpeed`<br/>`windMaxDailySpeed`<br/>`rainRate`<br/>`rainEventTotal`<br/>`rainHourlyTotal`<br/>`rainDailyTotal`<br/>`rainWeeklyTotal`<br/>`rainMonthlyTotal`<br/>`rainYearlyTotal`<br/>`uvIndex`<br/>`lightningEvents`<br/>`lightningDistance *`<br/>`lightningTime *` <br/><br/> \*The value of the weather data property must be <strong>greater than</strong> the threshold to trigger the accessory (motion detected), except for `lightningDistance` and `lightningTime` which are triggered when the weather data property is <strong>less than</strong> the threshold. |
| hidden | `{}` | A mapping of a weather data property or device to whether it should be displayed. By default no weather data or devices are hidden. Possible keys to hide weather data are: <br/><br/>`windDirection`<br>`windSpeed`<br/>`windGustSpeed`<br/>`windMaxDailySpeed`<br/>`rainRate`<br/>`rainEventTotal`<br/>`rainHourlyTotal`<br/>`rainDailyTotal`<br/>`rainWeeklyTotal`<br/>`rainMonthlyTotal`<br/>`rainYearlyTotal`<br/>`solarRadiation`<br/>`uvIndex`<br/>`temperature`<br/>`humdity`<br/>`indoorTemperature`<br/>`indoorHumdity`<br/>`soilMoisture`<br/>`dewPoint`<br/>`waterLeak`<br/>`airQualityPM25`<br/>`airQualityPM25Avg`<br/>`airQualityPM10`<br/>`airQualityPM10Avg`<br/>`carbonDioxide`<br/>`carbonDioxideAvg`<br/>`lightningEvents`<br/>`lightningDistance`<br/>`lightningTime` <br/><br/> Possible keys to hide devices are: <br/><br>`GW1000`<br>`GW2000`<br>`HP2560`<br>`WH25`<br>`WH31`<br>`WH34`<br>`WH40`<br>`WH41`<br>`WH45`<br>`WH46`<br>`WH51`<br>`WH55`<br>`WH57`<br>`WS85`<br/> |
| hidden | `{}` | A mapping of a weather data property or device to whether it should be displayed. By default no weather data or devices are hidden. Possible keys to hide weather data are: <br/><br/>`windDirection`<br>`windSpeed`<br/>`windGustSpeed`<br/>`windMaxDailySpeed`<br/>`rainRate`<br/>`rainEventTotal`<br/>`rainHourlyTotal`<br/>`rainDailyTotal`<br/>`rainWeeklyTotal`<br/>`rainMonthlyTotal`<br/>`rainYearlyTotal`<br/>`solarRadiation`<br/>`uvIndex`<br/>`temperature`<br/>`humdity`<br/>`indoorTemperature`<br/>`indoorHumdity`<br/>`soilMoisture`<br/>`dewPoint`<br/>`waterLeak`<br/>`airQualityPM25`<br/>`airQualityPM25Avg`<br/>`airQualityPM10`<br/>`airQualityPM10Avg`<br/>`carbonDioxide`<br/>`carbonDioxideAvg`<br/>`lightningEvents`<br/>`lightningDistance`<br/>`lightningTime` <br/><br/> Possible keys to hide devices are: <br/><br>`GW1000`<br>`GW2000`<br>`HP2560`<br>`WH25`<br>`WH26`<br>`WN30`<br>`WN31`<br>`WN34`<br>`WH40`<br>`WH41`<br>`WH45`<br>`WH46`<br>`WH51`<br>`WH55`<br>`WH57`<br>`WS85`<br/> |
| nameOverrides | `[]` | A list of key value pairs that specifies the override name for an accessory service. Each override takes on the form: <br><br> `{"key": "<the-service-identifier>", "value", "<the-override-name"}` <br><br> The service identifier is specified in the form `YYYY(CHZ)` or if an accessory has multiple services the weather data property should be included in the identifier `YYYY(CHZ):<weather-data-property>`. <br><br>`YYYY` is the device id (e.g. WH41) <br> `(CHZ)` is the optional channel id if the device uses a channel. <br><br> The weather data property can be set to any of the weather data keys indicated in `hidden` |
| additional.staticNames | `false` | Set to `true` to not show the weather metric value in the service names of the accessory so that the service names do not change. |
| additional.validateMac | `true` | Check that the MAC address in each data report matches the MAC address specified for the plugin, and do not process the data report if it does not match. |
Expand Down
28 changes: 20 additions & 8 deletions config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -371,13 +371,23 @@
"type": "boolean",
"required": false
},
"WH31": {
"title": "WH31",
"WH26": {
"title": "WH26",
"type": "boolean",
"required": false
},
"WH34": {
"title": "WH34",
"WN30": {
"title": "WN30",
"type": "boolean",
"required": false
},
"WN31": {
"title": "WN31",
"type": "boolean",
"required": false
},
"WN34": {
"title": "WN34",
"type": "boolean",
"required": false
},
Expand Down Expand Up @@ -663,22 +673,24 @@
"hidden.GW2000",
"hidden.HP2560",
"hidden.WH25",
"hidden.WH31"
"hidden.WH26",
"hidden.WN30"
]
},
{
"type": "flex",
"items": [
"hidden.WH34",
"hidden.WN31",
"hidden.WN34",
"hidden.WH40",
"hidden.WH41",
"hidden.WH45",
"hidden.WH46"
"hidden.WH45"
]
},
{
"type": "flex",
"items": [
"hidden.WH46",
"hidden.WH51",
"hidden.WH55",
"hidden.WH57",
Expand Down
Binary file added docs/assets/WH26.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/WN30.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"private": false,
"displayName": "Homebridge Ecowitt Weather Sensors",
"name": "homebridge-ecowitt-weather-sensors",
"version": "2.2.0-beta",
"version": "2.3.0-beta",
"description": "Complete HomeKit support for Ecowitt Weather Sensors through Homebrige",
"license": "Apache-2.0",
"icon": "https://raw.githubusercontent.com/rhockenbury/homebridge-ecowitt-weather-sensors/master/docs/assets/ecowitt-logo.png",
Expand Down
6 changes: 4 additions & 2 deletions src/EcowittAccessory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import * as utils from './Utils';
//------------------------------------------------------------------------------

export class EcowittAccessory {
public requiredData: string[] = [];
public optionalData: string[] = [];
public requiredData: string[] = []; // fields that must be provided
public optionalData: string[] = []; // fields that are used if available
public unusedData: string[] = []; // fields that are not used / displayed

protected readonly accessoryId: string;
protected readonly shortServiceId: string;

Expand Down
Loading