Vor einiger Zeit habe ich in diesem Forum eine Diskussion über die optimale Anwesenheits-Simulation gelesen, und in dieser Diskussion wurde der Gedanke geäußert, dass man dafür ja Daten aus dem CCU-Historian verwenden könnte. Dieser Gedanke hat sich bei mir festgesetzt und inzwischen habe ich eine Lösung entwickelt, die ihn praktisch umsetzt.
Ganz kurz zum "Setting". Ich lebe allein in einem Einfamilienhaus in einer Villen-Gegend Hamburgs. Einbrüche sind hier ein durchaus wichtiges Thema. Ich bin häufiger länger unterwegs und auch mal spontan mehrere Tage lang nicht zuhause. Dem Haus nach Möglichkeit einen bewohnten Anschein zu geben, beschäftigt mich seit Jahren und ich habe verschiedene Ansätze ausprobiert, war allerdings mit den Ergebnissen nie zufrieden.
Meine neue Lösung realisiert das jetzt so:
Das AddOn CCU-Historian zeichnet alles auf, was die CCU so tut, und befüllt damit eine Datenbank. Alle Änderungen finden sich dort wieder, inklusive der automatischen Aktionen (Rollläden, z.B.). Alles, was manuell ausgelöst wird, wird ebenfalls aufgezeichnet. Wie Aktionen ausgelöst werden - durch Programme, durch Wochenpläne, durch Bedienelemente, durch Sprachsteuerungen - ist am Ende ziemlich egal, solange es eine Zustandsänderung eines Aktors oder einer Variablen auslöst. Auch die Art des Aktors spielt keine Rolle, solange es ein Device in der CCU ist und der CCU-Historian die Daten aufzeichnet.
In einem Job, der jede Nacht kurz nach Mitternacht läuft, werden nun alle Aktionen, die "vor XX Tagen" geschehen sind, aus der Datenbank des CCU-Historian geholt und ausgewertet. Dabei werden automatische Aktionen (Wochenplan) erkannt und entsprechend behandelt, Sonnenauf- und Untergangs-Zeiten ausgewertet und Aktionen in Morgen- und Abenddämmerung zeitlich angepasst, möglichst intelligent umgeschichtet, um automatische Abläufe nicht zu stören, etc.
Am Ende entsteht eine Reihe von "geplanten Aktionen", die dem Unix-atd-Daemon zur Ausführung übergeben werden. Der nächtliche Lauf generiert also einen "Tagesplan" und plant ihn ein.
Eine Variable in der CCU schaltet diese geplanten Aktivitäten dann scharf oder unscharf. In unscharfem Zustand laufen die geplanten Jobs ab, verändern aber keine Aktoren. In scharfgeschaltetem Zustand werden die aufgezeichneten Aktionen ausgeführt. Im Ergebnis fährt damit "das Haus" genau die Aktivitäten ab, die vor "XX Tagen" gelaufen sind, angepasst nach Verschiebung der Astro-Zeiten.
Damit ist "das Haus" schon mal ständig mit einem aktuellen Tagesplan ausgestattet, der nur noch scharf geschaltet werden muss. Das erledigt bei mir die App "@home" (die ich übrigens ganz grossartig finde!) per Geofencing: Wenn ich mich weiter als 100 m von meinem Haus entferne, wird die Anwesenheitssimulation automatisch aktiv, wenn ich wieder nach Hause komme, wird sie automatisch wieder unscharf geschaltet.
Im Ergebnis habe ich jetzt eine Anwesenheits-Simulation, die automatisch und nahtlos für mich übernimmt, sobald ich das Haus verlasse, und mir nicht "dazwischenfummelt", wenn ich zuhause bin. Die Daten-Grundlage, auf der die Simulation arbeitet, ist permanent mein reales Nutzungsverhalten (in meinem Fall "von letzter Woche"). Und, mal ganz abgesehen von der hoffentlich Einbruchs-verhindernden Wirkung: Es ist einfach großartig, im Hellen zu gehen und im Dunkeln nach Hause zu kommen und es sind schon mal die richtigen Lichter an!

Die Jobs, sowohl der Planungs- als auch die Ausführungs-Jobs, können von "stumm" bis "debug" unterschiedlich viel Output erzeugen und den wahlweise in eine Mail, ein Logfile oder ein Syslog schreiben. Konfiguriert wird das Ganze über eine Konfigurationsdatei, zu Testzwecken kann man die einzelnen Bestandteile auch per Kommandozeile aufrufen und parametrisieren.
Was wird gebraucht?
- eine CCU
- das AddOn XML-API
- das AddOn CCU-Historian
- eine Unix-Maschine im Dauerbetrieb, mit installiertem Python 3 und atd-Daemon
Bei mir läuft eine Raspberrymatic und ein Raspberry mit Raspberry PI OS als Home-Server - auf letzterem läuft die Simulation. Das liesse sich vermutlich auch auf der Raspberrymatic selbst realisieren, allerdings gibt es dort im default weder Python noch atd, und ich hab' mich noch nicht mit der Frage beschäftigt, wie man das da draufkriegen könnte.Funktioniert aber auch prima übers Netz

Die Simulations-Software selbst ist schon ziemlich rund und die Einrichtung ist in wenigen Minuten erledigt. Allerdings sind halt einige Voraussetzungen zu erfüllen (siehe oben).
Falls jemand Interesse hat, sich das Ding mal anzusehen, oder es für sich auszuprobieren, stelle ich meine Entwicklung auch gern zur Verfügung. Wegen der doch etwas komplexeren Einrichtung müsste ich dann allerdings noch eine Anleitung schreiben... Also, wertes Publikum, wenn Interesse besteht, dann schickt mir gern eine Nachricht, oder kommentiert hier entsprechend, dann bau' ich eine Anleitung und stelle einen Download-Link zur Verfügung.
Viele Grüße
Sebastian