Use device and state class enum for Renault (#60768)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-12-01 17:40:56 +01:00 committed by GitHub
parent b154f43657
commit cd9962dfa0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 79 additions and 93 deletions

View file

@ -7,8 +7,7 @@ from renault_api.kamereon.enums import ChargeState, PlugState
from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_BATTERY_CHARGING,
DEVICE_CLASS_PLUG,
BinarySensorDeviceClass,
BinarySensorEntity,
BinarySensorEntityDescription,
)
@ -75,7 +74,7 @@ BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...] = (
RenaultBinarySensorEntityDescription(
key="plugged_in",
coordinator="battery",
device_class=DEVICE_CLASS_PLUG,
device_class=BinarySensorDeviceClass.PLUG,
name="Plugged In",
on_key="plugStatus",
on_value=PlugState.PLUGGED.value,
@ -83,7 +82,7 @@ BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...] = (
RenaultBinarySensorEntityDescription(
key="charging",
coordinator="battery",
device_class=DEVICE_CLASS_BATTERY_CHARGING,
device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
name="Charging",
on_key="chargingStatus",
on_value=ChargeState.CHARGE_IN_PROGRESS.value,

View file

@ -15,19 +15,13 @@ from renault_api.kamereon.models import (
)
from homeassistant.components.sensor import (
STATE_CLASS_MEASUREMENT,
STATE_CLASS_TOTAL_INCREASING,
SensorDeviceClass,
SensorEntity,
SensorEntityDescription,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
DEVICE_CLASS_BATTERY,
DEVICE_CLASS_CURRENT,
DEVICE_CLASS_ENERGY,
DEVICE_CLASS_POWER,
DEVICE_CLASS_TEMPERATURE,
DEVICE_CLASS_TIMESTAMP,
ELECTRIC_CURRENT_AMPERE,
ENERGY_KILO_WATT_HOUR,
LENGTH_KILOMETERS,
@ -167,11 +161,11 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
key="battery_level",
coordinator="battery",
data_key="batteryLevel",
device_class=DEVICE_CLASS_BATTERY,
device_class=SensorDeviceClass.BATTERY,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Battery Level",
native_unit_of_measurement=PERCENTAGE,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="charge_state",
@ -191,29 +185,29 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
icon="mdi:timer",
name="Charging Remaining Time",
native_unit_of_measurement=TIME_MINUTES,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="charging_power",
condition_lambda=lambda a: not a.details.reports_charging_power_in_watts(),
coordinator="battery",
data_key="chargingInstantaneousPower",
device_class=DEVICE_CLASS_CURRENT,
device_class=SensorDeviceClass.CURRENT,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Charging Power",
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="charging_power",
condition_lambda=lambda a: a.details.reports_charging_power_in_watts(),
coordinator="battery",
data_key="chargingInstantaneousPower",
device_class=DEVICE_CLASS_POWER,
device_class=SensorDeviceClass.POWER,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Charging Power",
native_unit_of_measurement=POWER_KILO_WATT,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
value_lambda=_get_charging_power,
),
RenaultSensorEntityDescription(
@ -234,32 +228,32 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
icon="mdi:ev-station",
name="Battery Autonomy",
native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="battery_available_energy",
coordinator="battery",
data_key="batteryAvailableEnergy",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
device_class=DEVICE_CLASS_ENERGY,
device_class=SensorDeviceClass.ENERGY,
name="Battery Available Energy",
native_unit_of_measurement=ENERGY_KILO_WATT_HOUR,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="battery_temperature",
coordinator="battery",
data_key="batteryTemperature",
device_class=DEVICE_CLASS_TEMPERATURE,
device_class=SensorDeviceClass.TEMPERATURE,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Battery Temperature",
native_unit_of_measurement=TEMP_CELSIUS,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="battery_last_activity",
coordinator="battery",
device_class=DEVICE_CLASS_TIMESTAMP,
device_class=SensorDeviceClass.TIMESTAMP,
data_key="timestamp",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
entity_registry_enabled_default=False,
@ -274,7 +268,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
icon="mdi:sign-direction",
name="Mileage",
native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=STATE_CLASS_TOTAL_INCREASING,
state_class=SensorStateClass.TOTAL_INCREASING,
value_lambda=_get_rounded_value,
),
RenaultSensorEntityDescription(
@ -285,7 +279,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
icon="mdi:gas-station",
name="Fuel Autonomy",
native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
requires_fuel=True,
value_lambda=_get_rounded_value,
),
@ -297,24 +291,24 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription, ...] = (
icon="mdi:fuel",
name="Fuel Quantity",
native_unit_of_measurement=VOLUME_LITERS,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
requires_fuel=True,
value_lambda=_get_rounded_value,
),
RenaultSensorEntityDescription(
key="outside_temperature",
coordinator="hvac_status",
device_class=DEVICE_CLASS_TEMPERATURE,
device_class=SensorDeviceClass.TEMPERATURE,
data_key="externalTemperature",
entity_class=RenaultSensor[KamereonVehicleHvacStatusData],
name="Outside Temperature",
native_unit_of_measurement=TEMP_CELSIUS,
state_class=STATE_CLASS_MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT,
),
RenaultSensorEntityDescription(
key="location_last_activity",
coordinator="location",
device_class=DEVICE_CLASS_TIMESTAMP,
device_class=SensorDeviceClass.TIMESTAMP,
data_key="lastUpdateTime",
entity_class=RenaultSensor[KamereonVehicleLocationData],
entity_registry_enabled_default=False,

View file

@ -1,8 +1,7 @@
"""Constants for the Renault integration tests."""
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_BATTERY_CHARGING,
DEVICE_CLASS_PLUG,
DOMAIN as BINARY_SENSOR_DOMAIN,
BinarySensorDeviceClass,
)
from homeassistant.components.button import DOMAIN as BUTTON_DOMAIN
from homeassistant.components.device_tracker import DOMAIN as DEVICE_TRACKER_DOMAIN
@ -19,8 +18,8 @@ from homeassistant.components.select.const import ATTR_OPTIONS
from homeassistant.components.sensor import (
ATTR_STATE_CLASS,
DOMAIN as SENSOR_DOMAIN,
STATE_CLASS_MEASUREMENT,
STATE_CLASS_TOTAL_INCREASING,
SensorDeviceClass,
SensorStateClass,
)
from homeassistant.const import (
ATTR_DEVICE_CLASS,
@ -35,12 +34,6 @@ from homeassistant.const import (
ATTR_UNIT_OF_MEASUREMENT,
CONF_PASSWORD,
CONF_USERNAME,
DEVICE_CLASS_BATTERY,
DEVICE_CLASS_CURRENT,
DEVICE_CLASS_ENERGY,
DEVICE_CLASS_POWER,
DEVICE_CLASS_TEMPERATURE,
DEVICE_CLASS_TIMESTAMP,
ELECTRIC_CURRENT_AMPERE,
ENERGY_KILO_WATT_HOUR,
LENGTH_KILOMETERS,
@ -106,13 +99,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.PLUG,
ATTR_ENTITY_ID: "binary_sensor.reg_number_plugged_in",
ATTR_STATE: STATE_ON,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_plugged_in",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING,
ATTR_ENTITY_ID: "binary_sensor.reg_number_charging",
ATTR_STATE: STATE_ON,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging",
@ -148,38 +141,38 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_battery_autonomy",
ATTR_ICON: "mdi:ev-station",
ATTR_STATE: "141",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_autonomy",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
ATTR_DEVICE_CLASS: SensorDeviceClass.ENERGY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_available_energy",
ATTR_STATE: "31",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_available_energy",
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_level",
ATTR_STATE: "60",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_level",
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_battery_last_activity",
ATTR_STATE: "2020-01-12T21:40:16+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_last_activity",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE,
ATTR_ENTITY_ID: "sensor.reg_number_battery_temperature",
ATTR_STATE: "20",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_temperature",
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
@ -191,10 +184,10 @@ MOCK_VEHICLES = {
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_POWER,
ATTR_DEVICE_CLASS: SensorDeviceClass.POWER,
ATTR_ENTITY_ID: "sensor.reg_number_charging_power",
ATTR_STATE: "0.027",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_power",
ATTR_UNIT_OF_MEASUREMENT: POWER_KILO_WATT,
},
@ -202,7 +195,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time",
ATTR_ICON: "mdi:timer",
ATTR_STATE: "145",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_remaining_time",
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
@ -210,15 +203,15 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_mileage",
ATTR_ICON: "mdi:sign-direction",
ATTR_STATE: "49114",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING,
ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_mileage",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE,
ATTR_ENTITY_ID: "sensor.reg_number_outside_temperature",
ATTR_STATE: "8.0",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_outside_temperature",
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
@ -254,13 +247,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.PLUG,
ATTR_ENTITY_ID: "binary_sensor.reg_number_plugged_in",
ATTR_STATE: STATE_OFF,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_plugged_in",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING,
ATTR_ENTITY_ID: "binary_sensor.reg_number_charging",
ATTR_STATE: STATE_OFF,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging",
@ -303,38 +296,38 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_battery_autonomy",
ATTR_ICON: "mdi:ev-station",
ATTR_STATE: "128",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_autonomy",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
ATTR_DEVICE_CLASS: SensorDeviceClass.ENERGY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_available_energy",
ATTR_STATE: "0",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_available_energy",
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_level",
ATTR_STATE: "50",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_level",
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_battery_last_activity",
ATTR_STATE: "2020-11-17T08:06:48+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_last_activity",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE,
ATTR_ENTITY_ID: "sensor.reg_number_battery_temperature",
ATTR_STATE: STATE_UNKNOWN,
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_battery_temperature",
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
@ -346,10 +339,10 @@ MOCK_VEHICLES = {
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
ATTR_DEVICE_CLASS: SensorDeviceClass.CURRENT,
ATTR_ENTITY_ID: "sensor.reg_number_charging_power",
ATTR_STATE: STATE_UNKNOWN,
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_power",
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
},
@ -357,7 +350,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time",
ATTR_ICON: "mdi:timer",
ATTR_STATE: STATE_UNKNOWN,
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_remaining_time",
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
@ -365,7 +358,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_mileage",
ATTR_ICON: "mdi:sign-direction",
ATTR_STATE: "49114",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING,
ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIQUE_ID: "vf1aaaaa555777999_mileage",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
@ -378,7 +371,7 @@ MOCK_VEHICLES = {
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_location_last_activity",
ATTR_STATE: "2020-02-18T16:58:38+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777999_location_last_activity",
@ -408,13 +401,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.PLUG,
ATTR_ENTITY_ID: "binary_sensor.reg_number_plugged_in",
ATTR_STATE: STATE_ON,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_plugged_in",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING,
ATTR_ENTITY_ID: "binary_sensor.reg_number_charging",
ATTR_STATE: STATE_ON,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_charging",
@ -457,38 +450,38 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_battery_autonomy",
ATTR_ICON: "mdi:ev-station",
ATTR_STATE: "141",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_battery_autonomy",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
ATTR_DEVICE_CLASS: SensorDeviceClass.ENERGY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_available_energy",
ATTR_STATE: "31",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_battery_available_energy",
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY,
ATTR_ENTITY_ID: "sensor.reg_number_battery_level",
ATTR_STATE: "60",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_battery_level",
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_battery_last_activity",
ATTR_STATE: "2020-01-12T21:40:16+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777123_battery_last_activity",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_DEVICE_CLASS: SensorDeviceClass.TEMPERATURE,
ATTR_ENTITY_ID: "sensor.reg_number_battery_temperature",
ATTR_STATE: "20",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_battery_temperature",
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
@ -500,10 +493,10 @@ MOCK_VEHICLES = {
ATTR_UNIQUE_ID: "vf1aaaaa555777123_charge_state",
},
{
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
ATTR_DEVICE_CLASS: SensorDeviceClass.CURRENT,
ATTR_ENTITY_ID: "sensor.reg_number_charging_power",
ATTR_STATE: "27.0",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_charging_power",
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
},
@ -511,7 +504,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time",
ATTR_ICON: "mdi:timer",
ATTR_STATE: "145",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_charging_remaining_time",
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
@ -519,7 +512,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_fuel_autonomy",
ATTR_ICON: "mdi:gas-station",
ATTR_STATE: "35",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_fuel_autonomy",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
@ -527,7 +520,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_fuel_quantity",
ATTR_ICON: "mdi:fuel",
ATTR_STATE: "3",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_fuel_quantity",
ATTR_UNIT_OF_MEASUREMENT: VOLUME_LITERS,
},
@ -535,7 +528,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_mileage",
ATTR_ICON: "mdi:sign-direction",
ATTR_STATE: "5567",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING,
ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_mileage",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
@ -548,7 +541,7 @@ MOCK_VEHICLES = {
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_location_last_activity",
ATTR_STATE: "2020-02-18T16:58:38+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777123_location_last_activity",
@ -597,7 +590,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_fuel_autonomy",
ATTR_ICON: "mdi:gas-station",
ATTR_STATE: "35",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_fuel_autonomy",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
@ -605,7 +598,7 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_fuel_quantity",
ATTR_ICON: "mdi:fuel",
ATTR_STATE: "3",
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_fuel_quantity",
ATTR_UNIT_OF_MEASUREMENT: VOLUME_LITERS,
},
@ -613,13 +606,13 @@ MOCK_VEHICLES = {
ATTR_ENTITY_ID: "sensor.reg_number_mileage",
ATTR_ICON: "mdi:sign-direction",
ATTR_STATE: "5567",
ATTR_STATE_CLASS: STATE_CLASS_TOTAL_INCREASING,
ATTR_STATE_CLASS: SensorStateClass.TOTAL_INCREASING,
ATTR_UNIQUE_ID: "vf1aaaaa555777123_mileage",
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
ATTR_DEFAULT_DISABLED: True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
ATTR_DEVICE_CLASS: SensorDeviceClass.TIMESTAMP,
ATTR_ENTITY_ID: "sensor.reg_number_location_last_activity",
ATTR_STATE: "2020-02-18T16:58:38+00:00",
ATTR_UNIQUE_ID: "vf1aaaaa555777123_location_last_activity",