Hier ist eine detaillierte Anleitung, wie du in FHEM einen Shelly-Aktor einrichtest, ihn mit einer Astrofunktion steuerst und zusätzlich ein Wochenprogramm mit unterschiedlichen Ausschaltzeiten für Wochentage und Wochenende einrichtest:


🔧 1. Shelly-Aktor in FHEM einrichten

Wir gehen von einem Shelly 1/1PM aus, der per MQTT oder HTTP integriert werden kann. Hier zeige ich die MQTT-Variante mit dem Modul MQTT2_DEVICE.

Voraussetzungen:

  • Shelly ist mit MQTT-Server (Broker) verbunden
  • Das Modul MQTT2_DEVICE ist installiert und ein MQTT2_SERVER ist in FHEM konfiguriert

Beispielkonfiguration:

fhem

define shelly_wohnzimmer MQTT2_DEVICE

attr shelly_wohnzimmer alias Wohnzimmer Licht

attr shelly_wohnzimmer devicetopic shellies/shelly1-<device_id>

attr shelly_wohnzimmer room Wohnzimmer

attr shelly_wohnzimmer setList on off

attr shelly_wohnzimmer stateFormat state

Wichtig: Ersetze <device_id> mit der tatsächlichen ID deines Shelly-Geräts.


🌇 2. Einschalten über Astrofunktion (5 Minuten nach Sonnenuntergang)

Hierzu brauchst du das Modul Astronomical oder nutzt sunset aus astro-Attributen in FHEM.

Schritt-für-Schritt:

fhem

define sunset_plus5 at {sunset_abs(0,"+00:05")}

attr sunset_plus5 room Auto

define sunset_shelly_on at +*00:01 { fhem("set shelly_wohnzimmer on") }

attr sunset_shelly_on room Auto

Erklärung:

  • sunset_plus5 berechnet täglich 5 Minuten nach Sonnenuntergang
  • sunset_shelly_on triggert täglich neu zum berechneten Zeitpunkt den Einschaltbefehl

3. Ausschaltzeit um 23:00 Uhr (werktags) und 23:30 Uhr (Wochenende)

Hier nutzen wir zwei at-Timer, kombiniert mit einem Wochenplan:

Werktags (Mo–Fr) 23:00 Uhr:

fhem

define off_workdays at *23:00:00 set shelly_wohnzimmer off

attr off_workdays room Auto

attr off_workdays weekday 1,2,3,4,5

Wochenende (Sa–So) 23:30 Uhr:

fhem

define off_weekend at *23:30:00 set shelly_wohnzimmer off

attr off_weekend room Auto

attr off_weekend weekday 6,7


📅 4. Optional: Wochenprogramm mit Weekday-Tabelle

Du kannst alternativ auch ein DOIF oder WeekdayTimer benutzen, z. B.:

fhem

define shelly_schedule WeekdayTimer shelly_wohnzimmer on {sunset_abs(0,"+00:05")} \

off { \

  if ($wday < 6) {"23:00"} else {"23:30"} \

}

attr shelly_schedule room Auto

Erklärung:

  • $wday ist der Wochentag (0 = Sonntag, 6 = Samstag)
  • Dynamisch wird off je nach Wochentag auf 23:00 oder 23:30 gesetzt

Zusammenfassung

Ziel

Methode

Shelly einbinden

MQTT2_DEVICE definieren

Einschalten 5 Min nach Sonnenuntergang

sunset_abs() + at oder WeekdayTimer

Ausschalten Mo–Fr 23:00 Uhr

at mit weekday 1–5

Ausschalten Sa–So 23:30 Uhr

at mit weekday 6,7

Optional: alles in einem

WeekdayTimer mit dynamischem off