diff --git a/custom_components/ecowitt/const.py b/custom_components/ecowitt/const.py index e57fc40..529ddfe 100644 --- a/custom_components/ecowitt/const.py +++ b/custom_components/ecowitt/const.py @@ -247,457 +247,331 @@ WINDCHILL_OPTS = [W_TYPE_HYBRID, W_TYPE_NEW, W_TYPE_OLD] -# Name, unit_of_measure, type, device_class, icon, metric=1, state_class -# name, uom, kind, device_class, icon, metric, state_class = SENSOR_TYPES[x] + +# Name, unit_of_measure, type, device_class, icon, metric=1 +# name, uom, kind, device_class, icon, metric = SENSOR_TYPES[x] SENSOR_TYPES = { - TYPE_BAROMABSHPA: ("Absolute Pressure", PRESSURE_HPA, + TYPE_BAROMABSHPA: ("Ecowitt Absolute Pressure", PRESSURE_HPA, TYPE_SENSOR, DEVICE_CLASS_PRESSURE, - "mdi:gauge", S_METRIC, STATE_CLASS_MEASUREMENT), - TYPE_BAROMRELHPA: ("Relative Pressure", PRESSURE_HPA, + "mdi:gauge", S_METRIC), + TYPE_BAROMRELHPA: ("Ecowitt Relative Pressure", PRESSURE_HPA, TYPE_SENSOR, DEVICE_CLASS_PRESSURE, - "mdi:gauge", S_METRIC, STATE_CLASS_MEASUREMENT), - TYPE_BAROMABSIN: ("Absolute Pressure", PRESSURE_INHG, + "mdi:gauge", S_METRIC), + TYPE_BAROMABSIN: ("Ecowitt Absolute Pressure", PRESSURE_INHG, TYPE_SENSOR, DEVICE_CLASS_PRESSURE, - "mdi:gauge", S_IMPERIAL, STATE_CLASS_MEASUREMENT), - TYPE_BAROMRELIN: ("Relative Pressure", PRESSURE_INHG, + "mdi:gauge", S_IMPERIAL), + TYPE_BAROMRELIN: ("Ecowitt Relative Pressure", PRESSURE_INHG, TYPE_SENSOR, DEVICE_CLASS_PRESSURE, - "mdi:gauge", S_IMPERIAL, STATE_CLASS_MEASUREMENT), - TYPE_RAINRATEIN: ("Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_EVENTRAININ: ("Event Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_HOURLYRAININ: ("Hourly Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_TOTALRAININ: ("Total Rain Rate", f"{LENGTH_INCHES}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_DAILYRAININ: ("Daily Rain Rate", f"{LENGTH_INCHES}/{TIME_DAYS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_WEEKLYRAININ: ("Weekly Rain Rate", f"{LENGTH_INCHES}/{TIME_WEEKS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_MONTHLYRAININ: ("Monthly Rain Rate", f"{LENGTH_INCHES}/{TIME_MONTHS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_YEARLYRAININ: ("Yearly Rain Rate", f"{LENGTH_INCHES}/{TIME_YEARS}", - TYPE_SENSOR, None, "mdi:water", S_IMPERIAL, - STATE_CLASS_TOTAL_INCREASING), - TYPE_RAINRATEMM: ("Rain Rate", f"mm/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_EVENTRAINMM: ("Event Rain Rate", f"mm/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_HOURLYRAINMM: ("Hourly Rain Rate", f"mm/{TIME_HOURS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_TOTALRAINMM: ("Total Rain Rate", f"mm", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_DAILYRAINMM: ("Daily Rain Rate", f"mm/{TIME_DAYS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_WEEKLYRAINMM: ("Weekly Rain Rate", f"mm/{TIME_WEEKS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_MONTHLYRAINMM: ("Monthly Rain Rate", f"mm/{TIME_MONTHS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_YEARLYRAINMM: ("Yearly Rain Rate", f"mm/{TIME_YEARS}", - TYPE_SENSOR, None, "mdi:water", S_METRIC, - STATE_CLASS_TOTAL_INCREASING), - TYPE_HUMIDITY: ("Humidity", PERCENTAGE, + "mdi:gauge", S_IMPERIAL), + TYPE_RAINRATEIN: ("Ecowitt Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_EVENTRAININ: ("Ecowitt Event Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_HOURLYRAININ: ("Ecowitt Hourly Rain Rate", f"{LENGTH_INCHES}/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_TOTALRAININ: ("Ecowitt Total Rain Rate", f"{LENGTH_INCHES}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_DAILYRAININ: ("Ecowitt Daily Rain Rate", f"{LENGTH_INCHES}/{TIME_DAYS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_WEEKLYRAININ: ("Ecowitt Weekly Rain Rate", f"{LENGTH_INCHES}/{TIME_WEEKS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_MONTHLYRAININ: ("Ecowitt Monthly Rain Rate", f"{LENGTH_INCHES}/{TIME_MONTHS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_YEARLYRAININ: ("Ecowitt Yearly Rain Rate", f"{LENGTH_INCHES}/{TIME_YEARS}", + TYPE_SENSOR, None, "mdi:water", S_IMPERIAL), + TYPE_RAINRATEMM: ("Ecowitt Rain Rate", f"mm/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_EVENTRAINMM: ("Ecowitt Event Rain Rate", f"mm/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_HOURLYRAINMM: ("Ecowitt Hourly Rain Rate", f"mm/{TIME_HOURS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_TOTALRAINMM: ("Ecowitt Total Rain Rate", f"mm", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_DAILYRAINMM: ("Ecowitt Daily Rain Rate", f"mm/{TIME_DAYS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_WEEKLYRAINMM: ("Ecowitt Weekly Rain Rate", f"mm/{TIME_WEEKS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_MONTHLYRAINMM: ("Ecowitt Monthly Rain Rate", f"mm/{TIME_MONTHS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_YEARLYRAINMM: ("Ecowitt Yearly Rain Rate", f"mm/{TIME_YEARS}", + TYPE_SENSOR, None, "mdi:water", S_METRIC), + TYPE_HUMIDITY: ("Ecowitt Humidity", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITYIN: ("Indoor Humidity", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITYIN: ("Ecowitt Indoor Humidity", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY1: ("Humidity 1", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY1: ("Ecowitt Humidity 1", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY2: ("Humidity 2", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY2: ("Ecowitt Humidity 2", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY3: ("Humidity 3", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY3: ("Ecowitt Humidity 3", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY4: ("Humidity 4", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY4: ("Ecowitt Humidity 4", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY5: ("Humidity 5", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY5: ("Ecowitt Humidity 5", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY6: ("Humidity 6", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY6: ("Ecowitt Humidity 6", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY7: ("Humidity 7", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY7: ("Ecowitt Humidity 7", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_HUMIDITY8: ("Humidity 8", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_HUMIDITY8: ("Ecowitt Humidity 8", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_WINDDIR: ("Wind Direction", DEGREE, - TYPE_SENSOR, None, "mdi:compass", 0, STATE_CLASS_MEASUREMENT), - TYPE_WINDDIR_A10: ("Wind Direction 10m Avg", DEGREE, - TYPE_SENSOR, None, "mdi:compass", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDKMH: ("Wind Speed", SPEED_KILOMETERS_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDKMH_A10: ("Wind Speed 10m Avg", SPEED_KILOMETERS_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC, - STATE_CLASS_MEASUREMENT), - TYPE_WINDGUSTKMH: ("Wind Gust", SPEED_KILOMETERS_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDMPH: ("Wind Speed", SPEED_MILES_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDMPH_A10: ("Wind Speed 10m Avg", SPEED_MILES_PER_HOUR, + "mdi:water-percent", 0), + TYPE_WINDDIR: ("Ecowitt Wind Direction", DEGREE, + TYPE_SENSOR, None, "mdi:compass", 0), + TYPE_WINDDIR_A10: ("Ecowitt Wind Direction 10m Avg", DEGREE, + TYPE_SENSOR, None, "mdi:compass", 0), + TYPE_WINDSPEEDKMH: ("Ecowitt Wind Speed", SPEED_KILOMETERS_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC), + TYPE_WINDSPEEDKMH_A10: ("Ecowitt Wind Speed 10m Avg", SPEED_KILOMETERS_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC), + TYPE_WINDGUSTKMH: ("Ecowitt Wind Gust", SPEED_KILOMETERS_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC), + TYPE_WINDSPEEDMPH: ("Ecowitt Wind Speed", SPEED_MILES_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL), + TYPE_WINDSPEEDMPH_A10: ("Ecowitt Wind Speed 10m Avg", SPEED_MILES_PER_HOUR, TYPE_SENSOR, None, "mdi:weather-windy", - S_IMPERIAL, STATE_CLASS_MEASUREMENT), - TYPE_WINDGUSTMPH: ("Wind Gust", SPEED_MILES_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL, - STATE_CLASS_MEASUREMENT), - TYPE_MAXDAILYGUST: ("Max Daily Wind Gust", SPEED_MILES_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL, - STATE_CLASS_MEASUREMENT), - TYPE_MAXDAILYGUSTKMH: ("Max Daily Wind Gust", SPEED_KILOMETERS_PER_HOUR, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC, - STATE_CLASS_MEASUREMENT), - TYPE_WINDGUSTMS: ("Wind Gust", SPEED_METERS_PER_SECOND, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDMS: ("Wind Speed", SPEED_METERS_PER_SECOND, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS, - STATE_CLASS_MEASUREMENT), - TYPE_WINDSPEEDMS_A10: ("Wind Speed", SPEED_METERS_PER_SECOND, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS, - STATE_CLASS_MEASUREMENT), - TYPE_MAXDAILYGUSTMS: ("Max Daily Wind Gust", SPEED_METERS_PER_SECOND, - TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS, - STATE_CLASS_MEASUREMENT), - TYPE_TEMPC: ("Outdoor Temperature", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP1C: ("Temperature 1", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP2C: ("Temperature 2", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP3C: ("Temperature 3", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP4C: ("Temperature 4", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP5C: ("Temperature 5", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP6C: ("Temperature 6", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP7C: ("Temperature 7", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMP8C: ("Temperature 8", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0, - STATE_CLASS_MEASUREMENT), - TYPE_TEMPINC: ("Indoor Temperature", TEMP_CELSIUS, + S_IMPERIAL), + TYPE_WINDGUSTMPH: ("Ecowitt Wind Gust", SPEED_MILES_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL), + TYPE_MAXDAILYGUST: ("Ecowitt Max Daily Wind Gust", SPEED_MILES_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_IMPERIAL), + TYPE_MAXDAILYGUSTKMH: ("Ecowitt Max Daily Wind Gust", SPEED_KILOMETERS_PER_HOUR, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC), + TYPE_WINDGUSTMS: ("Ecowitt Wind Gust", SPEED_METERS_PER_SECOND, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS), + TYPE_WINDSPEEDMS: ("Ecowitt Wind Speed", SPEED_METERS_PER_SECOND, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS), + TYPE_WINDSPEEDMS_A10: ("Ecowitt Wind Speed", SPEED_METERS_PER_SECOND, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS), + TYPE_MAXDAILYGUSTMS: ("Ecowitt Max Daily Wind Gust", SPEED_METERS_PER_SECOND, + TYPE_SENSOR, None, "mdi:weather-windy", S_METRIC_MS), + TYPE_TEMPC: ("Ecowitt Outdoor Temperature", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP1C: ("Ecowitt Temperature 1", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP2C: ("Ecowitt Temperature 2", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP3C: ("Ecowitt Temperature 3", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP4C: ("Ecowitt Temperature 4", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP5C: ("Ecowitt Temperature 5", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP6C: ("Ecowitt Temperature 6", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP7C: ("Ecowitt Temperature 7", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMP8C: ("Ecowitt Temperature 8", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_TEMPINC: ("Ecowitt Indoor Temperature", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINTC: ("Dewpoint", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINTC: ("Ecowitt Dewpoint", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINTINC: ("Indoor Dewpoint", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINTINC: ("Ecowitt Indoor Dewpoint", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT1C: ("Dewpoint 1", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT1C: ("Ecowitt Dewpoint 1", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT2C: ("Dewpoint 2", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT2C: ("Ecowitt Dewpoint 2", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT3C: ("Dewpoint 3", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT3C: ("Ecowitt Dewpoint 3", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT4C: ("Dewpoint 4", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT4C: ("Ecowitt Dewpoint 4", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT5C: ("Dewpoint 5", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT5C: ("Ecowitt Dewpoint 5", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT6C: ("Dewpoint 6", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT6C: ("Ecowitt Dewpoint 6", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT7C: ("Dewpoint 7", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT7C: ("Ecowitt Dewpoint 7", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_DEWPOINT8C: ("Dewpoint 8", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_DEWPOINT8C: ("Ecowitt Dewpoint 8", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WINDCHILLC: ("Windchill", TEMP_CELSIUS, + "mdi:thermometer", 0), + TYPE_WINDCHILLC: ("Ecowitt Windchill", TEMP_CELSIUS, TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOLARRADIATION: ("Solar Radiation", f"{POWER_WATT}/m^2", + "mdi:thermometer", 0), + TYPE_SOLARRADIATION: ("Ecowitt Solar Radiation", f"{POWER_WATT}/m^2", TYPE_SENSOR, DEVICE_CLASS_ILLUMINANCE, - "mdi:weather-sunny", 0, STATE_CLASS_MEASUREMENT), - TYPE_UV: ("UV Index", UV_INDEX, - TYPE_SENSOR, None, "mdi:sunglasses", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE1: ("Soil Moisture 1", PERCENTAGE, + "mdi:weather-sunny", 0), + TYPE_UV: ("Ecowitt UV Index", UV_INDEX, + TYPE_SENSOR, None, "mdi:sunglasses", 0), + TYPE_SOILMOISTURE1: ("Ecowitt Soil Moisture 1", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE2: ("Soil Moisture 2", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE2: ("Ecowitt Soil Moisture 2", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE3: ("Soil Moisture 3", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE3: ("Ecowitt Soil Moisture 3", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE4: ("Soil Moisture 4", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE4: ("Ecowitt Soil Moisture 4", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE5: ("Soil Moisture 5", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE5: ("Ecowitt Soil Moisture 5", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE6: ("Soil Moisture 6", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE6: ("Ecowitt Soil Moisture 6", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE7: ("Soil Moisture 7", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE7: ("Ecowitt Soil Moisture 7", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_SOILMOISTURE8: ("Soil Moisture 8", PERCENTAGE, + "mdi:water-percent", 0), + TYPE_SOILMOISTURE8: ("Ecowitt Soil Moisture 8", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_PM25_CH1: ("PM2.5 1", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_PM25_CH2: ("PM2.5 2", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_PM25_CH3: ("PM2.5 3", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_PM25_CH4: ("PM2.5 4", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_PM25_AVG_24H_CH1: ("PM2.5 24h average 1", + "mdi:water-percent", 0), + TYPE_PM25_CH1: ("Ecowitt PM2.5 1", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_CH2: ("Ecowitt PM2.5 2", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_CH3: ("Ecowitt PM2.5 3", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_CH4: ("Ecowitt PM2.5 4", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_AVG_24H_CH1: ("Ecowitt PM2.5 24h average 1", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25_AVG_24H_CH2: ("PM2.5 24h average 2", + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_AVG_24H_CH2: ("Ecowitt PM2.5 24h average 2", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25_AVG_24H_CH3: ("PM2.5 24h average 3", + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_AVG_24H_CH3: ("Ecowitt PM2.5 24h average 3", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25_AVG_24H_CH4: ("PM2.5 24h average 4", + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_PM25_AVG_24H_CH4: ("Ecowitt PM2.5 24h average 4", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LIGHTNING_TIME: ("Last Lightning strike", "", - TYPE_SENSOR, DEVICE_CLASS_TIMESTAMP, "mdi:clock", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LIGHTNING_NUM: ("Lightning strikes", f"strikes/{TIME_DAYS}", - TYPE_SENSOR, None, "mdi:weather-lightning", 0, - STATE_CLASS_TOTAL_INCREASING), - TYPE_LIGHTNING_KM: ("Lightning strike distance", LENGTH_KILOMETERS, - TYPE_SENSOR, None, "mdi:ruler", S_METRIC, - STATE_CLASS_MEASUREMENT), - TYPE_LIGHTNING_MI: ("Lightning strike distance", LENGTH_MILES, - TYPE_SENSOR, None, "mdi:ruler", S_IMPERIAL, - STATE_CLASS_MEASUREMENT), - TYPE_LEAK_CH1: ("Leak Detection 1", LEAK_DETECTED, TYPE_BINARY_SENSOR, - DEVICE_CLASS_MOISTURE, "mdi:leak", 0, None), - TYPE_LEAK_CH2: ("Leak Detection 2", LEAK_DETECTED, TYPE_BINARY_SENSOR, - DEVICE_CLASS_MOISTURE, "mdi:leak", 0, None), - TYPE_LEAK_CH3: ("Leak Detection 3", LEAK_DETECTED, TYPE_BINARY_SENSOR, - DEVICE_CLASS_MOISTURE, "mdi:leak", 0, None), - TYPE_LEAK_CH4: ("Leak Detection 4", LEAK_DETECTED, TYPE_BINARY_SENSOR, - DEVICE_CLASS_MOISTURE, "mdi:leak", 0, None), - TYPE_CO2_PM25: ("WH45 PM2.5", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_CO2_PM25_AVG_24H: ("WH45 PM2.5 24h average", + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_LIGHTNING_TIME: ("Ecowitt Last Lightning strike", "", + TYPE_SENSOR, DEVICE_CLASS_TIMESTAMP, "mdi:clock", 0), + TYPE_LIGHTNING_NUM: ("Ecowitt Lightning strikes", f"strikes/{TIME_DAYS}", + TYPE_SENSOR, None, "mdi:weather-lightning", 0), + TYPE_LIGHTNING_KM: ("Ecowitt Lightning strike distance", LENGTH_KILOMETERS, + TYPE_SENSOR, None, "mdi:ruler", S_METRIC), + TYPE_LIGHTNING_MI: ("Ecowitt Lightning strike distance", LENGTH_MILES, + TYPE_SENSOR, None, "mdi:ruler", S_IMPERIAL), + TYPE_LEAK_CH1: ("Ecowitt Leak Detection 1", LEAK_DETECTED, TYPE_BINARY_SENSOR, + DEVICE_CLASS_MOISTURE, "mdi:leak", 0), + TYPE_LEAK_CH2: ("Ecowitt Leak Detection 2", LEAK_DETECTED, TYPE_BINARY_SENSOR, + DEVICE_CLASS_MOISTURE, "mdi:leak", 0), + TYPE_LEAK_CH3: ("Ecowitt Leak Detection 3", LEAK_DETECTED, TYPE_BINARY_SENSOR, + DEVICE_CLASS_MOISTURE, "mdi:leak", 0), + TYPE_LEAK_CH4: ("Ecowitt Leak Detection 4", LEAK_DETECTED, TYPE_BINARY_SENSOR, + DEVICE_CLASS_MOISTURE, "mdi:leak", 0), + TYPE_CO2_PM25: ("Ecowitt WH45 PM2.5", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_CO2_PM25_AVG_24H: ("Ecowitt WH45 PM2.5 24h average", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_CO2_PM10: ("WH45 PM10", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, STATE_CLASS_MEASUREMENT), - TYPE_CO2_PM10_AVG_24H: ("WH45 PM10 24h average", + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_CO2_PM10: ("Ecowitt WH45 PM10", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_CO2_PM10_AVG_24H: ("Ecowitt WH45 PM10 24h average", CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, - TYPE_SENSOR, None, "mdi:eye", 0, - STATE_CLASS_MEASUREMENT), - TYPE_CO2_HUMIDITY: ("WH45 Humidity", PERCENTAGE, + TYPE_SENSOR, None, "mdi:eye", 0), + TYPE_CO2_HUMIDITY: ("Ecowitt WH45 Humidity", PERCENTAGE, TYPE_SENSOR, DEVICE_CLASS_HUMIDITY, - "mdi:water-percent", 0, STATE_CLASS_MEASUREMENT), - TYPE_CO2_TEMPC: ("WH45 Temperature", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_CO2_CO2: ("WH45 CO2", CONCENTRATION_PARTS_PER_MILLION, - TYPE_SENSOR, None, "mdi:molecule-co2", 0, - STATE_CLASS_MEASUREMENT), - TYPE_CO2_CO2_AVG_24H: ("WH45 CO2 24h average", CONCENTRATION_PARTS_PER_MILLION, - TYPE_SENSOR, None, "mdi:molecule-co2", 0, - STATE_CLASS_MEASUREMENT), - TYPE_CO2_BATT: ("WH45 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WH25BATT: ("WH25 Battery", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_WH26BATT: ("WH26 Battery", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_WH40BATT: ("WH40 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, - DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WH57BATT: ("WH57 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WH65BATT: ("WH65 Battery", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_WH68BATT: ("WH68 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WH80BATT: ("WH80 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT1: ("Soil Moisture 1 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT2: ("Soil Moisture 2 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT3: ("Soil Moisture 3 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT4: ("Soil Moisture 4 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT5: ("Soil Moisture 5 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT6: ("Soil Moisture 6 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT7: ("Soil Moisture 7 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_SOILBATT8: ("Soil Moisture 8 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_BATTERY1: ("Battery 1", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY2: ("Battery 2", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY3: ("Battery 3", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY4: ("Battery 4", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY5: ("Battery 5", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY6: ("Battery 6", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY7: ("Battery 7", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_BATTERY8: ("Battery 8", "BATT", TYPE_BINARY_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, None), - TYPE_PM25BATT1: ("PM2.5 1 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT2: ("PM2.5 2 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT3: ("PM2.5 3 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT4: ("PM2.5 4 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT5: ("PM2.5 5 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT6: ("PM2.5 6 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT7: ("PM2.5 7 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_PM25BATT8: ("PM2.5 8 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT1: ("Leak 1 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT2: ("Leak 2 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT3: ("Leak 3 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT4: ("Leak 4 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT5: ("Leak 5 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT6: ("Leak 6 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT7: ("Leak 7 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_LEAKBATT8: ("Leak 8 Battery", PERCENTAGE, TYPE_SENSOR, - DEVICE_CLASS_BATTERY, "mdi:battery", 0, - STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP1C: ("Soil Temperature 1", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP2C: ("Soil Temperature 2", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP3C: ("Soil Temperature 3", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP4C: ("Soil Temperature 4", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP5C: ("Soil Temperature 5", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP6C: ("Soil Temperature 6", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP7C: ("Soil Temperature 7", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34TEMP8C: ("Soil Temperature 8", TEMP_CELSIUS, - TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, - "mdi:thermometer", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT1: ("Soil Temperature 1 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT2: ("Soil Temperature 2 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT3: ("Soil Temperature 3 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT4: ("Soil Temperature 4 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT5: ("Soil Temperature 5 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT6: ("Soil Temperature 6 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT7: ("Soil Temperature 7 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), - TYPE_WN34BATT8: ("Soil Temperature 8 Battery", ELECTRIC_POTENTIAL_VOLT, - TYPE_SENSOR, DEVICE_CLASS_VOLTAGE, - "mdi:battery", 0, STATE_CLASS_MEASUREMENT), + "mdi:water-percent", 0), + TYPE_CO2_TEMPC: ("Ecowitt WH45 Temperature", TEMP_CELSIUS, + TYPE_SENSOR, DEVICE_CLASS_TEMPERATURE, "mdi:thermometer", 0), + TYPE_CO2_CO2: ("Ecowitt WH45 CO2", CONCENTRATION_PARTS_PER_MILLION, + TYPE_SENSOR, None, "mdi:molecule-co2", 0), + TYPE_CO2_CO2_AVG_24H: ("Ecowitt WH45 CO2 24h average", CONCENTRATION_PARTS_PER_MILLION, + TYPE_SENSOR, None, "mdi:molecule-co2", 0), + TYPE_CO2_BATT: ("Ecowitt WH45 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH25BATT: ("Ecowitt WH25 Battery", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH26BATT: ("Ecowitt WH26 Battery", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH40BATT: ("Ecowitt WH40 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_WH57BATT: ("Ecowitt WH57 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH65BATT: ("Ecowitt WH65 Battery", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH68BATT: ("Ecowitt WH68 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_WH80BATT: ("Ecowitt WH80 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_SOILBATT1: ("Ecowitt Soil Moisture 1 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT2: ("Ecowitt Soil Moisture 2 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT3: ("Ecowitt Soil Moisture 3 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT4: ("Ecowitt Soil Moisture 4 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT5: ("Ecowitt Soil Moisture 5 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT6: ("Ecowitt Soil Moisture 6 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT7: ("Ecowitt Soil Moisture 7 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_SOILBATT8: ("Ecowitt Soil Moisture 8 Battery", ELECTRIC_POTENTIAL_VOLT, TYPE_SENSOR, + DEVICE_CLASS_VOLTAGE, "mdi:battery", 0), + TYPE_BATTERY1: ("Ecowitt Battery 1", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY2: ("Ecowitt Battery 2", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY3: ("Ecowitt Battery 3", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY4: ("Ecowitt Battery 4", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY5: ("Ecowitt Battery 5", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY6: ("Ecowitt Battery 6", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY7: ("Ecowitt Battery 7", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_BATTERY8: ("Ecowitt Battery 8", "BATT", TYPE_BINARY_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT1: ("Ecowitt PM2.5 1 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT2: ("Ecowitt PM2.5 2 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT3: ("Ecowitt PM2.5 3 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT4: ("Ecowitt PM2.5 4 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT5: ("Ecowitt PM2.5 5 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT6: ("Ecowitt PM2.5 6 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT7: ("Ecowitt PM2.5 7 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_PM25BATT8: ("Ecowitt PM2.5 8 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT1: ("Ecowitt Leak 1 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT2: ("Ecowitt Leak 2 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT3: ("Ecowitt Leak 3 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT4: ("Ecowitt Leak 4 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT5: ("Ecowitt Leak 5 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT6: ("Ecowitt Leak 6 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT7: ("Ecowitt Leak 7 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), + TYPE_LEAKBATT8: ("Ecowitt Leak 8 Battery", PERCENTAGE, TYPE_SENSOR, + DEVICE_CLASS_BATTERY, "mdi:battery", 0), } IGNORED_SENSORS = [