diff --git a/homeassistant/components/ambient_station/binary_sensor.py b/homeassistant/components/ambient_station/binary_sensor.py index 153fbf066db..f9fcec6aa6a 100644 --- a/homeassistant/components/ambient_station/binary_sensor.py +++ b/homeassistant/components/ambient_station/binary_sensor.py @@ -28,10 +28,21 @@ TYPE_BATT6 = "batt6" TYPE_BATT7 = "batt7" TYPE_BATT8 = "batt8" TYPE_BATT9 = "batt9" -TYPE_BATT_CO2 = "batt_co2" TYPE_BATTOUT = "battout" -TYPE_PM25_BATT = "batt_25" +TYPE_BATT_CO2 = "batt_co2" +TYPE_BATT_LIGHTNING = "batt_lightning" +TYPE_BATT_SM1 = "battsm1" +TYPE_BATT_SM10 = "battsm10" +TYPE_BATT_SM2 = "battsm2" +TYPE_BATT_SM3 = "battsm3" +TYPE_BATT_SM4 = "battsm4" +TYPE_BATT_SM5 = "battsm5" +TYPE_BATT_SM6 = "battsm6" +TYPE_BATT_SM7 = "battsm7" +TYPE_BATT_SM8 = "battsm8" +TYPE_BATT_SM9 = "battsm9" TYPE_PM25IN_BATT = "batt_25in" +TYPE_PM25_BATT = "batt_25" TYPE_RELAY1 = "relay1" TYPE_RELAY10 = "relay10" TYPE_RELAY2 = "relay2" @@ -131,7 +142,77 @@ BINARY_SENSOR_DESCRIPTIONS = ( ), AmbientBinarySensorDescription( key=TYPE_BATT10, - name="Battery 10", + name="Soil Monitor Battery 10", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM1, + name="Soil Monitor Battery 1", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM2, + name="Soil Monitor Battery 2", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM3, + name="Soil Monitor Battery 3", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM4, + name="Soil Monitor Battery 4", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM5, + name="Soil Monitor Battery 5", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM6, + name="Soil Monitor Battery 6", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM7, + name="Soil Monitor Battery 7", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM8, + name="Soil Monitor Battery 8", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM9, + name="Soil Monitor Battery 9", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), + AmbientBinarySensorDescription( + key=TYPE_BATT_SM10, + name="Soil Monitor Battery 10", device_class=BinarySensorDeviceClass.BATTERY, entity_category=EntityCategory.DIAGNOSTIC, on_state=0, @@ -143,6 +224,13 @@ BINARY_SENSOR_DESCRIPTIONS = ( entity_category=EntityCategory.DIAGNOSTIC, on_state=0, ), + AmbientBinarySensorDescription( + key=TYPE_BATT_LIGHTNING, + name="Lightning Detector Battery", + device_class=BinarySensorDeviceClass.BATTERY, + entity_category=EntityCategory.DIAGNOSTIC, + on_state=0, + ), AmbientBinarySensorDescription( key=TYPE_PM25IN_BATT, name="PM25 Indoor Battery", diff --git a/homeassistant/components/ambient_station/sensor.py b/homeassistant/components/ambient_station/sensor.py index 3a17ecfc1f1..c837ef6fdec 100644 --- a/homeassistant/components/ambient_station/sensor.py +++ b/homeassistant/components/ambient_station/sensor.py @@ -32,6 +32,10 @@ from . import AmbientStation, AmbientWeatherEntity from .const import ATTR_LAST_DATA, DOMAIN, TYPE_SOLARRADIATION, TYPE_SOLARRADIATION_LX TYPE_24HOURRAININ = "24hourrainin" +TYPE_AQI_PM25 = "aqi_pm25" +TYPE_AQI_PM25_24H = "aqi_pm25_24h" +TYPE_AQI_PM25_IN = "aqi_pm25_in" +TYPE_AQI_PM25_IN_24H = "aqi_pm25_in_24h" TYPE_BAROMABSIN = "baromabsin" TYPE_BAROMRELIN = "baromrelin" TYPE_CO2 = "co2" @@ -53,6 +57,8 @@ TYPE_HUMIDITY8 = "humidity8" TYPE_HUMIDITY9 = "humidity9" TYPE_HUMIDITYIN = "humidityin" TYPE_LASTRAIN = "lastRain" +TYPE_LIGHTNING_PER_DAY = "lightning_day" +TYPE_LIGHTNING_PER_HOUR = "lightning_hour" TYPE_MAXDAILYGUST = "maxdailygust" TYPE_MONTHLYRAININ = "monthlyrainin" TYPE_PM25 = "pm25" @@ -112,6 +118,30 @@ SENSOR_DESCRIPTIONS = ( native_unit_of_measurement=PRECIPITATION_INCHES, state_class=SensorStateClass.TOTAL_INCREASING, ), + SensorEntityDescription( + key=TYPE_AQI_PM25, + name="AQI PM2.5", + device_class=SensorDeviceClass.AQI, + state_class=SensorStateClass.MEASUREMENT, + ), + SensorEntityDescription( + key=TYPE_AQI_PM25_24H, + name="AQI PM2.5 24h Avg", + device_class=SensorDeviceClass.AQI, + state_class=SensorStateClass.TOTAL_INCREASING, + ), + SensorEntityDescription( + key=TYPE_AQI_PM25_IN, + name="AQI PM2.5 Indoor", + device_class=SensorDeviceClass.AQI, + state_class=SensorStateClass.MEASUREMENT, + ), + SensorEntityDescription( + key=TYPE_AQI_PM25_IN_24H, + name="AQI PM2.5 Indoor 24h Avg", + device_class=SensorDeviceClass.AQI, + state_class=SensorStateClass.TOTAL_INCREASING, + ), SensorEntityDescription( key=TYPE_BAROMABSIN, name="Abs Pressure", @@ -246,6 +276,20 @@ SENSOR_DESCRIPTIONS = ( icon="mdi:water", device_class=SensorDeviceClass.TIMESTAMP, ), + SensorEntityDescription( + key=TYPE_LIGHTNING_PER_DAY, + name="Lightning Strikes Per Day", + icon="mdi:lightning-bolt", + native_unit_of_measurement="strikes", + state_class=SensorStateClass.TOTAL_INCREASING, + ), + SensorEntityDescription( + key=TYPE_LIGHTNING_PER_HOUR, + name="Lightning Strikes Per Hour", + icon="mdi:lightning-bolt", + native_unit_of_measurement="strikes", + state_class=SensorStateClass.TOTAL_INCREASING, + ), SensorEntityDescription( key=TYPE_MAXDAILYGUST, name="Max Gust",