Add entity translations to Rainbird (#96030)

* Add entity translations to Rainbird

* Add entity translations to Rainbird
This commit is contained in:
Joost Lekkerkerker 2023-07-07 01:03:01 +02:00 committed by GitHub
parent 63bf4b8099
commit d2bcb5fa87
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 31 additions and 10 deletions

View file

@ -20,7 +20,7 @@ _LOGGER = logging.getLogger(__name__)
RAIN_SENSOR_ENTITY_DESCRIPTION = BinarySensorEntityDescription( RAIN_SENSOR_ENTITY_DESCRIPTION = BinarySensorEntityDescription(
key="rainsensor", key="rainsensor",
name="Rainsensor", translation_key="rainsensor",
icon="mdi:water", icon="mdi:water",
) )
@ -38,6 +38,8 @@ async def async_setup_entry(
class RainBirdSensor(CoordinatorEntity[RainbirdUpdateCoordinator], BinarySensorEntity): class RainBirdSensor(CoordinatorEntity[RainbirdUpdateCoordinator], BinarySensorEntity):
"""A sensor implementation for Rain Bird device.""" """A sensor implementation for Rain Bird device."""
_attr_has_entity_name = True
def __init__( def __init__(
self, self,
coordinator: RainbirdUpdateCoordinator, coordinator: RainbirdUpdateCoordinator,

View file

@ -32,14 +32,14 @@ async def async_setup_entry(
class RainDelayNumber(CoordinatorEntity[RainbirdUpdateCoordinator], NumberEntity): class RainDelayNumber(CoordinatorEntity[RainbirdUpdateCoordinator], NumberEntity):
"""A number implemnetaiton for the rain delay.""" """A number implementation for the rain delay."""
_attr_native_min_value = 0 _attr_native_min_value = 0
_attr_native_max_value = 14 _attr_native_max_value = 14
_attr_native_step = 1 _attr_native_step = 1
_attr_native_unit_of_measurement = UnitOfTime.DAYS _attr_native_unit_of_measurement = UnitOfTime.DAYS
_attr_icon = "mdi:water-off" _attr_icon = "mdi:water-off"
_attr_name = "Rain delay" _attr_translation_key = "rain_delay"
_attr_has_entity_name = True _attr_has_entity_name = True
def __init__( def __init__(

View file

@ -1,4 +1,4 @@
"""Support for Rain Bird Irrigation system LNK WiFi Module.""" """Support for Rain Bird Irrigation system LNK Wi-Fi Module."""
from __future__ import annotations from __future__ import annotations
import logging import logging
@ -18,7 +18,7 @@ _LOGGER = logging.getLogger(__name__)
RAIN_DELAY_ENTITY_DESCRIPTION = SensorEntityDescription( RAIN_DELAY_ENTITY_DESCRIPTION = SensorEntityDescription(
key="raindelay", key="raindelay",
name="Raindelay", translation_key="raindelay",
icon="mdi:water-off", icon="mdi:water-off",
) )
@ -42,6 +42,8 @@ async def async_setup_entry(
class RainBirdSensor(CoordinatorEntity[RainbirdUpdateCoordinator], SensorEntity): class RainBirdSensor(CoordinatorEntity[RainbirdUpdateCoordinator], SensorEntity):
"""A sensor implementation for Rain Bird device.""" """A sensor implementation for Rain Bird device."""
_attr_has_entity_name = True
def __init__( def __init__(
self, self,
coordinator: RainbirdUpdateCoordinator, coordinator: RainbirdUpdateCoordinator,

View file

@ -27,5 +27,22 @@
} }
} }
} }
},
"entity": {
"binary_sensor": {
"rainsensor": {
"name": "Rainsensor"
}
},
"number": {
"rain_delay": {
"name": "Rain delay"
}
},
"sensor": {
"raindelay": {
"name": "Raindelay"
}
}
} }
} }

View file

@ -1,4 +1,4 @@
"""Support for Rain Bird Irrigation system LNK WiFi Module.""" """Support for Rain Bird Irrigation system LNK Wi-Fi Module."""
from __future__ import annotations from __future__ import annotations
import logging import logging

View file

@ -31,10 +31,10 @@ async def test_rainsensor(
assert await setup_integration() assert await setup_integration()
rainsensor = hass.states.get("binary_sensor.rainsensor") rainsensor = hass.states.get("binary_sensor.rain_bird_controller_rainsensor")
assert rainsensor is not None assert rainsensor is not None
assert rainsensor.state == expected_state assert rainsensor.state == expected_state
assert rainsensor.attributes == { assert rainsensor.attributes == {
"friendly_name": "Rainsensor", "friendly_name": "Rain Bird Controller Rainsensor",
"icon": "mdi:water", "icon": "mdi:water",
} }

View file

@ -28,10 +28,10 @@ async def test_sensors(
assert await setup_integration() assert await setup_integration()
raindelay = hass.states.get("sensor.raindelay") raindelay = hass.states.get("sensor.rain_bird_controller_raindelay")
assert raindelay is not None assert raindelay is not None
assert raindelay.state == expected_state assert raindelay.state == expected_state
assert raindelay.attributes == { assert raindelay.attributes == {
"friendly_name": "Raindelay", "friendly_name": "Rain Bird Controller Raindelay",
"icon": "mdi:water-off", "icon": "mdi:water-off",
} }