From 4916c4470ced0807af3f095133efa96aec086d75 Mon Sep 17 00:00:00 2001 From: GSzabados <35445496+GSzabados@users.noreply.github.com> Date: Sun, 8 Dec 2024 22:37:46 +0100 Subject: [PATCH] Add additional sensors (#381) * Add Last Audio Self Test and Last Manual Self Test Adding two more datetime sensors for test times. * Add Removed from Base sensor I have chosen tray-remove as icon, as it looks similar to the protect being removed. --- custom_components/nest_protect/binary_sensor.py | 8 ++++++++ custom_components/nest_protect/sensor.py | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/custom_components/nest_protect/binary_sensor.py b/custom_components/nest_protect/binary_sensor.py index 3bd2f1c..f3f0dbb 100644 --- a/custom_components/nest_protect/binary_sensor.py +++ b/custom_components/nest_protect/binary_sensor.py @@ -140,6 +140,14 @@ class NestProtectBinarySensorDescription( icon="mdi:water-percent", value_fn=lambda state: not state, ), + NestProtectBinarySensorDescription( + key="removed_from_base", + name="Removed from Base", + device_class=BinarySensorDeviceClass.PROBLEM, + entity_category=EntityCategory.DIAGNOSTIC, + icon="mdi:tray-remove", + value_fn=lambda state: state, + ), NestProtectBinarySensorDescription( key="auto_away", name="Occupancy", diff --git a/custom_components/nest_protect/sensor.py b/custom_components/nest_protect/sensor.py index 2b19e09..f4dfe7b 100644 --- a/custom_components/nest_protect/sensor.py +++ b/custom_components/nest_protect/sensor.py @@ -98,6 +98,20 @@ class NestProtectSensorDescription(SensorEntityDescription): device_class=SensorDeviceClass.DATE, entity_category=EntityCategory.DIAGNOSTIC, ), + NestProtectSensorDescription( + name="Last Audio Self Test", + key="last_audio_self_test_end_utc_secs", + value_fn=lambda state: datetime.datetime.utcfromtimestamp(state), + device_class=SensorDeviceClass.DATE, + entity_category=EntityCategory.DIAGNOSTIC, + ), + NestProtectSensorDescription( + name="Last Manual Test", + key="latest_manual_test_end_utc_secs", + value_fn=lambda state: datetime.datetime.utcfromtimestamp(state), + device_class=SensorDeviceClass.DATE, + entity_category=EntityCategory.DIAGNOSTIC, + ), NestProtectSensorDescription( name="Temperature", key="current_temperature",