Add entity translations to Logi circle (#98797)

This commit is contained in:
Joost Lekkerkerker 2023-08-22 12:24:23 +02:00 committed by GitHub
parent 5ad97827cf
commit 08707b4abd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 9 deletions

View File

@ -53,7 +53,7 @@ async def async_setup_entry(
devices = await hass.data[LOGI_CIRCLE_DOMAIN].cameras
ffmpeg = get_ffmpeg_manager(hass)
cameras = [LogiCam(device, entry, ffmpeg) for device in devices]
cameras = [LogiCam(device, ffmpeg) for device in devices]
async_add_entities(cameras, True)
@ -64,12 +64,13 @@ class LogiCam(Camera):
_attr_attribution = ATTRIBUTION
_attr_should_poll = True # Cameras default to False
_attr_supported_features = CameraEntityFeature.ON_OFF
_attr_has_entity_name = True
_attr_name = None
def __init__(self, camera, device_info, ffmpeg):
def __init__(self, camera, ffmpeg):
"""Initialize Logi Circle camera."""
super().__init__()
self._camera = camera
self._name = self._camera.name
self._id = self._camera.mac_address
self._has_battery = self._camera.supports_feature("battery_level")
self._ffmpeg = ffmpeg

View File

@ -37,28 +37,28 @@ SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
),
SensorEntityDescription(
key="last_activity_time",
name="Last Activity",
translation_key="last_activity",
icon="mdi:history",
),
SensorEntityDescription(
key="recording",
name="Recording Mode",
translation_key="recording_mode",
icon="mdi:eye",
),
SensorEntityDescription(
key="signal_strength_category",
name="WiFi Signal Category",
translation_key="wifi_signal_category",
icon="mdi:wifi",
),
SensorEntityDescription(
key="signal_strength_percentage",
name="WiFi Signal Strength",
translation_key="wifi_signal_strength",
native_unit_of_measurement=PERCENTAGE,
icon="mdi:wifi",
),
SensorEntityDescription(
key="streaming",
name="Streaming Mode",
translation_key="streaming_mode",
icon="mdi:camera",
),
)
@ -97,13 +97,13 @@ class LogiSensor(SensorEntity):
"""A sensor implementation for a Logi Circle camera."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True
def __init__(self, camera, time_zone, description: SensorEntityDescription) -> None:
"""Initialize a sensor for Logi Circle camera."""
self.entity_description = description
self._camera = camera
self._attr_unique_id = f"{camera.mac_address}-{description.key}"
self._attr_name = f"{camera.name} {description.name}"
self._activity: dict[Any, Any] = {}
self._tz = time_zone

View File

@ -25,6 +25,25 @@
"missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]"
}
},
"entity": {
"sensor": {
"last_activity": {
"name": "Last activity"
},
"recording_mode": {
"name": "Recording mode"
},
"wifi_signal_category": {
"name": "Wi-Fi signal category"
},
"wifi_signal_strength": {
"name": "Wi-Fi signal strength"
},
"streaming_mode": {
"name": "Streaming mode"
}
}
},
"services": {
"set_config": {
"name": "Set config",