Treppenhaus Kreuzschaltung Smart machen + Bewegunsmelder

Hallo,

ich habe ein klassisches Treppenhaus/Flur mit einer Kreuzschaltung(2 Wechsler+2 Kreuzschalter).

meine Idee ist jetzt das ganze Smart zu machen mit ggf. nur einem Aktor.

mein ziel ist es das das licht abhängig von der Helligkeit durch die Bewegunsmelder angeht da such ich mir einen passenden aus. und das wenn ein Schalter betätigt wird das licht an bleibt und erst wieder ausgeht wenn er erneut die Schalter betätigt werden.

mir fehlt jetzt der Ansatz wie ich die Automation aufsetze und welchen Aktor ich brauche um mit den vorhandenen Schaltern in Kombination mit den Bewegungsmelder das licht zu schalten

hat da schon jemand Erfahrung oder eine Idee

vielen dank schonmal

Matthias :slight_smile:

Was du vor hast ist nicht einfach in einer vorhandenen Installation zu realisieren, aber nicht unmöglich.
Eine Umsetzung wäre, dass du alle Schalter gegen Taster austauschst und deren Tastimpuls mit einem Aktor erfasst und an HA meldest. Jeder Abgang zu einem Leuchtmittel (ich vermute, auf jeder Etage befindet sich mindestens eines, das in einer Schalterdose pro Etage angeklemmt ist) benötigt auch einen Schaltaktor, der durch HA gesteuert wird. Dann nur noch die Bewegungsmelder platzieren und irgendwie die Helligkeit auswerten. Die Automation ist dann der nächste Schritt, da du unterscheiden musst, ob “Licht an” vom Bewegungsmelder oder von einem Taster kam. Du bekommst das sicher hin.

Hi,
ich hab das mit einem Shelly Mini 1PM realisiert. Hier kannst du den Switch Eingang vom Ausgang entkoppeln und selbst per Automation schalten.
Ich hatte Glück, dass ich am letzten Wechselschalter eine Steckdose darunter hatte, um so den Shelly mit N und L versorgen zu können.

Ich hab mir einen Helfer “Manuel geschaltet” angelegt und eine Automation erstellt, wenn der Shelly Input (also der Schalter) gedrückt wird, wird der Helfer aktiv.
In dem Blueprint Sensor Light kannst du dann den Bypass nutzen um die Automation des Bewegungsmelders inkl. Helligkeit pausieren bis der Helfer wieder deaktiviert wird.

💡 Sensor Light - Motion Sensor - Door Sensor - Sun Elevation - LUX Value - Scenes - Time - Light Control - Device Tracker - Night Lights - #345 by Blacky - Blueprints Exchange - Home Assistant Community

1 „Gefällt mir“

Habe ich genau so gelöst. Dann muss man auch nicht erst von Schalter auf Taster umrüsten. Einziges Manko, man braucht für den Shelly den N.

Super vielen dank. Dann werde ich mal schauen wie es bei mir aussieht.

Wenn du in der “letzten Dose”, in der der Lampendraht abgeht einen L und N hast. Brauchst du die vorhandenen Schalter nicht gegen Taster austauschen.

Es gibt zigbee Aktoren, welche als Switch-Eingang eine Phase (L) nutzen und auch auf Schalterbetrieb (nicht Taster) konfiguriert werden können. Hier ein Screenshot aus z2m:

Damit kannst du dann die vorhandene Kreuzschaltung auf den Schalteingang des Smart-Switches legen.

Hier solch ein Switch, welchen ich selber nutze:

Gruß, Lars

1 „Gefällt mir“

Eine frage noch.

Wo enkoppelt man das denn. Nach meinen recherchen könnte ich einen 1pm mini gen4 nehmen und in mein zigbee netz integrieren. Daher die frage ob man das dann in HA enkoppel kann oder brauche ich dafür die shelly app und die shelly integration da es in der app eingestellt wird

Danke euch

Wenn du schon ein vorhandenen zigbee Mesh hast, taucht der Switch ganz normal als neues Gerät auf.

Gruß, Lars

Moin Lars, vielen Dank für deine super Erklärung. Ich kenne das Verdrahtungsschema, wie es mit einem Shelly Mini 1 funktioniert. Dein Aktor wäre super um das Zigbee Mesh noch stabiler zu machen bzw. Reichweite zu verbessern, da es ja auch als Repeater fungiert.

Passt das so? Ich habe quick and dirty das Originalbild mit einem Shelly durch deinen Aktor ersetzt.

Genau so.

Gruß, Lars

1 „Gefällt mir“

Danke für die schnelle Antwort. Werde ich mal so umsetzen. Noch eine Frage :smiley: Schaltest du ein Leuchtmittel oder mehrere mit deinem Aktor?

Ich hatte mit der großen blueprint probleme. Da hat sich immer was aufgehangen, entweder weil es zu komplex ist und man viel davon nicht braucht oder weil es zu komplex ist und ich nicht gut durch steige was eingestellt werden muss.

Meine lösung war mir meine eigene blueprint zu schreiben mit chatgpt mit meinen 3-4 kriterien/Szenarien. Das ging mega schnell und easy gabs den code. Und wenn ich was erweitern wolllte hat er mit den neuen codeschnipsel geschrieben und exat gesagt wo ich es einsetzten soll hat meha funktioniert.

Du könntest jetzt noch den funktionierenden Code teilen, falls jemand ein ähnliches Problem hat.

Das ist wohl wahr. Mach ich wenn ich am rechner bin die tage mit ner kleinen beschreibung

Hallo,

hier meine selbstgebaute Lösung. ich habe mir mir ChatGPT eine Blueprint aufgebaut schrittweise und durchgetestet.

Funktionsbeschreibung.

der Ausgang wird bei Bewegung Geschaltet und geht nach den eingestellten sek. wieder aus nachdem die Bewegung weg ist.

dann habe ich mit noch einen Helfer gebastelt der bei mir auf einen Eingang (Taster) reagiert. damit wird das licht eingeschaltet und deaktiviert die Funktion der Bewegungsmelder so lange bis der Sperreingang nicht mehr aktiv ist. dann spring er in die zeitschleife wir durch Aktivierung durch Bewegung Melder und geht nach der eingestellten zeit aus.

Optional ist die Berücksichtigung der Helligikeitssensoren.

ich habe noch als Backup Funktion eingebaut das wenn der Sperreingang aktiviert ist und nach einstellbarer zeit keine Bewegung erkannt wurde, falls man mal vergisst den Taster zu drücken, das licht trotzdem ausgeht und der Helfer auch deaktiviert wird

Musseingabe:

Bewegungsmelder auf Motion oder occupancy

Sperreingang

um die Blueprint zu erstellen habe ich im Fileeditor unter Blueprint einen eigenen Ordner erstellt und eine Datei angelegt mit name.yaml und dann den Code reinkopiert. dann ist es als Blueprint verfügbar

hier der Code

blueprint:
  name: Bewegungsmelder mit Sperre, Dauerlicht und optionalem Luxwert
  description: >
    Schaltet Licht bei Bewegung sofort ein, wenn Sperr-Eingang aus ist.
    Wenn der Sperr-Eingang aktiv ist, bleibt das Licht dauerhaft an und
    Bewegungsmelder sind deaktiviert. Beim Deaktivieren der Sperre bleibt
    das Licht an, bis keine Bewegung mehr erkannt wird und die Nachlaufzeit
    abgelaufen ist. Optional kann die Helligkeit berücksichtigt werden.
  domain: automation
  input:
    motion_sensors:
      name: Bewegungs- oder Belegungssensoren
      selector:
        entity:
          domain: binary_sensor
          device_class:
            - motion
            - occupancy
          multiple: true

    target_light:
      name: Licht / Ausgang
      selector:
        target:
          entity:
            domain: [light, switch]

    block_input:
      name: Sperr-Eingang (z. B. Schalter oder Input Boolean)
      selector:
        entity:
          domain: [input_boolean, binary_sensor, switch]

    off_delay:
      name: Ausschaltverzögerung (Sekunden)
      default: 120
      selector:
        number:
          min: 5
          max: 1800
          unit_of_measurement: seconds
          mode: box

    lux_sensors:
      name: Helligkeitssensor(en) (optional)
      description: Optionale Lux- oder Helligkeitssensoren. Wenn keiner angegeben ist, wird die Helligkeit ignoriert.
      default: []
      selector:
        entity:
          domain: sensor
          device_class: illuminance
          multiple: true

    lux_threshold:
      name: Helligkeitsschwelle (Lux)
      description: Nur wenn die Helligkeit unter diesem Wert liegt, wird das Licht eingeschaltet.
      default: 50
      selector:
        number:
          min: 0
          max: 1000
          step: 1
          unit_of_measurement: lx
          mode: box

    block_auto_off_delay:
      name: Zeit bis automatische Sperr-Deaktivierung (Sekunden)
      description: Wenn der Sperr-Eingang aktiv ist und keine Bewegung erkannt wird, wird nach dieser Zeit die Sperre automatisch aufgehoben und das Licht ausgeschaltet.
      default: 600
      selector:
        number:
          min: 60
          max: 7200
          unit_of_measurement: seconds
          mode: box

    block_helper:
      name: Helfer zur Sperr-Steuerung (optional)
      description: Optionaler Input Boolean, der zur Sperrung benutzt wird und automatisch wieder ausgeschaltet wird.
      default: []
      selector:
        entity:
          domain: [input_boolean, switch]

trigger:
  - platform: state
    entity_id: !input motion_sensors
    to: "on"
    id: motion_on
  - platform: state
    entity_id: !input motion_sensors
    to: "off"
    id: motion_off
  - platform: state
    entity_id: !input block_input
    to: "on"
    id: block_on
  - platform: state
    entity_id: !input block_input
    to: "off"
    id: block_off

variables:
  lux_entities: !input lux_sensors
  lux_limit: !input lux_threshold

condition: []

action:
  - choose:
      # --- Sperre AUS: keine Bewegung -> Nachlaufzeit ---
      - conditions:
          - condition: trigger
            id: motion_off
          - condition: state
            entity_id: !input block_input
            state: "off"
        sequence:
          - delay:
              seconds: !input off_delay
          - condition: state
            entity_id: !input block_input
            state: "off"
          - service: switch.turn_off
            target: !input target_light

      # --- Bewegung erkannt (nur wenn Sperre aus und ggf. zu dunkel): Licht sofort an ---
      - conditions:
          - condition: trigger
            id: motion_on
          - condition: state
            entity_id: !input block_input
            state: "off"
        sequence:
          - condition: template
            value_template: >
              {% set ent = expand(lux_entities) %}
              {% if ent | count > 0 %}
                {{ ent | map(attribute='state') | map('float', 9999) | min < lux_limit }}
              {% else %}
                true
              {% endif %}
          - service: switch.turn_on
            target: !input target_light

      # --- Sperre AUS, aber keine Bewegung vorhanden -> Nachlaufzeit, dann aus ---
      - conditions:
          - condition: trigger
            id: block_off
        sequence:
          - choose:
              - conditions:
                  - condition: state
                    entity_id: !input motion_sensors
                    state: "off"
                sequence:
                  - delay:
                      seconds: !input off_delay
                  - condition: state
                    entity_id: !input block_input
                    state: "off"
                  - condition: state
                    entity_id: !input motion_sensors
                    state: "off"
                  - service: switch.turn_off
                    target: !input target_light
                    
      # --- Sperre aktiv, aber keine Bewegung für längere Zeit -> Sperre und Licht aus ---
      - conditions:
          - condition: state
            entity_id: !input block_input
            state: "on"
        sequence:
          - service: switch.turn_on
            target: !input target_light
            
          - variables:
              motion_entities: !input motion_sensors
              helper_entity: !input block_helper
          - delay:
              seconds: !input block_auto_off_delay
          - condition: template
            value_template: >
              {% set sensors = expand(motion_entities) %}
              {{ sensors | selectattr('state','eq','off') | list | count == sensors | count }}
          - condition: state
            entity_id: !input block_input
            state: "on"
          - service: switch.turn_off
            target: !input target_light
          - choose:
              - conditions:
                  - condition: template
                    value_template: >
                      {{ helper_entity | length > 0 }}
                sequence:
                  - service: homeassistant.turn_off
                    target:
                      entity_id: "{{ helper_entity }}"


mode: restart