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

View File

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

View File

@ -23,5 +23,41 @@
"already_configured": "[%key:common::config_flow::abort::already_configured_service%]", "already_configured": "[%key:common::config_flow::abort::already_configured_service%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]" "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"
}
}
} }
} }