mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Add entity translations to Rainmachine (#96033)
This commit is contained in:
parent
6402e2c140
commit
29d7535b7b
@ -44,14 +44,14 @@ class RainMachineBinarySensorDescription(
|
|||||||
BINARY_SENSOR_DESCRIPTIONS = (
|
BINARY_SENSOR_DESCRIPTIONS = (
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_FLOW_SENSOR,
|
key=TYPE_FLOW_SENSOR,
|
||||||
name="Flow sensor",
|
translation_key=TYPE_FLOW_SENSOR,
|
||||||
icon="mdi:water-pump",
|
icon="mdi:water-pump",
|
||||||
api_category=DATA_PROVISION_SETTINGS,
|
api_category=DATA_PROVISION_SETTINGS,
|
||||||
data_key="useFlowSensor",
|
data_key="useFlowSensor",
|
||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_FREEZE,
|
key=TYPE_FREEZE,
|
||||||
name="Freeze restrictions",
|
translation_key=TYPE_FREEZE,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
api_category=DATA_RESTRICTIONS_CURRENT,
|
api_category=DATA_RESTRICTIONS_CURRENT,
|
||||||
@ -59,7 +59,7 @@ BINARY_SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_HOURLY,
|
key=TYPE_HOURLY,
|
||||||
name="Hourly restrictions",
|
translation_key=TYPE_HOURLY,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
api_category=DATA_RESTRICTIONS_CURRENT,
|
api_category=DATA_RESTRICTIONS_CURRENT,
|
||||||
@ -67,7 +67,7 @@ BINARY_SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_MONTH,
|
key=TYPE_MONTH,
|
||||||
name="Month restrictions",
|
translation_key=TYPE_MONTH,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
api_category=DATA_RESTRICTIONS_CURRENT,
|
api_category=DATA_RESTRICTIONS_CURRENT,
|
||||||
@ -75,7 +75,7 @@ BINARY_SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_RAINDELAY,
|
key=TYPE_RAINDELAY,
|
||||||
name="Rain delay restrictions",
|
translation_key=TYPE_RAINDELAY,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
api_category=DATA_RESTRICTIONS_CURRENT,
|
api_category=DATA_RESTRICTIONS_CURRENT,
|
||||||
@ -83,7 +83,7 @@ BINARY_SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_RAINSENSOR,
|
key=TYPE_RAINSENSOR,
|
||||||
name="Rain sensor restrictions",
|
translation_key=TYPE_RAINSENSOR,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
entity_registry_enabled_default=False,
|
entity_registry_enabled_default=False,
|
||||||
@ -92,7 +92,7 @@ BINARY_SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineBinarySensorDescription(
|
RainMachineBinarySensorDescription(
|
||||||
key=TYPE_WEEKDAY,
|
key=TYPE_WEEKDAY,
|
||||||
name="Weekday restrictions",
|
translation_key=TYPE_WEEKDAY,
|
||||||
icon="mdi:cancel",
|
icon="mdi:cancel",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
api_category=DATA_RESTRICTIONS_CURRENT,
|
api_category=DATA_RESTRICTIONS_CURRENT,
|
||||||
|
@ -51,7 +51,6 @@ async def _async_reboot(controller: Controller) -> None:
|
|||||||
BUTTON_DESCRIPTIONS = (
|
BUTTON_DESCRIPTIONS = (
|
||||||
RainMachineButtonDescription(
|
RainMachineButtonDescription(
|
||||||
key=BUTTON_KIND_REBOOT,
|
key=BUTTON_KIND_REBOOT,
|
||||||
name="Reboot",
|
|
||||||
api_category=DATA_PROVISION_SETTINGS,
|
api_category=DATA_PROVISION_SETTINGS,
|
||||||
push_action=_async_reboot,
|
push_action=_async_reboot,
|
||||||
),
|
),
|
||||||
|
@ -59,7 +59,7 @@ TYPE_FREEZE_PROTECTION_TEMPERATURE = "freeze_protection_temperature"
|
|||||||
SELECT_DESCRIPTIONS = (
|
SELECT_DESCRIPTIONS = (
|
||||||
FreezeProtectionSelectDescription(
|
FreezeProtectionSelectDescription(
|
||||||
key=TYPE_FREEZE_PROTECTION_TEMPERATURE,
|
key=TYPE_FREEZE_PROTECTION_TEMPERATURE,
|
||||||
name="Freeze protection temperature",
|
translation_key=TYPE_FREEZE_PROTECTION_TEMPERATURE,
|
||||||
icon="mdi:thermometer",
|
icon="mdi:thermometer",
|
||||||
entity_category=EntityCategory.CONFIG,
|
entity_category=EntityCategory.CONFIG,
|
||||||
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
||||||
|
@ -69,7 +69,7 @@ class RainMachineSensorCompletionTimerDescription(
|
|||||||
SENSOR_DESCRIPTIONS = (
|
SENSOR_DESCRIPTIONS = (
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_CLICK_M3,
|
key=TYPE_FLOW_SENSOR_CLICK_M3,
|
||||||
name="Flow sensor clicks per cubic meter",
|
translation_key=TYPE_FLOW_SENSOR_CLICK_M3,
|
||||||
icon="mdi:water-pump",
|
icon="mdi:water-pump",
|
||||||
native_unit_of_measurement=f"clicks/{UnitOfVolume.CUBIC_METERS}",
|
native_unit_of_measurement=f"clicks/{UnitOfVolume.CUBIC_METERS}",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
@ -80,7 +80,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_CONSUMED_LITERS,
|
key=TYPE_FLOW_SENSOR_CONSUMED_LITERS,
|
||||||
name="Flow sensor consumed liters",
|
translation_key=TYPE_FLOW_SENSOR_CONSUMED_LITERS,
|
||||||
icon="mdi:water-pump",
|
icon="mdi:water-pump",
|
||||||
device_class=SensorDeviceClass.WATER,
|
device_class=SensorDeviceClass.WATER,
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
@ -92,7 +92,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_LEAK_CLICKS,
|
key=TYPE_FLOW_SENSOR_LEAK_CLICKS,
|
||||||
name="Flow sensor leak clicks",
|
translation_key=TYPE_FLOW_SENSOR_LEAK_CLICKS,
|
||||||
icon="mdi:pipe-leak",
|
icon="mdi:pipe-leak",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
native_unit_of_measurement="clicks",
|
native_unit_of_measurement="clicks",
|
||||||
@ -103,7 +103,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_LEAK_VOLUME,
|
key=TYPE_FLOW_SENSOR_LEAK_VOLUME,
|
||||||
name="Flow sensor leak volume",
|
translation_key=TYPE_FLOW_SENSOR_LEAK_VOLUME,
|
||||||
icon="mdi:pipe-leak",
|
icon="mdi:pipe-leak",
|
||||||
device_class=SensorDeviceClass.WATER,
|
device_class=SensorDeviceClass.WATER,
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
@ -115,7 +115,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_START_INDEX,
|
key=TYPE_FLOW_SENSOR_START_INDEX,
|
||||||
name="Flow sensor start index",
|
translation_key=TYPE_FLOW_SENSOR_START_INDEX,
|
||||||
icon="mdi:water-pump",
|
icon="mdi:water-pump",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
native_unit_of_measurement="index",
|
native_unit_of_measurement="index",
|
||||||
@ -125,7 +125,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_FLOW_SENSOR_WATERING_CLICKS,
|
key=TYPE_FLOW_SENSOR_WATERING_CLICKS,
|
||||||
name="Flow sensor clicks",
|
translation_key=TYPE_FLOW_SENSOR_WATERING_CLICKS,
|
||||||
icon="mdi:water-pump",
|
icon="mdi:water-pump",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
native_unit_of_measurement="clicks",
|
native_unit_of_measurement="clicks",
|
||||||
@ -136,7 +136,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_LAST_LEAK_DETECTED,
|
key=TYPE_LAST_LEAK_DETECTED,
|
||||||
name="Last leak detected",
|
translation_key=TYPE_LAST_LEAK_DETECTED,
|
||||||
icon="mdi:pipe-leak",
|
icon="mdi:pipe-leak",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
entity_registry_enabled_default=False,
|
entity_registry_enabled_default=False,
|
||||||
@ -147,7 +147,7 @@ SENSOR_DESCRIPTIONS = (
|
|||||||
),
|
),
|
||||||
RainMachineSensorDataDescription(
|
RainMachineSensorDataDescription(
|
||||||
key=TYPE_RAIN_SENSOR_RAIN_START,
|
key=TYPE_RAIN_SENSOR_RAIN_START,
|
||||||
name="Rain sensor rain start",
|
translation_key=TYPE_RAIN_SENSOR_RAIN_START,
|
||||||
icon="mdi:weather-pouring",
|
icon="mdi:weather-pouring",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
entity_registry_enabled_default=False,
|
entity_registry_enabled_default=False,
|
||||||
|
@ -28,5 +28,74 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"entity": {
|
||||||
|
"binary_sensor": {
|
||||||
|
"flow_sensor": {
|
||||||
|
"name": "Flow sensor"
|
||||||
|
},
|
||||||
|
"freeze": {
|
||||||
|
"name": "Freeze restrictions"
|
||||||
|
},
|
||||||
|
"hourly": {
|
||||||
|
"name": "Hourly restrictions"
|
||||||
|
},
|
||||||
|
"month": {
|
||||||
|
"name": "Month restrictions"
|
||||||
|
},
|
||||||
|
"raindelay": {
|
||||||
|
"name": "Rain delay restrictions"
|
||||||
|
},
|
||||||
|
"rainsensor": {
|
||||||
|
"name": "Rain sensor restrictions"
|
||||||
|
},
|
||||||
|
"weekday": {
|
||||||
|
"name": "Weekday restrictions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"select": {
|
||||||
|
"freeze_protection_temperature": {
|
||||||
|
"name": "Freeze protection temperature"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sensor": {
|
||||||
|
"flow_sensor_clicks_cubic_meter": {
|
||||||
|
"name": "Flow sensor clicks per cubic meter"
|
||||||
|
},
|
||||||
|
"flow_sensor_consumed_liters": {
|
||||||
|
"name": "Flow sensor consumed liters"
|
||||||
|
},
|
||||||
|
"flow_sensor_leak_clicks": {
|
||||||
|
"name": "Flow sensor leak clicks"
|
||||||
|
},
|
||||||
|
"flow_sensor_leak_volume": {
|
||||||
|
"name": "Flow sensor leak volume"
|
||||||
|
},
|
||||||
|
"flow_sensor_start_index": {
|
||||||
|
"name": "Flow sensor start index"
|
||||||
|
},
|
||||||
|
"flow_sensor_watering_clicks": {
|
||||||
|
"name": "Flow sensor clicks"
|
||||||
|
},
|
||||||
|
"last_leak_detected": {
|
||||||
|
"name": "Last leak detected"
|
||||||
|
},
|
||||||
|
"rain_sensor_rain_start": {
|
||||||
|
"name": "Rain sensor rain start"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"switch": {
|
||||||
|
"freeze_protect_enabled": {
|
||||||
|
"name": "Freeze protection"
|
||||||
|
},
|
||||||
|
"hot_days_extra_watering": {
|
||||||
|
"name": "Extra water on hot days"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"update": {
|
||||||
|
"firmware": {
|
||||||
|
"name": "Firmware"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -161,14 +161,14 @@ TYPE_RESTRICTIONS_HOT_DAYS_EXTRA_WATERING = "hot_days_extra_watering"
|
|||||||
RESTRICTIONS_SWITCH_DESCRIPTIONS = (
|
RESTRICTIONS_SWITCH_DESCRIPTIONS = (
|
||||||
RainMachineRestrictionSwitchDescription(
|
RainMachineRestrictionSwitchDescription(
|
||||||
key=TYPE_RESTRICTIONS_FREEZE_PROTECT_ENABLED,
|
key=TYPE_RESTRICTIONS_FREEZE_PROTECT_ENABLED,
|
||||||
name="Freeze protection",
|
translation_key=TYPE_RESTRICTIONS_FREEZE_PROTECT_ENABLED,
|
||||||
icon="mdi:snowflake-alert",
|
icon="mdi:snowflake-alert",
|
||||||
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
||||||
data_key="freezeProtectEnabled",
|
data_key="freezeProtectEnabled",
|
||||||
),
|
),
|
||||||
RainMachineRestrictionSwitchDescription(
|
RainMachineRestrictionSwitchDescription(
|
||||||
key=TYPE_RESTRICTIONS_HOT_DAYS_EXTRA_WATERING,
|
key=TYPE_RESTRICTIONS_HOT_DAYS_EXTRA_WATERING,
|
||||||
name="Extra water on hot days",
|
translation_key=TYPE_RESTRICTIONS_HOT_DAYS_EXTRA_WATERING,
|
||||||
icon="mdi:heat-wave",
|
icon="mdi:heat-wave",
|
||||||
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
api_category=DATA_RESTRICTIONS_UNIVERSAL,
|
||||||
data_key="hotDaysExtraWatering",
|
data_key="hotDaysExtraWatering",
|
||||||
|
@ -44,7 +44,7 @@ UPDATE_STATE_MAP = {
|
|||||||
|
|
||||||
UPDATE_DESCRIPTION = RainMachineEntityDescription(
|
UPDATE_DESCRIPTION = RainMachineEntityDescription(
|
||||||
key="update",
|
key="update",
|
||||||
name="Firmware",
|
translation_key="firmware",
|
||||||
api_category=DATA_MACHINE_FIRMWARE_UPDATE_STATUS,
|
api_category=DATA_MACHINE_FIRMWARE_UPDATE_STATUS,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ UPDATE_DESCRIPTION = RainMachineEntityDescription(
|
|||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
|
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Set up WLED update based on a config entry."""
|
"""Set up Rainmachine update based on a config entry."""
|
||||||
data: RainMachineData = hass.data[DOMAIN][entry.entry_id]
|
data: RainMachineData = hass.data[DOMAIN][entry.entry_id]
|
||||||
|
|
||||||
async_add_entities([RainMachineUpdateEntity(entry, data, UPDATE_DESCRIPTION)])
|
async_add_entities([RainMachineUpdateEntity(entry, data, UPDATE_DESCRIPTION)])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user