Hallo Alle,
aus aktuellem Anlass- Heimsuchung letzte Nacht von Unbekannten
- fange ich an ein paar Sicherheitsmassnahmen umzusetzen.
Das erste ist eine Anwesenheitssimulation (AWS). Da es noch keinen Adapter gibt also erstmal eine Script-Lösung.
Die Ermittlung der zu schaltenden Geraete wird ueber eine Zufallszahl durchgeführt.
Auch die Anschaltdauer und Einschaltverzoegerung wird über Zufallszahl geregelt.
Der Ansatz ist folgender.
-
Es können 5 Gruppen definiert werden für die jeweils andere Steuerungsdaten vorgebbar sind. (z.B. könntenGruppen als Räume oder auch als Zeitabschnitte verstehbar sein z.B. Flur ab 22:00 Uhr, Wohnzimmer ab 20:15, Garten etc.)
-
Je Gruppe können folgende Vorgaben gemacht werden
-
5 Geräte mit ID
-
Geräte sind schaltbar für LEVEL und STATE - bei LEVEL wird immer von 0 und 100 ausgegangen
-
Zeitsteuerung: von - bis Uhrzeit - nur in dieser Zeit wird geschaltet - von Zeit kann von Astro Zeit uebersteuert werden
-
Zeitsteuerung: der Einchaltdauerbereich von bis kann festgelegt werden. Die eigentliche Einschaltdauer wird per Zufallsgenerator für diesen Bereich ermittelt
-
Jobsteuerung :- Definition von Anzahl minuten für die die AWS aufgerufen wird. z.B. alle 30 Minuten
Darüberhinaus kann über ein Flag die AWS ein oder ausgeschaltet werden. (wird automatisch angelegt)
als Widget verwende ich ein HQ ON/OFF Widget, dass auf true/false toggeled

Des weiteren gibt es noch ein Extra Log das jede Aktion aufzeichnet. Das wird im CSV Format gemacht. So kann man die Datei
auch mit Excel gut einlesen und verarbeiten. Das dient vor allem zur Optimierung der Einstellungen.
Pfad und Name des Logs: /opt/iobroker/iobroker-data/AWSLog.csv
Die Einstellungen müssen direkt im Script vorgenommen werden. Ist entsprechend mit Beispielen belegt für Gruppe1
EDIT 22.01.2017
Da es mittlerweile einen Adapter für die Fritzbox gibt, der anzeigt, ob bestimmte Geräte im WLAN der FB angemeldet sind habe ich
diesen Adapter mit einer Anwesenheitscontrol verknuepft. Dieses zusätzliche Programm ermittelt, ob irgendwer anwesend ist.
Ist dies nicht der Fall, kann die AWS automatisch eingeschaltet werden.
Dieses Programm gibt es hier: http://forum.iobroker.net/viewtopic.php?f=21&t=4905
Über Rückmeldungen freue ich mich
…...............................................................................................................................................
EDIT: hier mal ein Szenario um zu zeigen was möglich ist
1. In der Zeit von Dämmerung bis 20:15 ist viel Leben im Haus. Daher gehen die Lichter in verschiedenen Räumen an und aus
Gleichzeitig ist es im Wohnzimmer aber eher durchgehend beleuchtet
Einstellungen Gruppe 1:
Für Gruppe1 werde verschiedene IDs aus dem Haus zugeordnet, nicht jedoch Lampen aus dem Wohnzimmer
IDGruppe11 bis IDGruppe15 - Einstellung der IDs
Grp1ZufAnz = Anzahl der IDs z.B. 5
cron1 = 10 Minuten (alle 10 Minuten wird geprüft, ob eine Lampe eingeschaltet werden soll)
StartDelay1 = 2 Minute (ist der maximale Delay - entspricht abweichung von vollen Minuten)
ein1von 5 ein1bis 10 (häufige an und aus Bewegungen)
Astro1 = true
zeit1bis = "20:15:00"
Gleichzeig werden in Gruppe2 z.B. zwei Lampen eingetragen und entsprechend justiert
Einstellungen Gruppe 2
Grp2ZufAnz = Anzahl der IDs = 2
cron2 = 30 Minuten (alle 30 Minuten wird geprüft, ob eine Lampe eingeschaltet werden soll)
StartDelay2 = 2 Minute (ist der maximale Delay - entspricht abweichung von vollen Minuten)
ein3von 20 ein3bis 35 (Wenig Bewegung im Wohnzimmer - überlappend mit dem Cron Job)
Astro2 = true
zeit2bis = "23:15:00"
Die nächste Phase ist dann eher die Fernsehphase. (Gruppe 3 )
Wohnzimmer ist durchgehend schwach beleuchtet.
Von jetzt an bis in die Nacht geht unregelmaessig und fuer kurze Zeit das Licht im Flur und im Bad an
Einstellungen Gruppe 3:
GruppenIDs mit Lichter für Bad und Flur versehen (z.B 3 IDs)
Grp3ZufAnz = Anzahl der IDs = 5 (damit werden auch Dunkelzeiten provoziert da IDs = 3 und Zufall zwischen 1 und 5)
cron3 = 45 Minuten (alle 45 Minuten wird geprüft, ob eine Lampe eingeschaltet werden soll)
StartDelay3 = 2 Minuten (ist der maximale Delay - entspricht abweichung von vollen Minuten)
ein3von 2 ein3bis 10
Astro3 = false
zeit3von = "21:00:00"
zeit3bis = "03:00:00"
noch ein Tipp:
im Prinzip laesst sich mit dem Script alles schalten , da implizit auch eine Programmierschnittstelle enthalten ist
somit laesst sich z.B. Musik einschalten, Sprachnachrichten aktivieren (z.B. Hundegebell ueber die Lautsprecher),
Hue Lampen schalten, eben alles was irgendwie schaltbar ist
Der Trick ist einfach:
Anlegen einer Variable die am Ende ein STATE enthaelt
und Reaktion in einem eigenen Programm, wie z.B:
createState('Anwesenheitssteuerung.Sonos.STATE',false);
on({id: "Anwesenheitssteuerung.Sonos.STATE", val: true}, function(obj) { } // Event: wenn Status gewechselt
Durch Eintragen von: Anwesenheitssteuerung.Sonos.STATE in einer der IDs im Script
laesst sich jetzt auf die Statusaenderung reagieren. z.B. einschalten der Musik oder eben ausschalten
–-------------------------------------------------------------------------------------------------------------------------------------------------------
Fuer diejenigen, die den Programmablauf verstehen wollen:
Der folgende Ablauf ist definiert je Gruppe
1. Aufruf des Programmes alle x Minuten (entsprechend cron Einstellung )
2. Check ob AWS aktiviert ist
3. Check ob die augenblickliche Zeit im Bereich ist von der Angabe zeitvon und zeit bis
Falls aber Astro auf true steht wird die zeitvon durch die Astrozeit uebersteuert
4. Zufällige Ermittlung von
-
Geraete ID der Gruppe IDGruppe , wobei zwischen 1 und GrpZufAnz aus den Einstellungen ermittelt wird
-
Zufaellige Ermittlung der Einschaltzeit (Laufzeit), wobei zwischen den Vorgaben einvon und einbis ermitelt wird
-
Zufaellige ermittlung der Startverzoegerung, wobei zwischen 0 und startdelay ermittelt wird
Die zufaelligen Schaltzeiten werden in Sekunden errechnet, die Einstellungen erfolgen in Minuten
5. Aufruf des Schaltvorgangs entsprechend den ermittelten Werten
Daraus ergibt sich, dass der schedule entscheidend (Trigger) ist für den Aufruf. Die Einschaltverzoegerung verhindert aber
ein Einschalten in immer den selben Abstaenden.
–------------------------------------------------------------------------------------------------------------------------------------------------------
die AWS kann hier heruntergeladen werden:
