No description
Find a file
2026-07-13 18:59:23 +02:00
blueprints/automation/kleckerbox Initial Push 2026-07-13 18:59:23 +02:00
examples Initial Push 2026-07-13 18:59:23 +02:00
.DS_Store Initial Push 2026-07-13 18:59:23 +02:00
CHANGELOG.md Initial Push 2026-07-13 18:59:23 +02:00
LICENSE Initial Push 2026-07-13 18:59:23 +02:00
README.md Initial Push 2026-07-13 18:59:23 +02:00

ha-detectorcheck

Home-Assistant-Blueprints rund um Bewegungsmelder — gepflegt von kleckerbox.

Aktuell enthalten: Advanced Custom Motion Sensor with Delay — ein Bewegungsmelder-Blueprint mit einstellbarer Einschalt-Verzögerung, damit kurze Fehlauslösungen (Haustiere, Vorhang im Luftzug, Reflexionen) das Licht nicht mehr triggern.


Inhalt

blueprints/
└── automation/
    └── kleckerbox/
        └── advanced_motion_light.yaml
examples/
└── automation_example.yaml

Funktionen

Funktion Beschreibung
Einschalt-Verzögerung Bewegung muss X Sekunden durchgehend anliegen (for: im Trigger), bevor das Licht angeht.
Mehrere Melder Sensor-Auswahl mit multiple: true — z. B. mehrere Melder pro Raum oder eine Gruppe.
Helligkeitsschwelle Optionaler Lux-Sensor; Licht geht nur an, wenn es dunkler als der Schwellwert ist.
Wartezeit (Ausschalten) Licht bleibt nach der letzten Bewegung X Sekunden an.
Zeitfenster Start-/Endzeit für das Einschalten (Start = Ende ⇒ ganztägig).
Sonnenstand Always / Below horizon / Above horizon, inkl. Grad-Offset.
Blocker (global) Beliebige Entität, die die gesamte Automatisierung freigibt oder sperrt.
Blocker (nur Ausschalten) Verhindert nur das Ausschalten — z. B. input_boolean.filmabend.
Ambiente-Szene Statt Ausschalten wird in einem definierten Zeitfenster eine Szene aktiviert.

Installation

Variante A — Import über URL (empfohlen)

Home Assistant → Einstellungen → Automatisierungen & Szenen → Blueprints → Blueprint importieren und diese URL einfügen:

https://git.kleckerbox.link/Hassio/ha-detectorcheck/raw/branch/main/blueprints/automation/kleckerbox/advanced_motion_light.yaml

Voraussetzung: Die Gitea-Instanz muss von Home Assistant aus erreichbar sein. Bei einem privaten Repo funktioniert der URL-Import nicht — dann Variante B nutzen.

Variante B — Manuell kopieren

Die Datei nach

<config>/blueprints/automation/kleckerbox/advanced_motion_light.yaml

kopieren und anschließend Entwicklerwerkzeuge → YAML → Automatisierungen neu laden ausführen (oder HA neu starten). Das Blueprint erscheint danach in der Blueprint-Liste.


Konfiguration der Eingaben

Eingabe Standard Hinweis
motion_entity Sensor(en) oder Gruppe, die zwischen on/off wechseln
motion_delay 0 s Entprellzeit gegen Fehlauslösungen
light_target Ziel (Entität, Gerät, Bereich, Label)
brightness_level 100 % Helligkeit beim Einschalten
luminance_sensor leer optional; leer ⇒ keine Helligkeitsprüfung
luminance_required 100 lx einschalten nur unterhalb dieses Werts
luminance_unavailable_blocks false unavailable/unknown blockiert das Einschalten?
no_motion_wait 120 s Nachlaufzeit
time_default_start / _end 00:00:00 gleich ⇒ ganztägig
elevation / elevation_adjustment Always / 0 Sonnenstand-Bedingung
automation_blocker (+ _boolean) leer / false false ⇒ Freigabe bei off, true ⇒ Freigabe bei on
motion_off_blocker (+ _boolean) leer / false wie oben, wirkt nur beim Ausschalten
scene_ambient scene.none scene.none ⇒ es wird ausgeschaltet
time_scene_ambient_start / _end 00:00:00 Zeitfenster der Ambiente-Szene

Verhalten im Detail

Einschalten — Trigger motion_on (offon, gehalten für motion_delay). Es wird nur eingeschaltet, wenn alle zutreffen: globaler Blocker frei, Sonnenstand passt, Lux unter Schwelle, aktuelle Zeit im Zeitfenster.

Ausschalten — Trigger motion_off (onoff, gehalten für no_motion_wait). Ist der Ausschalt-Blocker aktiv, passiert nichts. Liegt die Zeit im Ambiente-Fenster und ist eine Szene ungleich scene.none gesetzt, wird die Szene aktiviert — sonst geht das Licht aus.

mode: restart sorgt dafür, dass neue Bewegung einen laufenden Ausschalt-Vorgang verwirft.


Bekannte Fallstricke (bewusst abgesichert)

  • Leere optionale Entitätenautomation_blocker, motion_off_blocker und luminance_sensor werden über has_value() bzw. Leer-Prüfungen abgesichert; states[none].state (Original) hätte einen Template-Fehler geworfen.
  • unavailable / unknown beim Lux-Sensorfloat() würde stillschweigend 0.0 liefern und das Licht immer einschalten. Das Verhalten ist jetzt über luminance_unavailable_blocks explizit steuerbar.
  • Manueller „Ausführen"-Lauf — es gibt kein trigger-Objekt. Statt trigger.to_state.state werden Trigger-IDs (condition: trigger) verwendet; ein manueller Lauf trifft damit keinen Zweig, statt einen Fehler zu werfen.
  • Zeitfenster Start = Ende — HA wertet das als „immer wahr" aus, das ist gewollt (ganztägig).

Beispiel

Siehe examples/automation_example.yaml.


Lizenz

MIT — siehe LICENSE.