Logische Abläufe im Smart Home systematisch erfassen
She turned her tender eyes to me
As deep as any ocean
As sweet as any harmony
Mmm – but she blinded me with science
She Blinded Me With Science, Thomas Dolby
Boah! Heute haben wir ein Leckerli für alle Akademiker und/oder Klugscheißer: Wir beschäftigen uns mit der Frage: “Wie kann ich definierte Prozesse (“Logiken”), die in meinem intelligenten Heim (automatisiert) ablaufen, lückenlos modellieren?”.
Wie baue ich meine Logiken richtig auf?
Boah! Wie kommt man denn auf sowas? Kürzlich sind wir in einem Forum auf eine rege Diskussion gestoßen was man zum Beispiel mit der Information anfangen könnte “Ob ein Auto in der Garage steht oder nicht?”. Die Frage mag trivial erscheinen und die Antwort unter Umständen irrelevant, aber dennoch lassen sich anhand dieses Beispiels grundlegende Dinge ableiten! Wenn wir eine Methode hätten diese Vorgänge möglichst umfassend aufzunehmen und zu beschreiben, ließen sich die logischen Folgen (Aktionen) quasi von selbst ableiten.
Eine Methode zur systematischen Modellierung der Prozessabläufe bietet zahlreiche Vorteile:
Vorteile
- Ideen für mögliche Aktionen sind schneller gefunden (durch vorgegebene Fragestellungen)
- Die Ergebnisse sind weniger Lücken-behaftet (durch abgeschlossene Übergänge/Transitionen)
- Dokumentation ist einfach erledigt (durch Standard-Vorlage)
- Allgemeines Verständnis der Abläufe wird kontinuierlich gesteigert (durch standardisierte Arbeitsweise)
Unsere Methode:
Greifen wir zunächst das Beispiel von vorhin auf. Nehmen wir an: Wir könnten den Stellplatz in der Garage mit einer Lichtschranke überwachen und feststellen, ob dieser durch ein Fahrzeug belegt ist oder nicht.
- Was fangen wir mit diesem Input an?
- Welche Vorteile könnte ich aus dieser Information ziehen?
- Welche anderen Komponenten (Sensoren) könnte ich einbeziehen, um einen Nutzen zu generieren?
Letztendlich: Wie kann ich grundsätzlich durch die Verarbeitung von Informationen meinen Lebenskomfort mit Hilfe automatischer Abläufe erhöhen?
Wir habe eine solche Methode, die uns dabei helfen kann, entwickelt. Im Detail ist es weniger anspruchsvoll, als es auf den ersten Blick aussehen mag:
Gehen wir anfänglich auf einige Definitionen ein:
Zustände sind überschneidungsfrei: Es ist immer nur einziger Zustand zu einem bestimmten Zeitpunkt möglich! Zustände können auch den Wert “unbekannt” annehmen.
Praktische Anleitung:
Und so gehen wir nach unserer Methode systematisch vor, um aus einem einfachen Sensor-Wert unseren Komfort zu steigern:
1. Alle Zustände definieren
Es sind immer mindestens drei Zustände (Wahr, Falsch, Unbekannt)! In unserem Beispiel gibt es drei Zustände:
- Auto abwesend
- Auto präsent
- –unbekannt–
2. Mögliche Wechsel erfassen
Die Übergänge und Stagnationen für jeden einzelnen Zustand beschreiben. Stets folgende Fragen Stellen:
Unter welchen Umständen Wechsel sinnhaft?
Unter welchen Umständen Wechsel NICHT sinnhaft?
Bei Stagnation zusätzlich:
Zustand für die DAUER sinnhaft?
In unserem Beispiel sind folgende Wechsel möglich (zur Vereinfachung, nicht abschließend):
- Auto verlässt Garage
- Auto befährt Garage
- Auto dauerhaft anwesend
- Auto dauerhaft abwesend
- Garagenstellplatz-Belegung ist dauerhaft unbekannt
3. Aktionen ableiten
Die Aktionen beschreiben die notwendigen Vorgänge zur Steigerung des Komforts. Folgende Fragestellung ist hierbei vorteilhaft:
Welche Folgen/Aktivitäten bei Transition/Stagnation nützlich?
- Auto verlässt Garage:
- Nach 10min Garagentor schließen!
- Nach 10min Garagen-Licht ausschalten!
- Nach 10min nicht notwendige Garagen-Verbraucher ausschalten!
- Wenn nachts, dann Alarm auslösen! (Potentieller Diebstahl)
- Wenn alle Schlüssel am Schlüsselbrett, dann Alarm auslösen! (Potentieller Diebstahl)
- …
- Auto befährt Garage:
- Nach 10min Garagentor schließen
- Nach 10min Garagen-Licht ausschalten
- Nach 10min nicht notwendige Garagen-Verbraucher ausschalten
- Wenn werktags nach 17:00, dann Musik + Beleuchtung im Bad einschalten!
- Wenn samstags nach 10:00, dann Zugangstür zur Speisekammer öffnen! (Hereintragen der Einkäufe)
- …
- Auto dauerhaft anwesend:
- Wenn Werkstatt-Termin = Heute, dann Alarm auslösen!
- Wenn Auto über 6 Wochen am Stück anwesend, dann Mail versenden zur Überprüfung der Autobatterie!
- …
- Auto dauerhaft abwesend:
- Wenn Auto über 6 Wochen am Stück abwesend, dann Mail versenden zur Überprüfung der Zulassung bzw. KFZ-Versicherung! 🙂
- …
- Garagenstellplatz-Belegung ist dauerhaft unbekannt:
- Meldung per Mail versenden, dass Sensor nicht verfügbar ist!
- …
Beachtung der möglichen Einflüsse (siehe Skizze) sind bei der Ideenfindung besonders hilfreich. Das Protokollieren der Ereignisse (Logging) darf bei keiner Aktionsausführung fehlen. Dies erleichtert die Fehlerbeseitigung ungemein!
Das Ganze in eine billige einfache (Druck-)Vorlage gepackt und schon ist man für alle weiteren Fälle gerüstet:
Vorlage herunterladen (.ods-File, 68 KB)
Und wie macht ihr das so?
Wieder einmal ein super Beitrag! Echt klasse 🙂 – Solche “User Stories” müssen wir uns auch noch aufschreiben und definieren, das macht die Welt dann tatsächlich ein wenig smarter. Allerdings fällt es mir tatsächlich sehr schwer solche Ereignisse und darauf folgende Aktionen zu definieren, denn letztlich ist das Konstrukt meist sehr statisch und fängt die Realität häufig nicht richtig ein oder hat eine zu hohe Fehlertoleranz, oder?
Also: Auto verlässt die Garage und das Garagentor fährt nach 5 oder 10 Minuten automatisch runter, macht absolut Sinn, das möchte ich bei uns auch so programmieren. Allerdings: “Wenn werktags nach 17:00, dann Musik + Beleuchtung im Bad einschalten!” wäre mir bspw. viel zu statisch. Aber ich denke das kann man auch erst einschätzen, wenn man tatsächlich im Smart Home lebt.
Ich fange ehrlich gesagt erst dann an, solche Abläufe nach und nach zu implementieren.
Viele Grüße und danke für die Aufarbeitung des Themas,
Benni
Benni! Freue mich sehr über deine Rückmeldung – hätte bei so einem “trocken” Thema eigentlich überhaupt nicht mit Feedback gerechnet! 🙂 Wollte lediglich damit die Klugscheißer einfangen… 😉 Wie auch immer: Bitte unsere dargestellten Beispiele nur als “unvollendete Grobideen” verstehen. Natürlich ist die “Musik + Beleuchtung ab 17:00” zu statisch und muss für den Einzellfall/Individualfall angepasst/erweitert werden. Viel wichtiger ist allein die Tatsache, das man mit der Methode überhaupt auf sinnvolle Ideen kommt! Ich muss somit also demnächst eine weitere Leitung in die Garage ziehen. Ohne die ganzen Überlegungen wäre ich niemals auf den Gedanken gekommen, dass ich soetwas brauche bzw. nutzen-stiftend einsetzen kann! In diesem Sinne: Keep it real! 😛
Das ist absolut richtig, man sollte sich frühzeitig die Gedanken machen, so geht man der Gefahr aus dem Weg etwas zu vergessen. Obwohl man sicher trotzdem irgendwelche Dinge übersieht, die dann erst im Alltag auffallen werden. Ich werde nach unserem Einzug darüber berichten 😛
Nun zum Thema Garagentor ‘automatisch’ fahren. Es ist problematisch die Tore unbeaufsichtigt zu fahren …
Im Schadensfall ist das eine versicherungstechnisches Problem.
Was das Thema Logig und KNX angeht mal EDOMI anschauen !!
Servus Thomas!
Tor unbeaufsichtigt fahren lassen ein “versicherungstechnisches Problem”? Da muss ich meine Versicherung fragen. Wer oder was soll da aber potentiell zu Schaden kommen. Wer oder was hat auf meinem Grundstück dort etwas zu suchen? Außerdem gibt’s doch Sicherheitseinrichtungen (Klemmschutz, usw…). Danke für den Denkanstoß – wir werden uns mal schlau machen!
Aey, “EDOMI” ist schon ein tolles Stück Software. Wir sind seid den ersten Tagen dran! 🙂 Künftig gibt es sicherlich auch einen Beitrag zur Logik-Maschine/Visu. Das hat aber zur Zeit eine ganz geringe Priorität…