Lichtsignale - "Mülltonne Rausstellen"

Guidances to solve typical issues.
Anleitungen, um typische Fragestellungen zu lösen.
Post Reply
User avatar
MarcusZ.
Posts: 124
Joined: Sun Jan 20, 2019 4:44 pm

Lichtsignale - "Mülltonne Rausstellen"

Post by MarcusZ. » Mon Aug 26, 2019 9:27 pm

Hallo Zusammen,

Aufgrund einer Frage bzw. Anregung von Lasdon im "Feature-Request" Forum hinsichtlich Kalender-Ereignissen (nachzulesen unter http://community.all4hue.com/viewtopic.php?f=17&t=16), habe ich eine visuelle Erinnerung zum Mülltonne Rausstellen mal "zu Fuß" erstellt. Nachdem dort zuvor zwar Interesse bekundet wurde, im Nachgang jedoch keinerlei Feedback kam, möchte ich hier nochmals eine überarbeitete Beschreibung "an prominenterer Stelle" einstellen.

Denn: Dieser Anwendungsfall macht einfach Spaß (finden wir zumindest) - selbst bei relativ klaren Abholterminen!

Das Ganze ist trotz überschaubarer Zeitspanne, d.h. zweites Halbjahr 2019, und bei mir nur 3 notwendigen Korrekturen aufgrund von Feiertagen bereits einigermaßen umfangreich, läuft dafür aber komplett auf der Bridge. Alarme bzw. Timer könnten hierbei ein limitierender Faktor sein, da die Bridge aktuell nur insgesamt 100 unterstützt (bei mir noch frei: 17).

Ich beschreibe mal "kurz", was ich gemacht habe, für die Interessierten. Und vielleicht hat ja auch jemand eine Idee, wie man's noch etwas schlanker (aber dennoch flexibel, komplett auf der Bridge) oder einfacher umsetzen könnte.

Genutzt wurden: 1 Gruppe, 2 Sensoren, 5 Szenen, 13 Alarme bzw. Timer, 9 Regeln

Rahmenbedingungen: Restmüll Montags / Biomüll Dienstags / gelber Sack Dienstags 14-tägig / Papiermüll Dienstags alle 4-5 Wochen.
Umsetzung (teilweise vereinfacht aufgrund der Rahmenbedingungen; dennoch flexibel genug um diese anzupassen):
- Eine Lampe in der Küche zeigt Restmüll [orange], Gelber Sack (inkl. Biomüll) [gelb] oder Biomüll [grün] an
- Eine zweite Lampe erinnert an den Papiermüll [blau]
- Die Nutzung weiterer Lampen habe ich mir erspart, da für mich nicht notwendig. Dies ließe sich aber problemlos tun, man sollte jedoch beachten, dabei Lampen zu nutzen die nicht anderweitig überschrieben werden (via Bewegungsmelder, zeitgesteuerte Szenen, "Smarte" Assistenten, etc.)

Zunächst die einigermaßen offensichtlichen Elemente, in Kurzform:
A1) 1x Gruppe "Abfallkalender-Lampen", mit allen zur Benachrichtigung genutzten Lampen
A2) 5x Szenen für die unterschiedlichen Benachrichtigungen, inklusive einer für die Anzeige eines möglichen Fehlerfalls
A3) 1x Sensor "Abfallkalender" für die Müllsorte (z.B. 1=Restmüll, 2=Bio, 3=Wertstoffe, 5=Papiermüll)
A4) 5x Datums-Alarme für die Papiermüll-Termine bis Jahresende (für den Vortag der Abholung, 19:05 Uhr, z.B. "Abfallkalender, Blau08" für August), da kein "ausreichend regelmäßiger Termin". Setzt den Sensor "Abfallkalender" auf den entsprechenden Wert, bei mir: 5. Man könnte diese Termine "selbstlöschend" gestalten. Da ich im Folgejahr aber wieder entsprechende Alarme benötigen werde, nutze ich diese Möglichkeit nicht (damit bleiben diese auch "reserviert").
A5) 3x wöchentlich wiederholende Alarme für die restlichen Tonnen (reguläre Termine, für den VORTAG der Abholung, bei mir zwischen 19:01 und 19:03; die 14-tägige Abholung wird auch als wöchentlicher Alarm programmiert). Aktion: Sensor "Abfallkalender" auf den entsprechenden Wert setzen. Die letzte Stelle bei den Alarmzeiten steht auch hier für die Müllsorte. Wertstoff überschreibt bei mir entsprechend das zunächst auf grün gesetzte Licht mit gelb.
A6) 4x Regeln für die Reaktion auf die Änderung der Sensorwerte, z.B. Bedingung: Wert "Abfallkalender" ist 1 - Szene "Abfallkalender, Restmüll" aktivieren. Im Fall der 14-tägigen Abholung bei Wertstoffen kommt noch eine zusätzliche Bedingung hinzu, siehe Punkt B1.
A7) Optional: 1 Timer, der z.B. 12 Stunden später nochmals an den Termin erinnert (=bei mir entsprechend um ca. 07:00 Uhr morgens die Gruppe einschaltet), falls man am Vorabend nicht zum Rausstellen gekommen ist. Diesen Timer muss man natürlich an geeigneter Stelle starten. Um dies nicht in den vorausgegangenen Regeln (und den noch folgenden) tun zu müssen, kann man dies einfach mit einer zusätzlichen Regel tun, wenn der Sensor "Abfallkalender" einen Wert größer 0 aufweist, und der Sensorwert geändert wurde.

Ab hier kommen die speziellere Anforderungen, deshalb mit etwas ausführlicherer Beschreibung:
B1) 1x Sensor ("global, ungeradeWoche") + 2x Regeln + 1x wöchentlich wiederkehrender Alarm für die Unterscheidung gerade bzw. ungerade Woche.
Ein Alarm am Montag um 0:01 setzt den Sensor "Abfallkalender" auf -1 (minus eins). Je eine Regel wertet diese Bedingung (mit Trigger) zusammen mit dem bisherigen Wert des Sensors "global, ungeradeWoche" aus, um den Sensor "Abfallkalender" jeweils auf 0 zurückzusetzen und den Wert des zweiten Sensors zu ändern. Problem hierbei: Bei Reboot der Bridge werden alle Sensoren mit 0 initialisiert. Dies würde das Ganze ggf. aus dem Tritt kommen lassen.
B2) 1 Regel, um im Fall eines Reboots die "Fehler-Szene" leuchten zu lassen, als Hinweis darauf, die Logik zu prüfen. (Ist aktuell wirklich eine gerade Woche? Der Sensor "global, ungeradeWoche" hat nach Reboot zunächst den Wert 0.)
Einen Reboot kann man erkennen, da alle Speichersensoren bei Reboot mit 0 initialisiert werden, und zusätzlich der Daylight-Sensor einmal getriggert wird. Entsprechend einfach einen Speichersensor (bei mir heißt dieser: "global, Reboot") anlegen, und in einer entsprechenden Regel zusammen mit dem integrierten Tageslichtsensor auswerten. Bedingung: "global, Reboot" hat Wert 0, zusätzliche Triggerbedingung des Tageslichtsensors (nur: Sensorstatus aktualisiert, ohne Prüfung Tag/Nacht).
Als Aktion dann den Sensorwert auf 1 ändern, und alles was man so tun möchte tun. Sofern man mehr als 7 weitere Aktionen benötigt, kann man einfach als achte Aktion den Sensorwert auf 2 erhöhen und somit eine weitere Regel anschließen.
B3) Ab hier kann es sehr individuell werden! Auch kann es bei einer größeren Anzahl von Verschiebungen ggf. ressourcensparendere Lösungswege geben. Folgendes entsprechend als EINE (getestete) Lösungsmöglichkeit.
Um die bei mir aufgrund von Feiertagen dieses Jahr auftretenden verschobenen Abfuhr-Termine zu adressieren, habe ich 3 weitere Datums-Alarme + 2 Regeln erstellt, "quick and dirty".
Fall 1: Zunächst vorgezogener Termin für Restmüll, gefolgt von einem nach hinten geschobenen Restmüll-Termin.
Lösung: Der vorgezogene Termin für Restmüll setzt via Datums-Alarm den Sensor "Abfallkalender" auf 11, wodurch per Regel zunächst die zugehörige Szene gesetzt und der wöchentliche Alarm ausgesetzt (deaktiviert) wird. Der nach hinten geschobene Termin wird ebenfalls als Datums-Alarm umgesetzt, und setzt den Sensor "Abfallkalender" auf 21, um die Szene zu setzen und den wöchentlichen Alarm wieder zu aktivieren (für die folgende Woche, wieder regulärer Termin).
Fall 2: Biomüll vorgezogen, gefolgt von ... weiß ich noch nicht, denn dies passiert zum Jahresende, und die Termine für 2020 sind leider noch nicht bekannt. Deshalb löse ich das wie Fall 1, jedoch mit Sensorwert "12" (die 2 an letzter Stelle steht für Bio), zur Deaktivierung des regelmäßig wiederkehrenden Biomüll-Alarms. Genaueres folgt bei Verfügbarkeit der Termine.

Gedankenspiel: Dem vorgezogenen Termin folgt ein regulärer Termin. Was wäre zu tun? Ideen für eine Lösung?
Weiteres Gedankenspiel: Ein Termin muss um 1 Tag nach hinten verschoben werden (ohne vorausgehenden vorgezogenen Termin). Kommt ihr selbst auf mögliche Lösungen? Wie verhält es sich bei einer Verschiebung um mehr als 24h?
Erste Lösungsansätze findet Ihr gegen Ende meines Posts.

Zuletzt: 1 weiterer Datums-Alarm, um mich an Neujahr (ein Mittwoch) an das Anpassen des Regelwerks zu erinnern. Hierzu nutze ich dann einfach nur die "Fehler-Szene", da bei mir der nächste regelmäßige Alarm erst wieder am Sonntag zuschlagen würde :-)

Im Falle von ungünstigen Feiertagen und vielen Verschiebungen wird B3 entsprechend umfangreicher, und erfährt sicherlich noch weitere Fälle. Es sollte sich jedoch alles unter Nutzung der Möglichkeiten des Bridge-Regelwerks mehr oder weniger Kreativ lösen lassen.

Wenn Ihr es ausprobieren möchtet, und dabei an einem Punkt nicht weiterkommt (oder mögliche Fehler findet), fragt gerne nach. Ich würde dann versuchen, die Anleitung entsprechend noch zu verbessern.

Viele Grüße
Marcus

P.S.: Sofern ihr Alexa nutzt: Praktisch ist hier der Skill "Abfallkalender", der auch weiterentwickelt wird (vielen Dank dafür an den Entwickler Mankei, unbekannterweise). Damit kann man sich inzwischen per Erinnerungs-Feature der Echo-Geräte ebenfalls an die Termine erinnern lassen, nur nicht so schön bunt. Ebenso kann man relativ einfach ics-Dateien für größtenteils regelmäßige Abfuhr-Termine erstellen. Mögliche Feiertage werden in den Serien entsprechend gekennzeichnet, um diese ggf. nochmals manuell zu prüfen und anzupassen.


P.P.S: Lösungsvorschläge, die ich mangels Notwendigkeit jedoch NICHT getestet und ggf. auch noch nicht "zu Ende gedacht" habe.
- Gedankenspiel zu Fall 2 (vorgezogener Termin, gefolgt von regulärem Termin): Den vorgezogenen Termin würde ich auch hier als Datums-Alarm für den VORTAG der geänderten Abholung ansetzen, und im Fall von Biomüll z.B. als Sensorwert 32 setzen. Per Regel mit Bedingung Sensor "Abfallkalender" hat Wert 32, als Aktionen die gewünschte Szene setzen, und ggf. den regelmäßigen Alarm deaktivieren. Eine erneute Aktivierung könnte durch einen zweiten Datums-Alarm erfolgen. Bei häufigem Vorkommen könnte auch ein regelmäßiger Alarm (und ggf. dadurch ausgelöste Regel) genutzt werden, um Alarme einzusparen. Dies ist im Detail jedoch abhängig davon, um wie viele Tage verschoben wird, und wie die Termine zueinander liegen. Der Sensorwert sowie der zusätzliche regelmäßige Alarm könnte für weitere Kombinationen vorgezogen/regulär der selben Müllsorte genutzt werden.
- Gedankenspiel "um einen Tag nach hinten verschobener Abholtermin": Hierbei muss der reguläre Termin übersprungen werden, sowie zum neuen Termin erinnert und der regelmäßige Alarm wieder aktiviert werden. Man könnte dazu einen Datums-Alarm erstellen für den (ausfallenden) Erinnerungs-Tag um 19:00 Uhr, d.h. kurz vor Fälligkeit der regelmäßigen Alarme. Sofern der Timer mit der 12h Erinnerung genutzt wird, sollte als Alarm-Aktion für den Sensor "Abfallkalender" ein Wert kleiner als 0 gesetzt werden (damit der Erinnerungs-Timer NICHT gestartet wird). Für Verschiebungen von nur einem Tag nach hinten könnte für den Biomüll als Sensorwert z.B. -12 genutzt werden. Per Regel kann man dann den zugehörigen regelmäßigen Alarm deaktivieren, und mit einem weiteren Timer nach 23h 59m 59s die gewünschte Szene einen Tag später setzen, und den Alarm wieder aktivieren. Nachdem leider keine Timer mit 24h oder mehr definiert werden können, ist dies aber nicht wirklich eine "universelle Lösung".
- "Sperrbedingung": Nach dem zuletzt geschriebenen erscheint mir diese bei vielen Verschiebungen fast schon als notwendig, um Timer einzusparen. Diese könnte als zusätzlicher Speichersensor "Abfallkalender, skip" umgesetzt werden, und in den unter A6 genannten Regeln als zusätzliche Bedingung ergänzt werden, um die Regel bei Bedarf an der Ausführung zu hindern.
2x Hue Bridge V2 (+ deCONZ + HA-Bridge + Domoticz)
Hue Go (+BT), Lightstrip (in/out), Play, Bloom; Bulbs (E27, E14); Living Colors Iris, Aura.
Motion sensors (in/out), Dimmer, Smart Buttons.

P.S.: Ich bin kein Entwickler von all 4 hue, aber Hue Poweruser

Post Reply