Add invert option for covers with reversed open/close logic

- Add invert: true option in airsend.yaml for covers where
  open/close logic is reversed (e.g. shade sails, projector screens)
- UP/DOWN commands are swapped when invert is enabled
- Position value is mirrored (100 - position) for covers with position
- is_closed state logic is inverted accordingly
- inverted: true shown in entity attributes when active
This commit is contained in:
Daniel Moindrot
2026-06-12 08:20:30 +02:00
committed by GitHub
parent 9047b75ce6
commit b079939ccb
2 changed files with 31 additions and 7 deletions
+9
View File
@@ -88,6 +88,10 @@ class Device:
self._refresh = int(options["refresh"])
except KeyError:
pass
try:
self._invert = bool(options["invert"])
except KeyError:
self._invert = False
@property
def name(self) -> str:
@@ -158,6 +162,11 @@ class Device:
def is_light(self) -> bool:
return self._rtype == 4100
@property
def is_inverted(self) -> bool:
"""Return True if open/close logic is inverted."""
return self._invert
@property
def refresh_value(self) -> int:
"""Return refresh value in seconds."""