NEWS
[ESPHome] Syntaxfrage: mehrere if conditions
-
Ich möchte nach einem Ereignis (z.B. ein Sensort löst aus) mehrer Aktionen ion Abhängigkeit von anderen Größen ausführen. Also in der Art:
switch: - platform: gpio pin: number: D5 mode: OUTPUT inverted: true name: "D5" id: GPIOD5 on_turn_off: if: condition: lambda: return id(GlobaleVariable ==3); then: - switch.turn_on: LED1 if: condition: lambda: return id(GlobaleVariable== 4); then: - switch.tun_off: LED2Es wird aber moniert, dass das Keyword "if" doppel vorhanden ist.
Wie macht man sowas? (Einfach das zweite "if" weglassen geht auch nicht, dann wird das doppelte "condition" moniert) -
Ich möchte nach einem Ereignis (z.B. ein Sensort löst aus) mehrer Aktionen ion Abhängigkeit von anderen Größen ausführen. Also in der Art:
switch: - platform: gpio pin: number: D5 mode: OUTPUT inverted: true name: "D5" id: GPIOD5 on_turn_off: if: condition: lambda: return id(GlobaleVariable ==3); then: - switch.turn_on: LED1 if: condition: lambda: return id(GlobaleVariable== 4); then: - switch.tun_off: LED2Es wird aber moniert, dass das Keyword "if" doppel vorhanden ist.
Wie macht man sowas? (Einfach das zweite "if" weglassen geht auch nicht, dann wird das doppelte "condition" moniert)@wolfgangfb
https://community.home-assistant.io/t/noob-question-chained-conditions-if-elseif/316585Sieht so aus, als wenn da ein then: hinter on_turn_off: gehört.
Hab nur aus Neugier gesucht :)
-
@wolfgangfb
https://community.home-assistant.io/t/noob-question-chained-conditions-if-elseif/316585Sieht so aus, als wenn da ein then: hinter on_turn_off: gehört.
Hab nur aus Neugier gesucht :)
@ticaki
HiNe, wenn nur eine Bedingung erfüllt sein soll ist
on_turn_off: if: condition: lambda: return id(GlobaleVariable ==3); then: - switch.turn_on: LED1korrekt und funktioniert. Die Frage ist, wie ich die zweite Bedingung einbaue. Auch wenn ich hinter on_turn_off ein "then:" einfüge wird trotzdem dsas zweite "if" als "duplicate key" moniert.
-
@ticaki
HiNe, wenn nur eine Bedingung erfüllt sein soll ist
on_turn_off: if: condition: lambda: return id(GlobaleVariable ==3); then: - switch.turn_on: LED1korrekt und funktioniert. Die Frage ist, wie ich die zweite Bedingung einbaue. Auch wenn ich hinter on_turn_off ein "then:" einfüge wird trotzdem dsas zweite "if" als "duplicate key" moniert.
@wolfgangfb
Die einzige was ich gefunden habe, ist alles in ein lambda zu packen und die Aktoren über die C++ Syntax zu setzen, also in der Art:on_press: then: - lambda: | if (id(Hauszustand) == 0){id(LED).turn_on();} if (id(Hauszustand) == 1){id(LED_Rot).turn_on();} ....
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden