Add renault last activity sensors (#57750)
* Add battery and location last_activity sensors * Drop state attributes * Drop ATTR_LAST_UPDATE * Adjust tests * Mark new sensors as disabled_default * Add default_disabled attribute * Add context managers * Adjust tests for disabled entities
This commit is contained in:
parent
1eebe45154
commit
6881ab58d1
8 changed files with 180 additions and 97 deletions
|
@ -13,7 +13,6 @@ from homeassistant.components.renault.const import (
|
|||
DEVICE_CLASS_PLUG_STATE,
|
||||
DOMAIN,
|
||||
)
|
||||
from homeassistant.components.renault.renault_entities import ATTR_LAST_UPDATE
|
||||
from homeassistant.components.select import DOMAIN as SELECT_DOMAIN
|
||||
from homeassistant.components.select.const import ATTR_OPTIONS
|
||||
from homeassistant.components.sensor import (
|
||||
|
@ -33,6 +32,7 @@ from homeassistant.const import (
|
|||
DEVICE_CLASS_ENERGY,
|
||||
DEVICE_CLASS_POWER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
DEVICE_CLASS_TIMESTAMP,
|
||||
ELECTRIC_CURRENT_AMPERE,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
LENGTH_KILOMETERS,
|
||||
|
@ -53,10 +53,7 @@ FIXED_ATTRIBUTES = (
|
|||
ATTR_STATE_CLASS,
|
||||
ATTR_UNIT_OF_MEASUREMENT,
|
||||
)
|
||||
DYNAMIC_ATTRIBUTES = (
|
||||
ATTR_ICON,
|
||||
ATTR_LAST_UPDATE,
|
||||
)
|
||||
DYNAMIC_ATTRIBUTES = (ATTR_ICON,)
|
||||
|
||||
ICON_FOR_EMPTY_VALUES = {
|
||||
"select.charge_mode": "mdi:calendar-remove",
|
||||
|
@ -100,14 +97,12 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_plugged_in",
|
||||
"result": STATE_ON,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "binary_sensor.charging",
|
||||
"unique_id": "vf1aaaaa555777999_charging",
|
||||
"result": STATE_ON,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
],
|
||||
DEVICE_TRACKER_DOMAIN: [],
|
||||
|
@ -127,7 +122,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_autonomy",
|
||||
"result": "141",
|
||||
ATTR_ICON: "mdi:ev-station",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
|
||||
},
|
||||
|
@ -136,7 +130,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_available_energy",
|
||||
"result": "31",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
|
||||
},
|
||||
|
@ -145,16 +138,21 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_level",
|
||||
"result": "60",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_last_activity",
|
||||
"unique_id": "vf1aaaaa555777999_battery_last_activity",
|
||||
"result": "2020-01-12T21:40:16+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_temperature",
|
||||
"unique_id": "vf1aaaaa555777999_battery_temperature",
|
||||
"result": "20",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
|
||||
},
|
||||
|
@ -164,14 +162,12 @@ MOCK_VEHICLES = {
|
|||
"result": "charge_in_progress",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
|
||||
ATTR_ICON: "mdi:flash",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.charging_power",
|
||||
"unique_id": "vf1aaaaa555777999_charging_power",
|
||||
"result": "0.027",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_POWER,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: POWER_KILO_WATT,
|
||||
},
|
||||
|
@ -180,7 +176,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_charging_remaining_time",
|
||||
"result": "145",
|
||||
ATTR_ICON: "mdi:timer",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
|
||||
},
|
||||
|
@ -206,7 +201,6 @@ MOCK_VEHICLES = {
|
|||
"result": "plugged",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
|
||||
ATTR_ICON: "mdi:power-plug",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -237,14 +231,12 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_plugged_in",
|
||||
"result": STATE_OFF,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "binary_sensor.charging",
|
||||
"unique_id": "vf1aaaaa555777999_charging",
|
||||
"result": STATE_OFF,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
},
|
||||
],
|
||||
DEVICE_TRACKER_DOMAIN: [
|
||||
|
@ -253,7 +245,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_location",
|
||||
"result": STATE_NOT_HOME,
|
||||
ATTR_ICON: "mdi:car",
|
||||
ATTR_LAST_UPDATE: "2020-02-18T16:58:38+00:00",
|
||||
}
|
||||
],
|
||||
SELECT_DOMAIN: [
|
||||
|
@ -272,7 +263,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_autonomy",
|
||||
"result": "128",
|
||||
ATTR_ICON: "mdi:ev-station",
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
|
||||
},
|
||||
|
@ -281,7 +271,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_available_energy",
|
||||
"result": "0",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
|
||||
},
|
||||
|
@ -290,16 +279,21 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_battery_level",
|
||||
"result": "50",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_last_activity",
|
||||
"unique_id": "vf1aaaaa555777999_battery_last_activity",
|
||||
"result": "2020-11-17T08:06:48+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_temperature",
|
||||
"unique_id": "vf1aaaaa555777999_battery_temperature",
|
||||
"result": STATE_UNKNOWN,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
|
||||
},
|
||||
|
@ -309,14 +303,12 @@ MOCK_VEHICLES = {
|
|||
"result": "charge_error",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
|
||||
ATTR_ICON: "mdi:flash-off",
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.charging_power",
|
||||
"unique_id": "vf1aaaaa555777999_charging_power",
|
||||
"result": STATE_UNKNOWN,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||
},
|
||||
|
@ -325,7 +317,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777999_charging_remaining_time",
|
||||
"result": STATE_UNKNOWN,
|
||||
ATTR_ICON: "mdi:timer",
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
|
||||
},
|
||||
|
@ -343,7 +334,13 @@ MOCK_VEHICLES = {
|
|||
"result": "unplugged",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
|
||||
ATTR_ICON: "mdi:power-plug-off",
|
||||
ATTR_LAST_UPDATE: "2020-11-17T08:06:48+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.location_last_activity",
|
||||
"unique_id": "vf1aaaaa555777999_location_last_activity",
|
||||
"result": "2020-02-18T16:58:38+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -374,14 +371,12 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_plugged_in",
|
||||
"result": STATE_ON,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "binary_sensor.charging",
|
||||
"unique_id": "vf1aaaaa555777123_charging",
|
||||
"result": STATE_ON,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
],
|
||||
DEVICE_TRACKER_DOMAIN: [
|
||||
|
@ -390,7 +385,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_location",
|
||||
"result": STATE_NOT_HOME,
|
||||
ATTR_ICON: "mdi:car",
|
||||
ATTR_LAST_UPDATE: "2020-02-18T16:58:38+00:00",
|
||||
}
|
||||
],
|
||||
SELECT_DOMAIN: [
|
||||
|
@ -409,7 +403,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_battery_autonomy",
|
||||
"result": "141",
|
||||
ATTR_ICON: "mdi:ev-station",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
|
||||
},
|
||||
|
@ -418,7 +411,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_battery_available_energy",
|
||||
"result": "31",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
|
||||
},
|
||||
|
@ -427,16 +419,21 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_battery_level",
|
||||
"result": "60",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_last_activity",
|
||||
"unique_id": "vf1aaaaa555777123_battery_last_activity",
|
||||
"result": "2020-01-12T21:40:16+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.battery_temperature",
|
||||
"unique_id": "vf1aaaaa555777123_battery_temperature",
|
||||
"result": "20",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
|
||||
},
|
||||
|
@ -446,14 +443,12 @@ MOCK_VEHICLES = {
|
|||
"result": "charge_in_progress",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
|
||||
ATTR_ICON: "mdi:flash",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.charging_power",
|
||||
"unique_id": "vf1aaaaa555777123_charging_power",
|
||||
"result": "27.0",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||
},
|
||||
|
@ -462,7 +457,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_charging_remaining_time",
|
||||
"result": "145",
|
||||
ATTR_ICON: "mdi:timer",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
|
||||
},
|
||||
|
@ -496,7 +490,13 @@ MOCK_VEHICLES = {
|
|||
"result": "plugged",
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
|
||||
ATTR_ICON: "mdi:power-plug",
|
||||
ATTR_LAST_UPDATE: "2020-01-12T21:40:16+00:00",
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.location_last_activity",
|
||||
"unique_id": "vf1aaaaa555777123_location_last_activity",
|
||||
"result": "2020-02-18T16:58:38+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -526,7 +526,6 @@ MOCK_VEHICLES = {
|
|||
"unique_id": "vf1aaaaa555777123_location",
|
||||
"result": STATE_NOT_HOME,
|
||||
ATTR_ICON: "mdi:car",
|
||||
ATTR_LAST_UPDATE: "2020-02-18T16:58:38+00:00",
|
||||
}
|
||||
],
|
||||
SELECT_DOMAIN: [],
|
||||
|
@ -555,6 +554,13 @@ MOCK_VEHICLES = {
|
|||
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING,
|
||||
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
|
||||
},
|
||||
{
|
||||
"entity_id": "sensor.location_last_activity",
|
||||
"unique_id": "vf1aaaaa555777123_location_last_activity",
|
||||
"result": "2020-02-18T16:58:38+00:00",
|
||||
"default_disabled": True,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue