Projekt "Adventsuhr"

Begonnen von dora71, 29 November 2020, 10:23:17

Vorheriges Thema - Nächstes Thema

dora71

Hallo Forum,

da mir bei diesem Projekt so toll und schnell geholfen wurde, möchte ich Euch die Lösung nicht vorenthalten, vielleicht hat der Eine oder die Andere Spaß daran.

Der Code bewirkt Folgendes: Es wird zu jeder vollen Stunde zwischen 17 und 22 Uhr ein RGB-Streifen angesteuert bzw. der RGB-Code an ein MQTT-Topic gepostet und dabei jeweils 4 Farben (rot, grün und blau für die Weihnachtskugeln, weiß für den "Weihnachtsstern") durchlaufen. Die Farben wechseln im 2 Sekunden-Takt, die letzte Farbe (weiß) bleibt 4 Sekunden "erhalten". Nach den Durchläufen wird auf ein dunkleres Grün (welches den Weihnachtsbaum symbolisiert) gewechselt.

Der "Clou": Wie bei einer Kirchturmuhr orientiert sich die Anzahl der Durchläufe an der aktuellen Stunde (im 12h Format), d. h. um 18 Uhr z. B. gibt es 6 Durchläufe.

Ob der Codeschnipsel nützlich ist, muss jeder selber entscheiden. Es hat Spaß gemacht und es war knifflig, die Aufgabe zu lösen.

defmod xmas2020_hour DOIF subs {\
@{$_pct}=("BB0000","00BB00","0000BB", "BBBBBB");;\
sub lauflicht \
  {set_Exec("timer2",2,'fhem_set "myBroker publish licht/christmas/rgb/color #".$_pct[$count];; \
   fhem_set "balkonleds RGB ".$_pct[$count]','$count < 4')}\
}\
{ [17:00-22:00,+[1]:00];;$_hour=($hour-12);;\
  set_Exec("timer1",10,'if ($count < $_hour) {lauflicht();;} else {\
    fhem_set "myBroker publish licht/christmas/rgb/color #003300";;\
fhem_set "balkonleds RGB 003300";;}','$count <= $_hour')}


Natürlich müssen die Devices und die Topics entsprechend angepasst werden. Nochmals Danke an Damian für die tolle Hilfestellung.

Fröhliche (beleuchtete) Adventszeit

Rainer