Zigbee Schalter als Rolladenschalter

Option 1 hätte eigentlich nicht ausgeführt werden dürfen, während der Rollladen läuft. Hast Du den kompletten Code übernommen, danach auf den visuellen Editor umgeschaltet und geprüft, ob das alles dann auch da drinsteht? Denn die Einrückungen müssen nach dem Einfügen stimmen, sonst werden einfach Teile ignoriert.

Hallo, ja so sieht es aus wenn ich so von dir übernehme


ich habe die Geräte dann entsprechend angepasst aber funktionierte dann nicht.
Muss ich danach nochmal die yaml bearbeiten ?

so sieht es aus wenn ich bearbeitet habe

alias: Rollladen Esszimmer Test
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    id: ab
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    id: auf
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ab
          - condition: not
            conditions:
              - condition: state
                state: opening
                entity_id: cover.esszimmer_rollo
              - condition: state
                state: closing
                entity_id: cover.esszimmer_rollo
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: close
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: not
            conditions:
              - condition: state
                state: opening
                entity_id: cover.esszimmer_rollo
              - condition: state
                state: closing
                entity_id: cover.esszimmer_rollo
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: open
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_closing
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_opening
      - condition: or
        conditions:
          - condition: trigger
            id: ab
          - condition: trigger
            id: auf
    then:
      - service: cover.stop_cover
        data: {}
        target:
          entity_id: cover.esszimmer_rollo
mode: single

So wie auf dem Bild haut das natürlich nicht hin. Wie sieht es denn unten aufgeklappt aus? Da müsst “Esszimmer-Rollo wird geöffnet” bzw. geschlossen stehen und im zweiten Teil “Wenn ausgelöst durch auf” bzw. ab. Dass dort bei der Stoppaktion nur die Entity-ID drinsteht, ist auch nicht richtig. Da müsste der Name des Rollladens stehen mit einem Icon links daneben. Lösch das mal und such Deinen Rollladen raus. Vielleicht lag da auch schon das Problem, und wir brauchen die Nicht-Bedingungen oben gar nicht.

So sieht es unten aus

Das sieht ja schon besser aus. Nun baust Du den oberen Teil neu auf: Lösch jeweils die beiden Bedingungen innerhalb der Nicht-Bedingungen erst mal raus. Dann wählst Du für die neuen Einträge “Zustand” oder, in der neuesten HA-Version, “Entität” und dann “Zustand”. Darin trägst Du als Entität Deinen Rollladen ein und als Zustand jeweils einmal “Öffnet” und einmal “Schließt”.

Es tut sich nichts und der Shelly klickt nicht mal mehr.

alias: Rollladen Esszimmer Test
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    id: ab
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    id: auf
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ab
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: closing
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: close
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: opening
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: open
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_closing
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_opening
      - condition: or
        conditions:
          - condition: trigger
            id: ab
          - condition: trigger
            id: auf
    then:
      - service: cover.stop_cover
        data: {}
        target:
          entity_id: cover.esszimmer_rollo
mode: single


Wenn du Node Red installiert hast, siehst du die Nodes auf der linken Seite, anhand der Symbole siehst du ja welche Nodes das sind. Wenn du diese auf dein Flow/Bearbeitungsfläche gezogen hast und einen Doppelklick auf das Node getätigt hast, erscheint das Bearbeitungsmenü für den Node. Diese sind eigentlich selbsterklärend. Wichtig ist bei Node Red zu verstehen welches Node was macht.
Solltest dunicht weiterkommen, dann schreib hier rein. Bei diesem Beispiel musst du kein Code irgendwo reinschreiben. Nur zusammenklicken.
Ichhabe in dem Beispiel deine Programmierung 1 zu 1 aus IoBroker übernommen.

Ja, denn Du hast ja die Nicht-Bedingung gelöscht. Die Ablauflogik sollte sein :

  • Wenn der Schalter gedrückt wird und sich der Rollladen gerade NICHT nach oben oder nach unten bewegt, dann soll er sich in die angestrebte Richtung bewegen.
  • Wenn er aber beim Drücken des Schalters bereits in Bewegung ist (das ist der untere Teil), dann soll er stoppen.

Bei Deiner jetzigen Konfiguration soll der Rollladen nur dann gestartet werden, wenn er bereits in Bewegung ist. Das ist natürlich ein Widerspruch in sich, weshalb er nun gar nichts mehr macht.

Aber probier doch ruhig auch mal Node Red aus, vielleicht kommst Du damit besser zurecht. Falls Du die Yaml-Variante lieber weiterverfolgen möchtest, gib Bescheid.

1 „Gefällt mir“

Danke für deine Erläuterung. Ich möchte die yaml weiter verfolgen. Bei Gelegenheit werde ich mich mit NodeRed beschäftigen. Es bringt meiner Meinung nach nichts an 2 Baustellen zu arbeiten. Daher hat die yaml Lösung vorang. Wäre super wenn du mich hier weiter unterstützen würdest.

Okay, dann zunächst noch eine Frage: Soll der Rollladen, wenn er fährt, nur beim Drücken derselben Taste stoppen oder auch, wenn die Taste für die andere Richtung betätigt wird (so ist es bei mir)?

Das letztere bitte mit beiden Tasten.

So machst Du das:

  • In beide Optionen setzt Du direkt unter die “Ausgelöst durch”-Bedingung einen Nicht-Baustein.
  • In diesen Nicht-Baustein setzt Du wiederum einen Oder-Baustein.
  • In den Oder-Baustein setzt Du dann untereinander die beiden Zustandsbedingungen “Rollladen öffnet” und “Rollladen schließt”.

Ich hoffe ich habe alles soweit richtig angelegt…leider kein Erfolg.

alias: Rollladen Esszimmer Test
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    id: ab
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    id: auf
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ab
          - condition: not
            conditions:
              - condition: or
                conditions:
                  - condition: state
                    entity_id: cover.esszimmer_rollo
                    state: opening
                  - condition: state
                    entity_id: cover.esszimmer_rollo
                    state: closing
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: closing
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: close
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: or
            conditions:
              - condition: state
                entity_id: cover.esszimmer_rollo
                state: opening
              - condition: state
                entity_id: cover.esszimmer_rollo
                state: closing
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: opening
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: open
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_closing
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_opening
      - condition: or
        conditions:
          - condition: trigger
            id: ab
          - condition: trigger
            id: auf
    then:
      - service: cover.stop_cover
        data: {}
        target:
          entity_id: cover.esszimmer_rollo
mode: single

Was passiert und was sagt die Timeline?

Es passiert nichts…kein klicken des Shellys etc

Das sieht schon gut aus. Dann bau auch mal die drei Aktionen neu als Dienst (Abdeckung).

Funktioniert leider immer noch nicht. Kein mux… So sieht es jetzt aus.

alias: Rollladen Esszimmer Test
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    id: ab
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    id: auf
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ab
          - condition: not
            conditions:
              - condition: or
                conditions:
                  - condition: state
                    entity_id: cover.esszimmer_rollo
                    state: opening
                  - condition: state
                    entity_id: cover.esszimmer_rollo
                    state: closing
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: closing
        sequence:
          - service: cover.close_cover
            metadata: {}
            data: {}
            target:
              entity_id: cover.esszimmer_rollo
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: or
            conditions:
              - condition: state
                entity_id: cover.esszimmer_rollo
                state: opening
              - condition: state
                entity_id: cover.esszimmer_rollo
                state: closing
          - condition: state
            entity_id: cover.esszimmer_rollo
            state: opening
        sequence:
          - service: cover.open_cover
            metadata: {}
            data: {}
            target:
              entity_id: cover.esszimmer_rollo
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_closing
          - condition: device
            device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: is_opening
      - condition: or
        conditions:
          - condition: trigger
            id: ab
          - condition: trigger
            id: auf
    then:
      - service: cover.stop_cover
        metadata: {}
        data: {}
        target:
          entity_id: cover.esszimmer_rollo
mode: single

Was wird denn angezeigt, wenn Du über die drei Punkte neben dem Nicht-Baustein auf Testen klickst?

Bei beiden Optionen “Bedingung erfüllt”

Ach, jetzt fällt es mir auf: Die alte Opening- bzw. Closing-Bedingung muss aus den Optionen noch raus. Das hatte ich nicht geschrieben.