2 Geräte im Wechsel bei Drücken einer Taste schalten

Hallo zusammen,

irgendwie steh ich gerade aufm Schlauch wie ich das anstelle, ich denke mal es wird mit einer simplen Automation in HA möglich sein:

Wie kann ich 2 Geräte im Wechsel nach drücken einer Taste einschalten? Also es soll natürlich nicht bei einmaligen Drücken passieren sondern wenn ich die Taste drücke soll Gerät 1 eingeschaltet werden, drücke ich sie erneut soll Gerät 2 eingeschaltet werden und dann wieder 1 etc.
Kann mir da jemand weiterhelfen?

Gruß
Alex

Moin,
ich stell dir mal meinen Code für einen Lampenwechsel ein, der genau das macht (nur eben für Lampen)

alias: Arbeitszimmer Lampenwechsel
description: ""
triggers:
  - entity_id:
      - input_button.arbeitszimmer_lampenwechsel
    to: null
    trigger: state
conditions: []
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.lampenwechsel_aktiv
  - if:
      - condition: and
        conditions:
          - condition: device
            type: is_off
            device_id: 7043fd531faf960941f64c0bd4005ed5
            entity_id: 8041f61ef5b5b722f96cbdca0b5ae7cc
            domain: light
          - condition: device
            type: is_off
            device_id: cd0180643e5a9751b24adce405620f6c
            entity_id: ef393d2fa6b50ad3f9c98cab24f95c52
            domain: light
    then:
      - type: turn_on
        device_id: 7043fd531faf960941f64c0bd4005ed5
        entity_id: 8041f61ef5b5b722f96cbdca0b5ae7cc
        domain: light
    else:
      - action: light.toggle
        target:
          entity_id:
            - light.deckenlampe_arbeitszimmer
            - light.schreibtisch_rgbw_birne
        data: {}
  - action: input_boolean.turn_off
    target:
      entity_id:
        - input_boolean.lampenwechsel_aktiv
    data: {}
mode: single

Edit: das läuft bei mir über einen Button in HA - könntest du aber auch auf einen Schalter umstellen.

Was ist das für eine Taste. Ein physischer Schalter, ein Button im Dashboard, etc.?

Gruß
Osorkon

Der Schalter ist ein Zigbee Szene Schalter. Danke für den Code @dunkelheim jedoch wird der nicht funktionieren für meine Zwecke. Die beiden Geräte die ich abwechselnd einschalten möchte schalten sich nach 10 sec generell wieder ab. Hintergrund: Ich habe ein Sofa mit elektrischer Verstellung, diese habe ich Smart gemacht und dafür 1 bzw. 2 Shellys genutzt. 1 Shelly steuert das ausfahren des Sofas, der andere das einfahren. Ich simuliere das Drücken des Schalters an der Seite des Sofas. Komplett ausfahren dauert 10 sec, ebenso komplett einfahren. Aktuell steuere ich es mit einem 1x druck auf den Szene Schalter wordurch das sofa ausgeklappt wird, das einfahren wird durch einen 2x druck gemacht und steuert das andere Gerät. Im shelly selber habe ich eingestellt das bei Vor betätigung des einen der jeweils andere abgeschaltet wird (weil eben nicht beide gleichzeitig gedrückt werden dürfen bzw. das einfach dazu führt das das Sofa stehen bleibt.
Ich muss also was haben im Home Assistant was sich einfach merkt das zuletzt Gerät 1 geschaltet wurde und dann eben Gerät 2 geschaltet wird. Dann wieder Gerät 1 und immer so weiter.

Warum verwendest du dafür 2 Shellys? Nimm doch nen Shelly mit 2 Relais (Rollladensteuerung). Das aktuelle Modell heißt “Shelly 2PM Gen3”, aber auch ein altes mit 2 Relais funktioniert. Der hat zwei Modi. Der eine ist für 2 Motoren, die nicht gleichzeitig laufen dürfen (Rollladen, Sofa, Jalousien), und ein Modus, wo beide Relais als unabhängige Schalter eingestellt werden, aber das ist für deinen Zweck irrelevant. Also dein Zigbee-Schalter schaltet dann den Shelly.

Ok, unabhängig davon, was für einen Shelly du hast, es gibt in Home Assistant Variablen. Das einfachste wäre ein wahr/falsch. Damit kannst du dir leicht merken, welcher Shelly zuletzt aktiv war. Geh auf Einstellungen > Geräte und Dienste > Helfer. Dann mit dem Button unten rechts einen neuen “Helfer erstellen” und zwar einen “Schalter”. Das ist ein Input boolean - Home Assistant Gib einen eindeutigen Namen wie “Sofa eingefahren”. Der Helfer kann wahr oder falsch sein. Wahr heißt in dem Fall das Sofa ist eingefahren.

Jetzt brauchst du nur noch in deiner Automatisierung abzufragen, wie der Status des Helfers ist. Wenn “Sofa eingefahren” = wahr, dann Sofa ausfahren und “Sofa eingefahren” auf falsch stellen.

EDIT: LOL, ich seh grad, das hat @dunkelheim ja schon geschrieben. Achte mal darauf, was da zu input_boolean in der condition und bei der action steht.

Schliesse mich den Vorredner an: Was für einen shelly im Jalousie / cover Modus spricht ist (aus Sicht eines Elektrikers) die Verriegelung, sprich der shelly sorgt dann dafür, dass entweder auf- oder zugefahren wird und auf keinen Fall beide gleichzeitig.
Habe zwar keinen im Einsatz, gehe aber davon aus, dass die shellys bei jedem Tastendruck folgendermassen schalten: auf-stop-zu-stop usw.
Wenn du also innerhalb der 10sec nochmal den Taster betätigst, musst eben wiederholen…
Hoffe das war einigermaßen verständlich :woozy_face:

Da irrst du dich. Bei mir sieht das so aus:

Shelly im Cover-Modus

domain: cover
type: open, close, stop, set_position

Man muss schon wählen, was man möchte. Wenn schon ganz auf ist, und du drückst nochmal auf, passiert nichts. Nun weiß ich wiederum nicht, ob die Position von 100% erkannt wird, und deswegen sich nichts tut, oder ob der Motor trotzdem mal kurz angesteuert wird, nur um dann wieder zu stoppen. Beachte, dass man nen Shelly beim ersten Mal kalibrieren muss, wenn man es im “Cover”-Modus verwendet. Dabei fährt der Motor einmal komplett auf und zu.

@Alex1984
Wäre doch praktisch, wenn du z.B. das Sofa mit einen Tastendruck komplett ein- und ausfahren könntest, und mit nem Doppeldruck auf 50% stellst, oder? :slight_smile:

1 „Gefällt mir“