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

View file

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

View file

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