Add icon translations to Tailscale (#112302)

This commit is contained in:
Joost Lekkerkerker 2024-03-06 13:38:32 +01:00 committed by GitHub
parent a23dbe4727
commit 0cdc90468e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 31 additions and 29 deletions

View File

@ -38,42 +38,36 @@ BINARY_SENSORS: tuple[TailscaleBinarySensorEntityDescription, ...] = (
TailscaleBinarySensorEntityDescription(
key="client_supports_hair_pinning",
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",
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",
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",
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",
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",
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

@ -0,0 +1,29 @@
{
"entity": {
"binary_sensor": {
"client_supports_hair_pinning": {
"default": "mdi:wan"
},
"client_supports_ipv6": {
"default": "mdi:wan"
},
"client_supports_pcp": {
"default": "mdi:wan"
},
"client_supports_pmp": {
"default": "mdi:wan"
},
"client_supports_udp": {
"default": "mdi:wan"
},
"client_supports_upnp": {
"default": "mdi:wan"
}
},
"sensor": {
"ip": {
"default": "mdi:ip-network"
}
}
}
}

View File

@ -39,7 +39,6 @@ SENSORS: tuple[TailscaleSensorEntityDescription, ...] = (
TailscaleSensorEntityDescription(
key="ip",
translation_key="ip",
icon="mdi:ip-network",
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda device: device.addresses[0] if device.addresses else None,
),

View File

@ -5,12 +5,7 @@ from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
)
from homeassistant.components.tailscale.const import DOMAIN
from homeassistant.const import (
ATTR_DEVICE_CLASS,
ATTR_FRIENDLY_NAME,
ATTR_ICON,
EntityCategory,
)
from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
@ -34,7 +29,6 @@ async def test_tailscale_binary_sensors(
assert state.state == STATE_ON
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Client"
assert state.attributes.get(ATTR_DEVICE_CLASS) == BinarySensorDeviceClass.UPDATE
assert ATTR_ICON not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_hairpinning")
entry = entity_registry.async_get(
@ -49,7 +43,6 @@ async def test_tailscale_binary_sensors(
state.attributes.get(ATTR_FRIENDLY_NAME)
== "frencks-iphone Supports hairpinning"
)
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_ipv6")
@ -60,7 +53,6 @@ async def test_tailscale_binary_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == STATE_OFF
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Supports IPv6"
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_pcp")
@ -71,7 +63,6 @@ async def test_tailscale_binary_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == STATE_OFF
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Supports PCP"
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_nat_pmp")
@ -82,7 +73,6 @@ async def test_tailscale_binary_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == STATE_OFF
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Supports NAT-PMP"
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_udp")
@ -93,7 +83,6 @@ async def test_tailscale_binary_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == STATE_ON
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Supports UDP"
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
state = hass.states.get("binary_sensor.frencks_iphone_supports_upnp")
@ -104,7 +93,6 @@ async def test_tailscale_binary_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == STATE_OFF
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "frencks-iphone Supports UPnP"
assert state.attributes.get(ATTR_ICON) == "mdi:wan"
assert ATTR_DEVICE_CLASS not in state.attributes
assert entry.device_id

View File

@ -1,12 +1,7 @@
"""Tests for the sensors provided by the Tailscale integration."""
from homeassistant.components.sensor import SensorDeviceClass
from homeassistant.components.tailscale.const import DOMAIN
from homeassistant.const import (
ATTR_DEVICE_CLASS,
ATTR_FRIENDLY_NAME,
ATTR_ICON,
EntityCategory,
)
from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_FRIENDLY_NAME, EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
@ -30,7 +25,6 @@ async def test_tailscale_sensors(
assert state.state == "2022-02-25T09:49:06+00:00"
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "router Expires"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TIMESTAMP
assert ATTR_ICON not in state.attributes
state = hass.states.get("sensor.router_last_seen")
entry = entity_registry.async_get("sensor.router_last_seen")
@ -41,7 +35,6 @@ async def test_tailscale_sensors(
assert state.state == "2021-11-15T20:37:03+00:00"
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "router Last seen"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TIMESTAMP
assert ATTR_ICON not in state.attributes
state = hass.states.get("sensor.router_ip_address")
entry = entity_registry.async_get("sensor.router_ip_address")
@ -51,7 +44,6 @@ async def test_tailscale_sensors(
assert entry.entity_category == EntityCategory.DIAGNOSTIC
assert state.state == "100.11.11.112"
assert state.attributes.get(ATTR_FRIENDLY_NAME) == "router IP address"
assert state.attributes.get(ATTR_ICON) == "mdi:ip-network"
assert ATTR_DEVICE_CLASS not in state.attributes
assert entry.device_id