Add Tesla Fleet grid status (#126438)

* Make Changes.

* Change to match suggested changes.

* add Possible States to island status

* remove storm watch active sensor.

* Update the test_*.ambr files

* Update *.ambr files

* Add more infromation to Grid Status

* Remove storm mode strings and icons
This commit is contained in:
JEMcats 2024-10-07 16:18:40 -04:00 committed by GitHub
parent 4c175a3ed9
commit eac930ad7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 114 additions and 480 deletions

View File

@ -222,6 +222,16 @@
},
"wall_connector_state": {
"default": "mdi:ev-station"
},
"island_status": {
"default": "mdi:help-circle",
"state": {
"on_grid": "mdi:transmission-tower",
"off_grid": "mdi:transmission-tower-off",
"off_grid_unintentional": "mdi:transmission-tower-off",
"island_status_unknown": "mdi:help-circle",
"off_grid_intentional": "mdi:account-cancel"
}
}
},
"switch": {

View File

@ -378,6 +378,17 @@ ENERGY_LIVE_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = (
device_class=SensorDeviceClass.POWER,
entity_registry_enabled_default=False,
),
SensorEntityDescription(
key="island_status",
options=[
"island_status_unknown",
"on_grid",
"off_grid",
"off_grid_unintentional",
"off_grid_intentional",
],
device_class=SensorDeviceClass.ENUM,
),
)
WALL_CONNECTOR_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = (

View File

@ -412,6 +412,16 @@
"vehicle_state_odometer": {
"name": "Odometer"
},
"island_status": {
"name": "Grid Status",
"state": {
"island_status_unknown": "Unknown",
"on_grid": "Connected",
"off_grid": "Disconnected",
"off_grid_unintentional": "Disconnected unintentionally",
"off_grid_intentional": "Disconnected intentionally"
}
},
"vehicle_state_tpms_pressure_fl": {
"name": "Tire pressure front left"
},

View File

@ -95,246 +95,6 @@
'state': 'closed',
})
# ---
# name: test_cover[cover.test_none-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.WINDOW: 'window'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'windows',
'unique_id': 'LRWXF7EK4KC700000-windows',
'unit_of_measurement': None,
})
# ---
# name: test_cover[cover.test_none-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'window',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'closed',
})
# ---
# name: test_cover[cover.test_none_2-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_2',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'charge_state_charge_port_door_open',
'unique_id': 'LRWXF7EK4KC700000-charge_state_charge_port_door_open',
'unit_of_measurement': None,
})
# ---
# name: test_cover[cover.test_none_2-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_2',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover[cover.test_none_3-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_3',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 1>,
'translation_key': 'vehicle_state_ft',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_ft',
'unit_of_measurement': None,
})
# ---
# name: test_cover[cover.test_none_3-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 1>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_3',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'closed',
})
# ---
# name: test_cover[cover.test_none_4-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_4',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'vehicle_state_rt',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_rt',
'unit_of_measurement': None,
})
# ---
# name: test_cover[cover.test_none_4-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_4',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'closed',
})
# ---
# name: test_cover[cover.test_none_5-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_5',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.WINDOW: 'window'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 11>,
'translation_key': 'vehicle_state_sun_roof_state',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_sun_roof_state',
'unit_of_measurement': None,
})
# ---
# name: test_cover[cover.test_none_5-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'window',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 11>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_5',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover[cover.test_sunroof-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@ -575,246 +335,6 @@
'state': 'open',
})
# ---
# name: test_cover_alt[cover.test_none-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.WINDOW: 'window'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'windows',
'unique_id': 'LRWXF7EK4KC700000-windows',
'unit_of_measurement': None,
})
# ---
# name: test_cover_alt[cover.test_none-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'window',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover_alt[cover.test_none_2-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_2',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'charge_state_charge_port_door_open',
'unique_id': 'LRWXF7EK4KC700000-charge_state_charge_port_door_open',
'unit_of_measurement': None,
})
# ---
# name: test_cover_alt[cover.test_none_2-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_2',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover_alt[cover.test_none_3-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_3',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 1>,
'translation_key': 'vehicle_state_ft',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_ft',
'unit_of_measurement': None,
})
# ---
# name: test_cover_alt[cover.test_none_3-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 1>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_3',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover_alt[cover.test_none_4-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_4',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.DOOR: 'door'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 3>,
'translation_key': 'vehicle_state_rt',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_rt',
'unit_of_measurement': None,
})
# ---
# name: test_cover_alt[cover.test_none_4-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'door',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 3>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_4',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_cover_alt[cover.test_none_5-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.test_none_5',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <CoverDeviceClass.WINDOW: 'window'>,
'original_icon': None,
'original_name': None,
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': <CoverEntityFeature: 11>,
'translation_key': 'vehicle_state_sun_roof_state',
'unique_id': 'LRWXF7EK4KC700000-vehicle_state_sun_roof_state',
'unit_of_measurement': None,
})
# ---
# name: test_cover_alt[cover.test_none_5-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'window',
'friendly_name': 'Test None',
'supported_features': <CoverEntityFeature: 11>,
}),
'context': <ANY>,
'entity_id': 'cover.test_none_5',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_cover_alt[cover.test_sunroof-entry]
EntityRegistryEntrySnapshot({
'aliases': set({

View File

@ -364,6 +364,89 @@
'state': '0.0',
})
# ---
# name: test_sensors[sensor.energy_site_grid_status-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'island_status_unknown',
'on_grid',
'off_grid',
'off_grid_unintentional',
'off_grid_intentional',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.energy_site_grid_status',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Grid Status',
'platform': 'tesla_fleet',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'island_status',
'unique_id': '123456-island_status',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[sensor.energy_site_grid_status-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Energy Site Grid Status',
'options': list([
'island_status_unknown',
'on_grid',
'off_grid',
'off_grid_unintentional',
'off_grid_intentional',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.energy_site_grid_status',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on_grid',
})
# ---
# name: test_sensors[sensor.energy_site_grid_status-statealt]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Energy Site Grid Status',
'options': list([
'island_status_unknown',
'on_grid',
'off_grid',
'off_grid_unintentional',
'off_grid_intentional',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.energy_site_grid_status',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on_grid',
})
# ---
# name: test_sensors[sensor.energy_site_load_power-entry]
EntityRegistryEntrySnapshot({
'aliases': set({