Vorhandenes Stromstoßrelais smart machen

Ja, ist aus den 70ern.

Die letzte Möglichkeit fände ich ja gut. Aber bisher wollten die Elektriker immer nur die Uhr und den Eltako tauschen.

Ich will ja nur das Licht fernsteuern können. Die Sensoren für Bewegung und Helligkeit gibt es schon. Steuern nur gerade diese Haustürlampen nicht.

  1. Den Shelly parallel zum Eltako schalten lassen. Bisschen pfuschig.
  2. Den Shelly die 12V parallel schalten lassen. Shelly bekommt 230V und schaltet die 12V auf den Tako. Auch bisschen pfuschig.

Du bekommst hier eben nicht mit, ob einer draussen auf den Taster gedrückt hat. Wenn das für deinen Anwendungsfall reicht, gehts.

Hallo zusammen,

Vielleicht ist die Lösung auch für andere interessant, die eine klassische Taster-/Stromstoßschaltung smart machen möchten.

Ziel

Bei mir wird das Flurlicht über ein Merlin Gerin Multi9 TL Stromstoßrelais und mehrere Wandtaster geschaltet.

Meine Anforderungen waren:

  • vorhandene Wandtaster bleiben vollständig funktionsfähig
  • das Stromstoßrelais bleibt die eigentliche Schaltinstanz
  • Home Assistant kann das Licht ein- und ausschalten
  • Home Assistant kennt auch nach Betätigung eines Wandtasters den tatsächlichen Lampenzustand
  • bei Ausfall von Home Assistant oder Zigbee bleibt die normale Lichtsteuerung weiterhin erhalten
  • in Home Assistant gibt es am Ende nur eine normale light-Entität

Dafür habe ich ein 2-Kanal-Zigbee-Relais verwendet, das über MQTT in Home Assistant eingebunden ist.

Wichtig: Hier wird mit 230 V gearbeitet. Die folgende Beschreibung dokumentiert meine konkret gemessene und getestete Installation. Die Klemmenbelegung eines vorhandenen Stromstoßrelais sollte nicht einfach übernommen, sondern an der eigenen Installation geprüft werden.


Verwendete Komponenten

Vorhanden ist ein Merlin Gerin Multi9 TL Stromstoßrelais:

Auf der Front ist auch das interne Schaltbild mit den Anschlüssen A1, A2, 1 und 2 zu erkennen.

Als Zigbee-Modul verwende ich ein QS-Zigbee-SEC02 Mini 2 Gang Zigbee Switch Module:

Für diese Anwendung sind insbesondere L, N, L2 und S1 relevant. Am aufgedruckten Schaltbild sieht man außerdem, dass S1 und S2 gegen L geschaltet werden.


1. Vorhandene Schaltung ermitteln

Das Merlin Gerin Multi9 TL besitzt bei mir die Anschlüsse:

  • A1
  • A2
  • 1
  • 2

Zuerst musste also geklärt werden, wie das vorhandene Relais tatsächlich verdrahtet ist.

A1

Die Leitung von A1 konnte bis zum Neutralleiter verfolgt werden:

A1 = Dauer-N

A1 gegen A2 messen

Ohne gedrückten Wandtaster:

A1 ↔ A2 ≈ 0 V

Während der Wandtaster gedrückt wird:

A1 ↔ A2 ≈ 232 V

Damit:

A2 = L-Impulseingang der Spule

Der vorhandene Taster legt also kurz Phase auf A2.

Die Spule des Merlin wird damit folgendermaßen angesteuert:

N ───────── A1
             │
           Spule
             │
L ─ Taster ─ A2

Jeder kurze L-Impuls auf A2 schaltet das Stromstoßrelais um.

A1 gegen Klemme 2

Hier lagen unabhängig vom Lampenzustand dauerhaft etwa 230 V an:

2 = Dauer-L

A1 gegen Klemme 1

Hier ergab sich:

Licht AUS → ≈ 0 V
Licht EIN → ≈ 230 V

Damit:

1 = geschaltete Phase zur Flurlampe

Die vorhandene Schaltung war damit eindeutig:

A1 = Dauer-N
A2 = L-Impuls vom Taster
2  = Dauer-L
1  = geschaltetes L zur Lampe

2. Zigbee-Relais anschließen

Wie auf dem Schaltbild des Zigbee-Moduls oben zu erkennen, besitzt das Relais:

  • L / N zur Spannungsversorgung
  • L1 / L2 als geschaltete Ausgänge
  • S1 / S2 als externe Schalteingänge

Die Eingänge S1 und S2 werden laut aufgedrucktem Schaltbild gegen L geschaltet.

Deshalb ist wichtig, dass das Zigbee-Relais auf derselben Phase liegt wie das Stromstoßrelais.

Ich habe es folgendermaßen angeschlossen:

Zigbee Merlin Funktion
L 2 Dauer-L
N A1 Dauer-N
L2 A2 Schaltimpuls
S1 1 tatsächlicher Lampenstatus

Also zusammengefasst:

Zigbee L  → Merlin 2
Zigbee N  → Merlin A1
Zigbee L2 → Merlin A2
Zigbee S1 → Merlin 1

L1 und S2 werden für die externe Verdrahtung dieser Funktion nicht benötigt.


3. Funktionsprinzip

Das Zigbee-Relais ersetzt das vorhandene Stromstoßrelais nicht.

Stattdessen simuliert L2 einfach einen zusätzlichen Wandtaster:

Home Assistant
      ↓
Zigbee L2
      ↓
Merlin A2
      ↓
Stromstoßrelais schaltet
      ↓
Lampe

Die Rückmeldung funktioniert in die andere Richtung:

Lampe / Merlin 1
      ↓
Zigbee S1
      ↓
Home Assistant

Dadurch kennt Home Assistant auch dann den Lampenzustand, wenn das Licht über einen normalen Wandtaster geschaltet wurde.

Der Vorteil dieser Lösung ist, dass die vorhandene Taster-/Stromstoßschaltung vollständig erhalten bleibt.


4. Entitäten in Home Assistant

Mein Zigbee-Gerät heißt:

Relais_Flur

Relevant sind:

switch.relais_flur_l1
switch.relais_flur_l2

Dabei verwende ich

switch.relais_flur_l1

als Statusabbildung von S1.

Damit gilt im normalen Betrieb:

switch.relais_flur_l1 = on
→ Lampe ist EIN

switch.relais_flur_l1 = off
→ Lampe ist AUS

Der Switch-Type des Zigbee-Eingangs ist auf momentary eingestellt.

switch.relais_flur_l2 ist dagegen der eigentliche Impulsgeber für A2.


5. Script für den Tastimpuls

Zunächst brauchen wir ein Script, das einen kurzen Tastendruck simuliert:

alias: Flur Licht Impuls
sequence:
  - action: switch.turn_on
    target:
      entity_id: switch.relais_flur_l2

  - delay:
      milliseconds: 300

  - action: switch.turn_off
    target:
      entity_id: switch.relais_flur_l2

mode: single

Das Script heißt bei mir:

script.flur_licht_impuls

Es macht nichts anderes als:

L2 EIN
  ↓
300 ms
  ↓
L2 AUS

Das Merlin bekommt damit einen kurzen L-Impuls auf A2 und schaltet um.

Zusätzlich habe ich eine separate Backup-Automation, die switch.relais_flur_l2 wieder ausschaltet, falls er aus irgendeinem Grund eingeschaltet bleiben sollte.

Das ist insbesondere deshalb sinnvoll, weil die Spule des Stromstoßrelais nur einen kurzen Impuls bekommen soll.


6. Warum noch zwei weitere Scripts?

Das Stromstoßrelais kennt grundsätzlich nur:

Zustand wechseln

Home Assistant erwartet bei einem Licht aber:

EIN
AUS

Würde man bei jedem turn_on einfach einen Impuls senden, würde ein bereits eingeschaltetes Licht beim zweiten turn_on wieder ausgehen.

Deshalb wird vor dem Impuls der tatsächliche Zustand geprüft.

Einschalten

alias: Flur Licht einschalten
sequence:
  - condition: state
    entity_id: switch.relais_flur_l1
    state: "off"

  - action: script.flur_licht_impuls

mode: single

Das bedeutet:

Licht bereits EIN → nichts tun
Licht AUS         → Impuls senden

Das Script heißt bei mir:

script.flur_licht_einschalten

Ausschalten

alias: Flur Licht ausschalten
sequence:
  - condition: state
    entity_id: switch.relais_flur_l1
    state: "on"

  - action: script.flur_licht_impuls

mode: single

Also:

Licht bereits AUS → nichts tun
Licht EIN         → Impuls senden

Das Script heißt bei mir:

script.flur_licht_ausschalten

7. Daraus eine normale Home-Assistant-Leuchte machen

Jetzt kann aus den einzelnen Bausteinen eine Template-Light-Entität gebaut werden:

template:
  - light:
      - name: "Licht Flur"
        unique_id: licht_flur

        state: "{{ is_state('switch.relais_flur_l1', 'on') }}"

        turn_on:
          action: script.flur_licht_einschalten

        turn_off:
          action: script.flur_licht_ausschalten

Damit entsteht:

light.licht_flur

Diese Entität verhält sich in Home Assistant wie ein normales Licht.

Entscheidend ist dabei:

state: "{{ is_state('switch.relais_flur_l1', 'on') }}"

Der Zustand der Template-Leuchte wird also nicht einfach nach einem Schaltbefehl angenommen.

Stattdessen folgt light.licht_flur der Rückmeldung von switch.relais_flur_l1 und damit letztlich der geschalteten Lampenleitung.


8. Gesamter Ablauf

Beim Einschalten über Home Assistant:

light.licht_flur EIN
        ↓
script.flur_licht_einschalten
        ↓
Ist L1 bereits EIN?
        ↓
       NEIN
        ↓
script.flur_licht_impuls
        ↓
Zigbee L2
        ↓
Merlin A2
        ↓
Merlin schaltet
        ↓
Lampe EIN
        ↓
Merlin 1 / Zigbee S1
        ↓
switch.relais_flur_l1 = ON
        ↓
light.licht_flur = ON

Beim Ausschalten läuft das entsprechend umgekehrt.

Wird dagegen der normale Wandtaster verwendet:

Wandtaster
    ↓
Merlin A2
    ↓
Merlin schaltet
    ↓
Lampe
    ↓
Merlin 1 / Zigbee S1
    ↓
switch.relais_flur_l1
    ↓
light.licht_flur

Home Assistant bekommt also auch diesen Schaltvorgang mit.


9. Wichtige Besonderheit bei L1

switch.relais_flur_l1 sollte nicht direkt in Home Assistant bedient werden.

Der Switch wird hier ausschließlich als interne Statusentität verwendet.

Wird L1 manuell in Home Assistant geschaltet, kann dessen Zustand vorübergehend vom tatsächlichen Lampenzustand abweichen.

Beispielsweise:

L1 = ON
Lampe = AUS

oder umgekehrt.

Bei einem anschließenden regulären Schaltvorgang über Wandtaster oder light.licht_flur synchronisiert sich das System wieder.

Deshalb habe ich sowohl

switch.relais_flur_l1

als auch

switch.relais_flur_l2

in der normalen Home-Assistant-Bedienoberfläche versteckt.

Nicht deaktivieren, da Scripts und Template-Light die Entitäten weiterhin benötigen.

Für die normale Bedienung gibt es nur noch:

light.licht_flur

10. Funktionstests

Nach Fertigstellung habe ich folgende Fälle getestet:

Wandtaster einschalten

Wandtaster
→ Lampe EIN
→ L1 ON
→ light.licht_flur ON

Wandtaster ausschalten

Wandtaster
→ Lampe AUS
→ L1 OFF
→ light.licht_flur OFF

Home Assistant einschalten

light.licht_flur EIN
→ Einschalt-Script
→ Impuls
→ Merlin schaltet
→ Lampe EIN
→ Status wird zurückgemeldet

Home Assistant ausschalten

light.licht_flur AUS
→ Ausschalt-Script
→ Impuls
→ Merlin schaltet
→ Lampe AUS
→ Status wird zurückgemeldet

Zusätzlich:

Licht bereits EIN
+ erneuter EIN-Befehl
= kein Impuls

und:

Licht bereits AUS
+ erneuter AUS-Befehl
= kein Impuls

Alle diese Tests funktionieren bei mir wie vorgesehen.


11. Ergebnis

Damit ist das vorhandene Stromstoßrelais vollständig in Home Assistant integriert, ohne die klassische Elektroinstallation zu ersetzen.

Das Merlin Gerin bleibt weiterhin die eigentliche Schaltinstanz:

Wandtaster
    ↓
Merlin Gerin TL
    ↓
Flurbeleuchtung

Home Assistant wurde lediglich parallel ergänzt:

Home Assistant
    ↓
Zigbee-Relais
    ↓
Merlin Gerin TL

und bekommt gleichzeitig die Rückmeldung:

Merlin 1
    ↓
Zigbee S1
    ↓
switch.relais_flur_l1
    ↓
light.licht_flur

Der für mich wichtigste Vorteil ist dabei:

Home Assistant / Zigbee funktioniert
→ Smart-Home-Steuerung verfügbar

Home Assistant / Zigbee fällt aus
→ Wandtaster und Stromstoßrelais funktionieren weiterhin

Das Zigbee-Relais ergänzt die vorhandene Elektroinstallation also lediglich um einen virtuellen Taster und eine Zustandsrückmeldung.

Vielleicht hilft die Lösung jemandem, der vor einem ähnlichen Problem mit einer vorhandenen Stromstoßschaltung steht.

Dies sollte auch mit einem 2-Kanal-Shelly-Schalt-Aktor funktionieren.

Grüße, sedowan

Ich hab die KI(?) Abhandlung jetzt nicht gelesen, aber wäre es nicht deutlich einfacher gewesen den Stromstoßschalter gegen ein Hutschienenmodell wie den Shelly pro 1pm etc auszutauschen?

1 „Gefällt mir“

Lässt sich wunderbar per Taster steuern und ersetzt gleich 2 Eltakos

Gruß aus L.E.

1 „Gefällt mir“

Der oben ist aber Z-Wave.

Ja isser.
Aber ein bisschen suchen darf doch müssen oder?

Gruß aus L.E.