Compare commits

...

4 Commits

Author SHA1 Message Date
5346d1b72c licht flur haustuer
All checks were successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
2025-12-11 09:29:38 +01:00
d8780b1790 herdlicht 2
All checks were successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
2025-12-10 21:41:35 +01:00
3d5010b4a1 herdlicht
All checks were successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
2025-12-10 21:40:13 +01:00
b471ab5edc hottis wifi relay 4
All checks were successful
ci/woodpecker/tag/build/5 Pipeline was successful
ci/woodpecker/tag/build/6 Pipeline was successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/build/1 Pipeline was successful
ci/woodpecker/tag/build/4 Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
ci/woodpecker/tag/build/3 Pipeline was successful
ci/woodpecker/tag/build/7 Pipeline was successful
ci/woodpecker/tag/build/2 Pipeline was successful
ci/woodpecker/tag/deploy/4 Pipeline was successful
ci/woodpecker/tag/deploy/2 Pipeline was successful
ci/woodpecker/tag/deploy/5 Pipeline was successful
ci/woodpecker/tag/deploy/1 Pipeline was successful
ci/woodpecker/tag/deploy/6 Pipeline was successful
ci/woodpecker/tag/deploy/3 Pipeline was successful
ci/woodpecker/tag/ingress Pipeline was successful
2025-12-10 21:26:19 +01:00
3 changed files with 28 additions and 22 deletions

View File

@@ -1,4 +1,4 @@
"""Shelly vendor transformations.""" """Hottis WiFi Relay vendor transformations."""
import logging import logging
from typing import Any from typing import Any
@@ -7,28 +7,28 @@ logger = logging.getLogger(__name__)
def transform_relay_to_vendor(payload: dict[str, Any]) -> str: def transform_relay_to_vendor(payload: dict[str, Any]) -> str:
"""Transform abstract relay payload to Shelly format. """Transform abstract relay payload to Hottis WiFi Relay format.
Shelly expects plain text 'on' or 'off' (not JSON). Hottis WiFi Relay expects plain text 'on' or 'off' (not JSON).
Example: Example:
- Abstract: {'power': 'on'} - Abstract: {'power': 'on'}
- Shelly: 'on' - Hottis WiFi Relay: 'ON'
""" """
power = payload.get("power", "off") power = payload.get("power", "off").upper()
return power return power
def transform_relay_to_abstract(payload: str) -> dict[str, Any]: def transform_relay_to_abstract(payload: str) -> dict[str, Any]:
"""Transform Shelly relay payload to abstract format. """Transform Hottis WiFi Relay relay payload to abstract format.
Shelly sends plain text 'on' or 'off'. Hottis WiFi Relay sends plain text 'on' or 'off'.
Example: Example:
- Shelly: 'on' - Hottis WiFi Relay: 'ON'
- Abstract: {'power': 'on'} - Abstract: {'power': 'on'}
""" """
return {"power": payload.strip()} return {"power": payload.strip().lower()}
# Registry of handlers for this vendor # Registry of handlers for this vendor

View File

@@ -747,16 +747,6 @@ devices:
topics: topics:
set: "shellies/wohnzimmer-regal/relay/0/command" set: "shellies/wohnzimmer-regal/relay/0/command"
state: "shellies/wohnzimmer-regal/relay/0" state: "shellies/wohnzimmer-regal/relay/0"
- device_id: licht_flur_schrank
type: relay
name: Schrank
cap_version: "relay@1.0.0"
technology: shelly
features:
power: true
topics:
set: "shellies/schrankflur/relay/0/command"
state: "shellies/schrankflur/relay/0"
- device_id: licht_terasse - device_id: licht_terasse
name: Terrasse name: Terrasse
type: relay type: relay
@@ -829,7 +819,7 @@ devices:
topics: topics:
set: "cmnd/tasmota/01/POWER" set: "cmnd/tasmota/01/POWER"
state: "stat/tasmota/01/POWER" state: "stat/tasmota/01/POWER"
- device_id: schrank_flur_haustür - device_id: schrank_flur_haustuer
name: Schrank Flur Haustür name: Schrank Flur Haustür
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
@@ -957,4 +947,16 @@ devices:
power: true power: true
topics: topics:
set: "IoT/WifiRelay1/State" set: "IoT/WifiRelay1/State"
state: "IoT/WifiRelay1/State" state: "IoT/WifiRelay1/State"
- device_id: herdlicht
name: Herdlicht
type: light
cap_version: "relay@1.0.0"
technology: zigbee2mqtt
features:
power: true
brightness: true
topics:
state: "zigbee2mqtt/herdlicht"
set: "zigbee2mqtt/herdlicht/set"

View File

@@ -144,6 +144,10 @@ rooms:
title: Küche Fensterbank title: Küche Fensterbank
icon: 💡 icon: 💡
rank: 144 rank: 144
- device_id: herdlicht
title: Herdlicht
icon: 💡
rank: 145
- device_id: thermostat_kueche - device_id: thermostat_kueche
title: Kueche title: Kueche
icon: 🌡️ icon: 🌡️
@@ -249,7 +253,7 @@ rooms:
title: Licht oben am Spiegel title: Licht oben am Spiegel
icon: 💡 icon: 💡
rank: 230 rank: 230
- device_id: schrank_flur_haustür - device_id: schrank_flur_haustuer
title: Schranklicht an der Haustür title: Schranklicht an der Haustür
icon: 💡 icon: 💡
rank: 231 rank: 231