From 54c8d302a87248e8d163659dcd254e4c0e6ecae3 Mon Sep 17 00:00:00 2001 From: patricknitsch <114565561+patricknitsch@users.noreply.github.com> Date: Fri, 6 Jun 2025 19:24:56 +0200 Subject: [PATCH] Add Entity Type "Valve" (#1347) * Update pages.py * Update controller.py * Update pages.py * Update pages.py --- apps/nspanel-lovelace-ui/luibackend/controller.py | 5 +++++ apps/nspanel-lovelace-ui/luibackend/pages.py | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/apps/nspanel-lovelace-ui/luibackend/controller.py b/apps/nspanel-lovelace-ui/luibackend/controller.py index 742b964e..c900a407 100644 --- a/apps/nspanel-lovelace-ui/luibackend/controller.py +++ b/apps/nspanel-lovelace-ui/luibackend/controller.py @@ -334,6 +334,11 @@ class LuiController(object): apis.ha_api.get_entity(entity_id).call_service("return_to_base") elif entity_id.startswith('service'): apis.ha_api.call_service(entity_id.replace('service.', '', 1).replace('.','/', 1), **entity_config.data) + elif entity_id.startswith('valve'): + if apis.ha_api.get_entity(entity_id).state == "open": + apis.ha_api.get_entity(entity_id).call_service("close_valve") + else: + apis.ha_api.get_entity(entity_id).call_service("open_valve") # for media page if button_type == "media-next": diff --git a/apps/nspanel-lovelace-ui/luibackend/pages.py b/apps/nspanel-lovelace-ui/luibackend/pages.py index 5f69ecea..374a27a8 100644 --- a/apps/nspanel-lovelace-ui/luibackend/pages.py +++ b/apps/nspanel-lovelace-ui/luibackend/pages.py @@ -396,6 +396,13 @@ class LuiPagesGen(object): color = self.get_entity_color(entity, ha_type=entityType, stateOverwrite=entity.attributes['forecast'][item.stype]['condition'], overwrite=colorOverride) else: value = f'{get_attr_safe(entity, "temperature", "")}{unit}' + elif entityType == "valve": + entityTypePanel = "valve" + value = get_translation(self._locale, f"backend.component.binary_sensor.state.door.{entity.state}") + if entity.state == "open": + icon_id = get_icon_id("valve-open") + else: + icon_id = get_icon_id("valve-closed") else: name = "unsupported" # Overwrite for value