Zigbee Schalter als Rolladenschalter

Hallo zusammen und ein frohes neues Jahr !

Ich steige gerade von IoBroker um zu HA und benötige bitte Hilfe beim erstellen einer Automation für einen Zigbee Schalter der einen Rolladenmotor/Shelly 2 schaltet.

im IoBroker hatte ich dies so geregelt

Hoch und runter habe ich schon hinbekommen aber der Schalter muss ja auch den Rolladen beim erneuten Tastendruck stoppen. Da hakt es bei mir leider gerade.
Folgendes habe ich bereits angelegt

alias: Esszimmer Rollo-Schalter
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    alias: Esszimmer-Schalter-links
    id: "  Esszimmer-Schalter-links"
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    alias: "  Esszimmer-Schalter-rechts"
    id: Esszimmer-Schalter-rechts
condition: []
action:
  - alias: Esszimmer-Rollo-runter
    if:
      - condition: trigger
        id:
          - "  Esszimmer-Schalter-links"
    then:
      - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: close
    else: []
  - alias: Esszimmer-Rollo-rauf
    if:
      - condition: trigger
        id:
          - Esszimmer-Schalter-rechts
    then:
      - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: open
    else: []
mode: single

Bitte setzt deinen Code als Code über </> hier ins Forum, lässt sich dann besser lesen.

1 „Gefällt mir“

Das Problem hatte ich auch :wink: wenn du weiter bei der grafischen Programmierung bleiben willst probiere mal Node-Red aus, ist einfach. Die folgenden Nodes musst du dann mit deinen Entitäten füttern.

Die linken beiden Nodes sind Auslöser, die mittleren sind WENN/DANN und mit den rechten vier steuerst du deine Aktoren.

1 „Gefällt mir“

In dem Fall wären dann die Nodes als JSON zum importieren sicher hilfreich. :wink:

So hab ich das bei mir gelöst:

if:
  - condition: or
    conditions:
      - condition: device
        device_id: 37b5409cb0477ead953fa0a376a07784
        domain: cover
        entity_id: cover.rollladen_kuche
        type: is_opening
      - condition: device
        device_id: 37b5409cb0477ead953fa0a376a07784
        domain: cover
        entity_id: cover.rollladen_kuche
        type: is_closing
  - condition: or
    conditions:
      - condition: trigger
        id: auf
      - condition: trigger
        id: ab
then:
  - device_id: 37b5409cb0477ead953fa0a376a07784
    domain: cover
    entity_id: cover.rollladen_kuche
    type: stop

Wenn der Rollladen auf- oder abfährt und gleichzeitig eine der Tasten gedrückt wird, stoppt er.

1 „Gefällt mir“

Danke schon mal für deine Antwort.
Hast du das direkt in deine Automatisierung eingesetzt oder extra eine angelegt ?
Bislang bekomme ich es noch nicht zum laufen.

alias: Esszimmer Rollo-Schalter
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_left
    discovery_id: 0x00158d0003492206 action_single_left
    alias: Esszimmer-Schalter-links
    id: runter
  - platform: device
    domain: mqtt
    device_id: 3e0cbe7513bcfebe21c47d9a70aaf7a7
    type: action
    subtype: single_right
    discovery_id: 0x00158d0003492206 action_single_right
    alias: "  Esszimmer-Schalter-rechts"
    id: rauf
condition: []
action:
  - alias: Esszimmer-Rollo-runter
    if:
      - condition: trigger
        id:
          - runter
    then:
      - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: close
  - alias: Esszimmer-Rollo-rauf
    if:
      - condition: trigger
        id:
          - rauf
    then:
      - 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_opening
      - condition: device
        device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: is_closing
      - condition: or
        conditions: []
      - condition: trigger
        id:
          - runter
      - condition: trigger
        id:
          - rauf
    then:
      - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: stop
mode: single

Danke für deine Antwort aber ich versuche erstmal ohne NodeRed auszukommen.

Ist direkt eingefügt wie bei Dir jetzt, nur musst Du die Einrückungen noch anpassen. Dann müsste es eigentlich laufen.

Funktioniert leider bei mir nicht. Kannst du bitte deine komplette Rollo Automation mal hier einstellen ?

Gerne:

alias: Rollladen Küche
description: ""
trigger:
  - platform: device
    domain: mqtt
    device_id: 257f19bee865ea04e96c1ebc9622bb40
    type: action
    subtype: 1_single
    discovery_id: 0x70ac08fffe4c1b24 action_1_single
    id: auf
  - platform: device
    domain: mqtt
    device_id: 257f19bee865ea04e96c1ebc9622bb40
    type: action
    subtype: 2_single
    discovery_id: 0x70ac08fffe4c1b24 action_2_single
    id: ab
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: auf
        sequence:
          - device_id: 37b5409cb0477ead953fa0a376a07784
            domain: cover
            entity_id: cover.rollladen_kuche
            type: open
      - conditions:
          - condition: trigger
            id: ab
        sequence:
          - device_id: 37b5409cb0477ead953fa0a376a07784
            domain: cover
            entity_id: cover.rollladen_kuche
            type: close
  - if:
      - condition: or
        conditions:
          - condition: device
            device_id: 37b5409cb0477ead953fa0a376a07784
            domain: cover
            entity_id: cover.rollladen_kuche
            type: is_opening
          - condition: device
            device_id: 37b5409cb0477ead953fa0a376a07784
            domain: cover
            entity_id: cover.rollladen_kuche
            type: is_closing
      - condition: or
        conditions:
          - condition: trigger
            id: auf
          - condition: trigger
            id: ab
    then:
      - device_id: 37b5409cb0477ead953fa0a376a07784
        domain: cover
        entity_id: cover.rollladen_kuche
        type: stop
mode: single

Funktioniert bei mir nicht. Der Shelly klickt nur und das wars…

Das sagt der Log

Ich habe alles nochmal geprüft finde aber keinen Fehler.
Irgendwas muss ihm ja sagen das er anstatt zu schließen dann gleich wieder öffnet.

alias: Rollladen Esszimmer
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
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: close
      - conditions:
          - condition: trigger
            id:
              - auf
        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:
      - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
        domain: cover
        entity_id: af5cc31583698bd5a5e12f27d303a4d1
        type: stop
mode: single

Schau mal in die Trace Timeline.

Die sieht so aus

Anscheinend hat er mit dem Stoppen ein Problem.
Aber es wird mir in der Auswahl vorgegeben.

Nimm mal für den Stoppvorgang in der UI den Dienst “Abdeckung: Stopp” und setz da den Shelly rein.

Wo kann ich das ändern? Sorry so Fit bin ich noch nicht :sweat_smile:

In der Automation, als Aktion: Dienst ausführen hinzufügen / ersetzen.

2 „Gefällt mir“

Hat leider auch nichts gebracht

Anscheinend möchten die Shellys bei der Stopp-Aktion unbedingt ihren Fahrauftrag zu Ende führen. Meine Moes-Aktoren brechen dann ab.

Dann machen wir das mal anders:

alias: Rollladen Esszimmer
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
                entity_id: af5cc31583698bd5a5e12f27d303a4d1
                state: opening
              - condition: state
                entity_id: af5cc31583698bd5a5e12f27d303a4d1
                state: closing
        sequence:
          - device_id: 1d7409d50e84fc4b1b3be5362d862cfb
            domain: cover
            entity_id: af5cc31583698bd5a5e12f27d303a4d1
            type: close
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: not
            conditions:
              - condition: state
                entity_id: af5cc31583698bd5a5e12f27d303a4d1
                state: opening
              - condition: state
                entity_id: af5cc31583698bd5a5e12f27d303a4d1
                state: closing
        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
        target:
          entity_id: af5cc31583698bd5a5e12f27d303a4d1
        data: {}
mode: single

Damit werden die Fahr-Aktionen nur noch ausgeführt, wenn der Rollladen gerade nicht fährt, also steht. Während er in Bewegung ist, wird beim Drücken einer der Tasten nur die Stopp-Aktion ausgeführt.

Erstmal vielen Dank für deine Mühe !
Es funktioniert aber leider nicht.

Hallo, kannst du mir denn bitte die Daten mal zur Verfügung stellen? Ich würde es dann doch mal mit NodeRed versuchen wollen.