Add entity translations to tailscale (#96237)

This commit is contained in:
Joost Lekkerkerker 2023-07-10 12:50:56 +02:00 committed by GitHub
parent 7ca9f6757a
commit af03a284a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 10 deletions

View File

@ -37,49 +37,49 @@ class TailscaleBinarySensorEntityDescription(
BINARY_SENSORS: tuple[TailscaleBinarySensorEntityDescription, ...] = (
TailscaleBinarySensorEntityDescription(
key="update_available",
name="Client",
translation_key="client",
device_class=BinarySensorDeviceClass.UPDATE,
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.update_available,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_hair_pinning",
name="Supports hairpinning",
translation_key="client_supports_hair_pinning",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.hair_pinning,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_ipv6",
name="Supports IPv6",
translation_key="client_supports_ipv6",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.ipv6,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_pcp",
name="Supports PCP",
translation_key="client_supports_pcp",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.pcp,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_pmp",
name="Supports NAT-PMP",
translation_key="client_supports_pmp",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.pmp,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_udp",
name="Supports UDP",
translation_key="client_supports_udp",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.udp,
),
TailscaleBinarySensorEntityDescription(
key="client_supports_upnp",
name="Supports UPnP",
translation_key="client_supports_upnp",
icon="mdi:wan",
entity_category=EntityCategory.DIAGNOSTIC,
is_on_fn=lambda device: device.client_connectivity.client_supports.upnp,

View File

@ -38,21 +38,21 @@ class TailscaleSensorEntityDescription(
SENSORS: tuple[TailscaleSensorEntityDescription, ...] = (
TailscaleSensorEntityDescription(
key="expires",
name="Expires",
translation_key="expires",
device_class=SensorDeviceClass.TIMESTAMP,
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda device: device.expires,
),
TailscaleSensorEntityDescription(
key="ip",
name="IP address",
translation_key="ip",
icon="mdi:ip-network",
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda device: device.addresses[0] if device.addresses else None,
),
TailscaleSensorEntityDescription(
key="last_seen",
name="Last seen",
translation_key="last_seen",
device_class=SensorDeviceClass.TIMESTAMP,
value_fn=lambda device: device.last_seen,
),

View File

@ -23,5 +23,41 @@
"already_configured": "[%key:common::config_flow::abort::already_configured_service%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
}
},
"entity": {
"binary_sensor": {
"client": {
"name": "Client"
},
"client_supports_hair_pinning": {
"name": "Supports hairpinning"
},
"client_supports_ipv6": {
"name": "Supports IPv6"
},
"client_supports_pcp": {
"name": "Supports PCP"
},
"client_supports_pmp": {
"name": "Supports NAT-PMP"
},
"client_supports_udp": {
"name": "Supports UDP"
},
"client_supports_upnp": {
"name": "Supports UPnP"
}
},
"sensor": {
"expires": {
"name": "Expires"
},
"ip": {
"name": "IP address"
},
"last_seen": {
"name": "Last seen"
}
}
}
}