Add icon translations to BMW (#111348)
* Add icon translations to BMW * Add icon translations to BMWpull/111892/head
parent
40431a9f7e
commit
a8887d59ed
|
@ -130,7 +130,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="lids",
|
||||
translation_key="lids",
|
||||
device_class=BinarySensorDeviceClass.OPENING,
|
||||
icon="mdi:car-door-lock",
|
||||
# device class opening: On means open, Off means closed
|
||||
value_fn=lambda v: not v.doors_and_windows.all_lids_closed,
|
||||
attr_fn=lambda v, u: {
|
||||
|
@ -141,7 +140,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="windows",
|
||||
translation_key="windows",
|
||||
device_class=BinarySensorDeviceClass.OPENING,
|
||||
icon="mdi:car-door",
|
||||
# device class opening: On means open, Off means closed
|
||||
value_fn=lambda v: not v.doors_and_windows.all_windows_closed,
|
||||
attr_fn=lambda v, u: {
|
||||
|
@ -152,7 +150,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="door_lock_state",
|
||||
translation_key="door_lock_state",
|
||||
device_class=BinarySensorDeviceClass.LOCK,
|
||||
icon="mdi:car-key",
|
||||
# device class lock: On means unlocked, Off means locked
|
||||
# Possible values: LOCKED, SECURED, SELECTIVE_LOCKED, UNLOCKED
|
||||
value_fn=lambda v: v.doors_and_windows.door_lock_state
|
||||
|
@ -165,7 +162,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="condition_based_services",
|
||||
translation_key="condition_based_services",
|
||||
device_class=BinarySensorDeviceClass.PROBLEM,
|
||||
icon="mdi:wrench",
|
||||
# device class problem: On means problem detected, Off means no problem
|
||||
value_fn=lambda v: v.condition_based_services.is_service_required,
|
||||
attr_fn=_condition_based_services,
|
||||
|
@ -174,7 +170,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="check_control_messages",
|
||||
translation_key="check_control_messages",
|
||||
device_class=BinarySensorDeviceClass.PROBLEM,
|
||||
icon="mdi:car-tire-alert",
|
||||
# device class problem: On means problem detected, Off means no problem
|
||||
value_fn=lambda v: v.check_control_messages.has_check_control_messages,
|
||||
attr_fn=lambda v, u: _check_control_messages(v),
|
||||
|
@ -184,7 +179,6 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="charging_status",
|
||||
translation_key="charging_status",
|
||||
device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||
icon="mdi:ev-station",
|
||||
# device class power: On means power detected, Off means no power
|
||||
value_fn=lambda v: v.fuel_and_battery.charging_status == ChargingState.CHARGING,
|
||||
),
|
||||
|
@ -192,13 +186,11 @@ SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...] = (
|
|||
key="connection_status",
|
||||
translation_key="connection_status",
|
||||
device_class=BinarySensorDeviceClass.PLUG,
|
||||
icon="mdi:car-electric",
|
||||
value_fn=lambda v: v.fuel_and_battery.is_charger_connected,
|
||||
),
|
||||
BMWBinarySensorEntityDescription(
|
||||
key="is_pre_entry_climatization_enabled",
|
||||
translation_key="is_pre_entry_climatization_enabled",
|
||||
icon="mdi:car-seat-heater",
|
||||
value_fn=lambda v: v.charging_profile.is_pre_entry_climatization_enabled
|
||||
if v.charging_profile
|
||||
else False,
|
||||
|
|
|
@ -44,24 +44,21 @@ BUTTON_TYPES: tuple[BMWButtonEntityDescription, ...] = (
|
|||
BMWButtonEntityDescription(
|
||||
key="light_flash",
|
||||
translation_key="light_flash",
|
||||
icon="mdi:car-light-alert",
|
||||
remote_function=lambda vehicle: vehicle.remote_services.trigger_remote_light_flash(),
|
||||
),
|
||||
BMWButtonEntityDescription(
|
||||
key="sound_horn",
|
||||
translation_key="sound_horn",
|
||||
icon="mdi:bullhorn",
|
||||
remote_function=lambda vehicle: vehicle.remote_services.trigger_remote_horn(),
|
||||
),
|
||||
BMWButtonEntityDescription(
|
||||
key="activate_air_conditioning",
|
||||
translation_key="activate_air_conditioning",
|
||||
icon="mdi:hvac",
|
||||
remote_function=lambda vehicle: vehicle.remote_services.trigger_remote_air_conditioning(),
|
||||
),
|
||||
BMWButtonEntityDescription(
|
||||
key="deactivate_air_conditioning",
|
||||
icon="mdi:hvac-off",
|
||||
translation_key="deactivate_air_conditioning",
|
||||
name="Deactivate air conditioning",
|
||||
remote_function=lambda vehicle: vehicle.remote_services.trigger_remote_air_conditioning_stop(),
|
||||
is_available=lambda vehicle: vehicle.is_remote_climate_stop_enabled,
|
||||
|
@ -69,7 +66,6 @@ BUTTON_TYPES: tuple[BMWButtonEntityDescription, ...] = (
|
|||
BMWButtonEntityDescription(
|
||||
key="find_vehicle",
|
||||
translation_key="find_vehicle",
|
||||
icon="mdi:crosshairs-question",
|
||||
remote_function=lambda vehicle: vehicle.remote_services.trigger_remote_vehicle_finder(),
|
||||
),
|
||||
)
|
||||
|
|
|
@ -45,6 +45,7 @@ class BMWDeviceTracker(BMWBaseEntity, TrackerEntity):
|
|||
"""MyBMW device tracker."""
|
||||
|
||||
_attr_force_update = False
|
||||
_attr_translation_key = "car"
|
||||
_attr_icon = "mdi:car"
|
||||
|
||||
def __init__(
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
{
|
||||
"entity": {
|
||||
"binary_sensor": {
|
||||
"lids": {
|
||||
"default": "mdi:car-door-lock"
|
||||
},
|
||||
"windows": {
|
||||
"default": "mdi:car-door"
|
||||
},
|
||||
"door_lock_state": {
|
||||
"default": "mdi:car-key"
|
||||
},
|
||||
"condition_based_services": {
|
||||
"default": "mdi:wrench"
|
||||
},
|
||||
"check_control_messages": {
|
||||
"default": "mdi:car-tire-alert"
|
||||
},
|
||||
"charging_status": {
|
||||
"default": "mdi:ev-station"
|
||||
},
|
||||
"connection_status": {
|
||||
"default": "mdi:car-electric"
|
||||
},
|
||||
"is_pre_entry_climatization_enabled": {
|
||||
"default": "mdi:car-seat-heater"
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"light_flash": {
|
||||
"default": "mdi:car-light-alert"
|
||||
},
|
||||
"sound_horn": {
|
||||
"default": "mdi:bullhorn"
|
||||
},
|
||||
"activate_air_conditioning": {
|
||||
"default": "mdi:hvac"
|
||||
},
|
||||
"deactivate_air_conditioning": {
|
||||
"default": "mdi:hvac-off"
|
||||
},
|
||||
"find_vehicle": {
|
||||
"default": "mdi:crosshairs-question"
|
||||
}
|
||||
},
|
||||
"device_tracker": {
|
||||
"car": {
|
||||
"default": "mdi:car"
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
"target_soc": {
|
||||
"default": "mdi:battery-charging-medium"
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
"ac_limit": {
|
||||
"default": "mdi:current-ac"
|
||||
},
|
||||
"charging_mode": {
|
||||
"default": "mdi:vector-point-select"
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"charging_status": {
|
||||
"default": "mdi:ev-station"
|
||||
},
|
||||
"charging_target": {
|
||||
"default": "mdi:battery-charging-high"
|
||||
},
|
||||
"mileage": {
|
||||
"default": "mdi:speedometer"
|
||||
},
|
||||
"remaining_range_total": {
|
||||
"default": "mdi:map-marker-distance"
|
||||
},
|
||||
"remaining_range_electric": {
|
||||
"default": "mdi:map-marker-distance"
|
||||
},
|
||||
"remaining_range_fuel": {
|
||||
"default": "mdi:map-marker-distance"
|
||||
},
|
||||
"remaining_fuel": {
|
||||
"default": "mdi:gas-station"
|
||||
},
|
||||
"remaining_fuel_percent": {
|
||||
"default": "mdi:gas-station"
|
||||
}
|
||||
},
|
||||
"switch": {
|
||||
"climate": {
|
||||
"default": "mdi:fan"
|
||||
},
|
||||
"charging": {
|
||||
"default": "mdi:ev-station"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -56,7 +56,6 @@ NUMBER_TYPES: list[BMWNumberEntityDescription] = [
|
|||
remote_service=lambda v, o: v.remote_services.trigger_charging_settings_update(
|
||||
target_soc=int(o)
|
||||
),
|
||||
icon="mdi:battery-charging-medium",
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
@ -51,7 +51,6 @@ SELECT_TYPES: dict[str, BMWSelectEntityDescription] = {
|
|||
remote_service=lambda v, o: v.remote_services.trigger_charging_settings_update(
|
||||
ac_limit=int(o)
|
||||
),
|
||||
icon="mdi:current-ac",
|
||||
unit_of_measurement=UnitOfElectricCurrent.AMPERE,
|
||||
),
|
||||
"charging_mode": BMWSelectEntityDescription(
|
||||
|
@ -63,7 +62,6 @@ SELECT_TYPES: dict[str, BMWSelectEntityDescription] = {
|
|||
remote_service=lambda v, o: v.remote_services.trigger_charging_profile_update(
|
||||
charging_mode=ChargingMode(o)
|
||||
),
|
||||
icon="mdi:vector-point-select",
|
||||
),
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
translation_key="ac_current_limit",
|
||||
key_class="charging_profile",
|
||||
unit_type=UnitOfElectricCurrent.AMPERE,
|
||||
icon="mdi:current-ac",
|
||||
entity_registry_enabled_default=False,
|
||||
),
|
||||
"charging_start_time": BMWSensorEntityDescription(
|
||||
|
@ -79,14 +78,12 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="charging_status",
|
||||
translation_key="charging_status",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:ev-station",
|
||||
value=lambda x, y: x.value,
|
||||
),
|
||||
"charging_target": BMWSensorEntityDescription(
|
||||
key="charging_target",
|
||||
translation_key="charging_target",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:battery-charging-high",
|
||||
unit_type=PERCENTAGE,
|
||||
),
|
||||
"remaining_battery_percent": BMWSensorEntityDescription(
|
||||
|
@ -101,7 +98,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
"mileage": BMWSensorEntityDescription(
|
||||
key="mileage",
|
||||
translation_key="mileage",
|
||||
icon="mdi:speedometer",
|
||||
unit_type=LENGTH,
|
||||
value=lambda x, hass: convert_and_round(x, hass.config.units.length, 2),
|
||||
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||
|
@ -110,7 +106,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="remaining_range_total",
|
||||
translation_key="remaining_range_total",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:map-marker-distance",
|
||||
unit_type=LENGTH,
|
||||
value=lambda x, hass: convert_and_round(x, hass.config.units.length, 2),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
|
@ -119,7 +114,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="remaining_range_electric",
|
||||
translation_key="remaining_range_electric",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:map-marker-distance",
|
||||
unit_type=LENGTH,
|
||||
value=lambda x, hass: convert_and_round(x, hass.config.units.length, 2),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
|
@ -128,7 +122,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="remaining_range_fuel",
|
||||
translation_key="remaining_range_fuel",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:map-marker-distance",
|
||||
unit_type=LENGTH,
|
||||
value=lambda x, hass: convert_and_round(x, hass.config.units.length, 2),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
|
@ -137,7 +130,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="remaining_fuel",
|
||||
translation_key="remaining_fuel",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:gas-station",
|
||||
unit_type=VOLUME,
|
||||
value=lambda x, hass: convert_and_round(x, hass.config.units.volume, 2),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
|
@ -146,7 +138,6 @@ SENSOR_TYPES: dict[str, BMWSensorEntityDescription] = {
|
|||
key="remaining_fuel_percent",
|
||||
translation_key="remaining_fuel_percent",
|
||||
key_class="fuel_and_battery",
|
||||
icon="mdi:gas-station",
|
||||
unit_type=PERCENTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
|
|
|
@ -56,7 +56,6 @@ NUMBER_TYPES: list[BMWSwitchEntityDescription] = [
|
|||
value_fn=lambda v: v.climate.is_climate_on,
|
||||
remote_service_on=lambda v: v.remote_services.trigger_remote_air_conditioning(),
|
||||
remote_service_off=lambda v: v.remote_services.trigger_remote_air_conditioning_stop(),
|
||||
icon="mdi:fan",
|
||||
),
|
||||
BMWSwitchEntityDescription(
|
||||
key="charging",
|
||||
|
@ -65,7 +64,6 @@ NUMBER_TYPES: list[BMWSwitchEntityDescription] = [
|
|||
value_fn=lambda v: v.fuel_and_battery.charging_status in CHARGING_STATE_ON,
|
||||
remote_service_on=lambda v: v.remote_services.trigger_charge_start(),
|
||||
remote_service_off=lambda v: v.remote_services.trigger_charge_stop(),
|
||||
icon="mdi:ev-station",
|
||||
),
|
||||
]
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Flash lights',
|
||||
'icon': 'mdi:car-light-alert',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.ix_xdrive50_flash_lights',
|
||||
|
@ -17,7 +16,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Sound horn',
|
||||
'icon': 'mdi:bullhorn',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.ix_xdrive50_sound_horn',
|
||||
|
@ -29,7 +27,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Activate air conditioning',
|
||||
'icon': 'mdi:hvac',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.ix_xdrive50_activate_air_conditioning',
|
||||
|
@ -41,7 +38,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Deactivate air conditioning',
|
||||
'icon': 'mdi:hvac-off',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.ix_xdrive50_deactivate_air_conditioning',
|
||||
|
@ -53,7 +49,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Find vehicle',
|
||||
'icon': 'mdi:crosshairs-question',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.ix_xdrive50_find_vehicle',
|
||||
|
@ -65,7 +60,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Flash lights',
|
||||
'icon': 'mdi:car-light-alert',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i4_edrive40_flash_lights',
|
||||
|
@ -77,7 +71,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Sound horn',
|
||||
'icon': 'mdi:bullhorn',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i4_edrive40_sound_horn',
|
||||
|
@ -89,7 +82,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Activate air conditioning',
|
||||
'icon': 'mdi:hvac',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i4_edrive40_activate_air_conditioning',
|
||||
|
@ -101,7 +93,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Deactivate air conditioning',
|
||||
'icon': 'mdi:hvac-off',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i4_edrive40_deactivate_air_conditioning',
|
||||
|
@ -113,7 +104,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Find vehicle',
|
||||
'icon': 'mdi:crosshairs-question',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i4_edrive40_find_vehicle',
|
||||
|
@ -125,7 +115,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Flash lights',
|
||||
'icon': 'mdi:car-light-alert',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.m340i_xdrive_flash_lights',
|
||||
|
@ -137,7 +126,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Sound horn',
|
||||
'icon': 'mdi:bullhorn',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.m340i_xdrive_sound_horn',
|
||||
|
@ -149,7 +137,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Activate air conditioning',
|
||||
'icon': 'mdi:hvac',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.m340i_xdrive_activate_air_conditioning',
|
||||
|
@ -161,7 +148,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Deactivate air conditioning',
|
||||
'icon': 'mdi:hvac-off',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.m340i_xdrive_deactivate_air_conditioning',
|
||||
|
@ -173,7 +159,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Find vehicle',
|
||||
'icon': 'mdi:crosshairs-question',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.m340i_xdrive_find_vehicle',
|
||||
|
@ -185,7 +170,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Flash lights',
|
||||
'icon': 'mdi:car-light-alert',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i3_rex_flash_lights',
|
||||
|
@ -197,7 +181,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Sound horn',
|
||||
'icon': 'mdi:bullhorn',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i3_rex_sound_horn',
|
||||
|
@ -209,7 +192,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Activate air conditioning',
|
||||
'icon': 'mdi:hvac',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i3_rex_activate_air_conditioning',
|
||||
|
@ -221,7 +203,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Find vehicle',
|
||||
'icon': 'mdi:crosshairs-question',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.i3_rex_find_vehicle',
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
'attribution': 'Data provided by MyBMW',
|
||||
'device_class': 'battery',
|
||||
'friendly_name': 'iX xDrive50 Target SoC',
|
||||
'icon': 'mdi:battery-charging-medium',
|
||||
'max': 100.0,
|
||||
'min': 20.0,
|
||||
'mode': <NumberMode.SLIDER: 'slider'>,
|
||||
|
@ -23,7 +22,6 @@
|
|||
'attribution': 'Data provided by MyBMW',
|
||||
'device_class': 'battery',
|
||||
'friendly_name': 'i4 eDrive40 Target SoC',
|
||||
'icon': 'mdi:battery-charging-medium',
|
||||
'max': 100.0,
|
||||
'min': 20.0,
|
||||
'mode': <NumberMode.SLIDER: 'slider'>,
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 AC Charging Limit',
|
||||
'icon': 'mdi:current-ac',
|
||||
'options': list([
|
||||
'6',
|
||||
'7',
|
||||
|
@ -33,7 +32,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Charging Mode',
|
||||
'icon': 'mdi:vector-point-select',
|
||||
'options': list([
|
||||
'IMMEDIATE_CHARGING',
|
||||
'DELAYED_CHARGING',
|
||||
|
@ -49,7 +47,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 AC Charging Limit',
|
||||
'icon': 'mdi:current-ac',
|
||||
'options': list([
|
||||
'6',
|
||||
'7',
|
||||
|
@ -77,7 +74,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Charging Mode',
|
||||
'icon': 'mdi:vector-point-select',
|
||||
'options': list([
|
||||
'IMMEDIATE_CHARGING',
|
||||
'DELAYED_CHARGING',
|
||||
|
@ -93,7 +89,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Charging Mode',
|
||||
'icon': 'mdi:vector-point-select',
|
||||
'options': list([
|
||||
'IMMEDIATE_CHARGING',
|
||||
'DELAYED_CHARGING',
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Remaining range total',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -19,7 +18,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Mileage',
|
||||
'icon': 'mdi:speedometer',
|
||||
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -45,7 +43,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Charging status',
|
||||
'icon': 'mdi:ev-station',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.ix_xdrive50_charging_status',
|
||||
|
@ -71,7 +68,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Remaining range electric',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -85,7 +81,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Charging target',
|
||||
'icon': 'mdi:battery-charging-high',
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
|
@ -98,7 +93,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Remaining range total',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -112,7 +106,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Mileage',
|
||||
'icon': 'mdi:speedometer',
|
||||
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -138,7 +131,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Charging status',
|
||||
'icon': 'mdi:ev-station',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i4_edrive40_charging_status',
|
||||
|
@ -164,7 +156,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Remaining range electric',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -178,7 +169,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Charging target',
|
||||
'icon': 'mdi:battery-charging-high',
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
|
@ -191,7 +181,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Remaining range total',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -205,7 +194,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Mileage',
|
||||
'icon': 'mdi:speedometer',
|
||||
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -219,7 +207,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Remaining fuel',
|
||||
'icon': 'mdi:gas-station',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfVolume.LITERS: 'L'>,
|
||||
}),
|
||||
|
@ -233,7 +220,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Remaining range fuel',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -247,7 +233,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Remaining fuel percent',
|
||||
'icon': 'mdi:gas-station',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
|
@ -261,7 +246,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Remaining range total',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -275,7 +259,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Mileage',
|
||||
'icon': 'mdi:speedometer',
|
||||
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -301,7 +284,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Charging status',
|
||||
'icon': 'mdi:ev-station',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i3_rex_charging_status',
|
||||
|
@ -327,7 +309,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Remaining range electric',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -341,7 +322,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Charging target',
|
||||
'icon': 'mdi:battery-charging-high',
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
|
@ -354,7 +334,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Remaining fuel',
|
||||
'icon': 'mdi:gas-station',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfVolume.LITERS: 'L'>,
|
||||
}),
|
||||
|
@ -368,7 +347,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Remaining range fuel',
|
||||
'icon': 'mdi:map-marker-distance',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': <UnitOfLength.KILOMETERS: 'km'>,
|
||||
}),
|
||||
|
@ -382,7 +360,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) Remaining fuel percent',
|
||||
'icon': 'mdi:gas-station',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Climate',
|
||||
'icon': 'mdi:fan',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'switch.ix_xdrive50_climate',
|
||||
|
@ -17,7 +16,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 Charging',
|
||||
'icon': 'mdi:ev-station',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'switch.ix_xdrive50_charging',
|
||||
|
@ -29,7 +27,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 Climate',
|
||||
'icon': 'mdi:fan',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'switch.i4_edrive40_climate',
|
||||
|
@ -41,7 +38,6 @@
|
|||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'M340i xDrive Climate',
|
||||
'icon': 'mdi:fan',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'switch.m340i_xdrive_climate',
|
||||
|
|
Loading…
Reference in New Issue