Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [ESPHome] Syntaxfrage: mehrere if conditions

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    727

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

[ESPHome] Syntaxfrage: mehrere if conditions

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
4 Beiträge 2 Kommentatoren 1.2k Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    WolfgangFB
    schrieb am zuletzt editiert von
    #1

    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: LED2
    
    

    Es 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)

    T 1 Antwort Letzte Antwort
    0
    • W WolfgangFB

      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: LED2
      
      

      Es 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)

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von
      #2

      @wolfgangfb
      https://community.home-assistant.io/t/noob-question-chained-conditions-if-elseif/316585

      Sieht so aus, als wenn da ein then: hinter on_turn_off: gehört.

      Hab nur aus Neugier gesucht :)

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      W 1 Antwort Letzte Antwort
      0
      • T ticaki

        @wolfgangfb
        https://community.home-assistant.io/t/noob-question-chained-conditions-if-elseif/316585

        Sieht so aus, als wenn da ein then: hinter on_turn_off: gehört.

        Hab nur aus Neugier gesucht :)

        W Offline
        W Offline
        WolfgangFB
        schrieb am zuletzt editiert von
        #3

        @ticaki
        Hi

        Ne, wenn nur eine Bedingung erfüllt sein soll ist

            on_turn_off:
              if: 
                condition:
                  lambda: return id(GlobaleVariable ==3);
                then:
                - switch.turn_on: LED1
        

        korrekt 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.

        W 1 Antwort Letzte Antwort
        0
        • W WolfgangFB

          @ticaki
          Hi

          Ne, wenn nur eine Bedingung erfüllt sein soll ist

              on_turn_off:
                if: 
                  condition:
                    lambda: return id(GlobaleVariable ==3);
                  then:
                  - switch.turn_on: LED1
          

          korrekt 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.

          W Offline
          W Offline
          WolfgangFB
          schrieb am zuletzt editiert von
          #4

          @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();}
                   ....
          
          1 Antwort Letzte Antwort
          0

          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
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          408

          Online

          32.8k

          Benutzer

          82.6k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe