Logiksammlung mit Homematic
Was ist sinnvoll, was ist Spielerei?
Ich möchte hier einige meiner Logiken auflisten, um dir den Start in die Homematicwelt zu vereinfachen. Falls du selbst einen Logik hast, die hier nicht vorhanden ist, schicke mir eine Email oder kommentiere diesen Beitrag, dann nehme ich das gerne mit auf.
Wer kennt das nicht… Nach dem Duschen herrscht gefühlte 100%ige Luftfeuchtigkeit und es ist warm (vorsichtig ausgedrückt). Logischerweise ist dann der Gang zum Fenster, um es zu öffnen, naheliegend.
Was aber, wenn nun der Rollo im Badezimmer heruntergefahren ist? Die feuchte Luft kann nicht (oder nur sehr sehr langsam) nach außen dringen, womit der eigentliche Effekt der Belüftung nicht gegeben ist. Außerdem setzt sich die feuchte Luft an den Innenseiten der Lamellen ab und im Winter besteht die Gefahr, dass sich Eiskristalle bilden und der Rollo somit beschädigten.
IM WINTER:
Also hab ich mir ein Programm erstellt, welches prüft, ob der Rollo kleiner als 51% geöffnet ist (ca. die Mitte) UND die Außentemperatur kleiner als 5°C beträgt.
Wenn das der Fall ist, öffne ich den Rollo auf 60%. Bei mir bedeutet dass, das der Rollo ca. 20cm Abstand von der Unterseite der Fensterbank hat und die „Schlitze“ des Rollos somit geöffnet sind.
IM SOMMER:
Im „Sonst, wenn…“ Bereich habe ich das selbe wie oben, nur für den Sommer, also wenn die Temperatur größer als 5°C ist. Dann fährt der Rollo auf 80%, da es dann nicht so schlimm ist, wenn die, dann nicht so kalte Luft, von außen nach innen kommt. Je kälter der Raum, desto mehr, muss die Heizung ja später wieder hochheizen.
Selbstverständlich habe ich noch Programm laufen, welches prüft, ob ein Fenster länger als X Minuten offen steht, und mich dann benachrichtigt. Die Anleitung dazu folgt in einem gesonderten Beitrag.
Aktuell habe ich 2 Homematic Rauchmelder im Einsatz. Einen der ersten „normalen“ Generation (http://amzn.to/2w0MenX) und einen HMIP Rauchmelder mit integrierter Alarmsirene (http://amzn.to/2wAElap). Einen pro Stockwerk. Da wir in Bayern ab/seit dem 31.12.2017 eine Rauchmelderpflicht haben, möchte ich aus Kostengründen nicht nur die Homematic Rauchmelder einsetzen, sondern habe auch die Kombirauchmelder gekauft, die doch sehr edel wirken und auch dem Rauch, noch auf eine zu hohe CO-Konzentration prüfen.
Aber was, wenn der Rauchmelder nun wirklich auslöst? Vorweg… Ich habe die Rauchmelder nun seit fast ein Jahr in Betrieb und bisher keinen einzigen Fehlalarm gehabt.
Meiner Ansicht nach, gibt es zwei Szenarien.
Szenario 1
Es befinden sich Personen im Haus, die bei einem echten Feueralarm aus dem Haus möchten. Hier zählt jede Sekunde. Da der Feueralarm häufig nachts ausgelöst wird, schlussfolgern wir mal, dass die Rollos abgefahren, also auf 0% befinden und die Lichter aus sind.
Daher sollten wir als erstes alle Rollos öffnen, damit der Notaustieg durch ein Fenster bzw. durch die Terrasse gewährleistet ist.
Als zweites wäre Licht keine schlechte Idee, damit mal auch sieht so man hingeht und auch hier keine wertvollen Sekunden verliert.
Mein Programm dazu sieht so aus
Wenn also ein Rauchmelder der Rauchmeldergruppe (EG oder UG) auslöst, dann gehen alle Lichter an und es öffnen sich alle Rolläden, welche mit einem Rolladenmotor ausgestattet sind.
Szenario 2
Es befinden sich keine Personen im Haus und das Haus brennt in Ruhe ab. 🙂 Natürlich möchte ich auch dann benachrichtigt werden, wenn mein Hab und Gut dabei ist, abzufackeln.
Wer das Programm aufmerksam angesehen hat, hat schon festgestellt, dass hier noch ein Skript läuft. Das ist die Benachrichtigung per Telegram Messenger auf mein Handy. So erfahre ich auch von unterwegs, wenn ein Rauchmelder ausgelöst hat.
Bis vor einigen Wochen hatte ich im selben Programm noch eine Email, welche mit nochmal verzögert um 10 sec einen Snapshot der Innenkamera gesendet hat, um festzustellen, ob es wirklich eine Rauchentwicklung gibt. Da ich aber inzwischen viele Kameras habe, würde ich 6 Emails bekommen.
Ich hielt es dann für effizienter, mir im Alarmfall eine VPN Verbindung nach Hause aufzubauen und direkt über die IPCam App gleich alle Kameras auf einen Blick zu haben.
Eine der ersten wichtigen Dinge, die ich über Homematic realisieren sollte, war zu prüfen, OB und welches Fenster offen steht. Mit dem Hilfsmittel einer Systemvariable funktioniert das relativ einfach.
Zuerst muss eine Systemvariable angelegt werden. In meinem Beispiel habe ich sie „Zustand_Fenster“ genannt.
Diese Systemvariable wird, mit den Tür-/Fensterkontakten (TFK) auf mit 15 sekunden auf „offen“ oder sofort auf „geschlossen“ gesetzt. Damit möchte ich ausschließen, dass die Variable „umspringt“, wenn man nur kurz eine Türe oder ein Fenster öffnet.
Mit den Türen funktioniert das genauso. Am Ende nutze ich die Systemvariablen auf meiner Startseite und als Trigger für ein Script, welches mit als Text ausgibt, welche Türe, bzw. welches Fenster offen steht.
Leider finde ich den Beitrag in der Facebookgruppe nicht mehr, indem das Script gepostet wurde. Ich traue mich jetzt mal das Script hier einzustellen, damit es auch andere nutzen können. Aber nochmal. ES IST NICHT VON MIR!
Anleitung:
1. Systemvariable anlagen (TYP Zeichenkette)
2. Neues Gewerk „Verschlusssenoren“ erstellen und alle TFK dort hinzufügen.(WICHTIG: Das Wort „Verschlusssensoren“ mit 3 „S“ schreiben. In dem ursprünglichen Post waren hier nur 2 „S“ im Script.
3. Ein Programm erstellen
WENN: Zum Zeitpunkt auslösen: Alle 5min
ODER: „Bei Änderung auslösen“ – „Zustand_Fenster“ – offen
ODER: „Bei Änderung auslösen“ – „Zustand_Tueren“ – offen
DANN: das untere SKRIPT einfügen.
var sec=dom.GetObject("Verschlusssensoren"); string i; string list; string seit; string itemName; string status_new; string stunde=system.Date("%H").ToInteger(); string minute=system.Date("%M").ToInteger(); string textReplace = "Kontakt"; list=""; integer textReplaceLength = textReplace.Length(); foreach(i,sec.EnumUsedIDs()) { var item=dom.GetObject(i); var dev=dom.GetObject(item.Device()); if((dev.HssType()=="HM-Sec-RHS") || (dev.HssType()=="HM-Sec-SC") || (dev.HssType()=="HmIP-SWDM-B2")|| (dev.HssType()=="HM-Sec-SC-2")|| (dev.HssType()=="HMIP-SWDO")|| (dev.HssType()=="HM-Sec-RHS-2")|| (dev.HssType()=="HM-Sec-SCo")) { var status = item.DPByHssDP("STATE").Value(); if(status.Value()) { if (status == 1 ) { status_new = "gekippt"; } if (status == 2 ) { status_new = "offen"; } itemName=dev.Name(); if(itemName.Length() >= textReplaceLength){ itemName = itemName.Substr(textReplaceLength, itemName.Length() - textReplaceLength); } list=list # itemName #","; } } } if(list.Length() < 5){ list=" Alles geschlossen "; } dom.GetObject("offene Fenster").State(list); WriteLine(list)
Falls sich der Ersteller des Scripts findet, bitte bescheid geben, dann lösche ich den Beitrag oder nenne dich hier als Ersteller.
Und so sieht das dann fertig aus:
Was bei uns recht häufig passiert ist, dass Fenster zum lüften offen stehen und wir aber dann einkaufen oder anderswo hingehen. Wie jeder weiß, bietet ein offenes Fenster Einbrechern ein potentieller Ziel. Um hier entgegenzuwirken, empfiehlt es sich die Rollos bei den betroffenen Fenstern herunterzufahren.
In meinem Programm prüfe ich die Anwesenheit (global), also wenn meine Frau und ich außer Haus sind, und fahre dann die Rollos der betroffenen Fenster auf 50%. So kommt zwar noch Luft durch, aber ein Einbrecher hat es schon deutlich schwerer.
Hier habe ich einen extra Beitrag erstellt. Das Prinzip ist das selbe, wie oben bei den Fenster und ist ebenfalls auch Türen, Ventilstellungen etc. anwendbar.
Die Sammlung wird ständig erweitert, wenn ich Zeit habe und dazu kommen 🙂
Ähnliche Beiträge
3 thoughts on “Logiksammlung mit Homematic”
Schreibe einen Kommentar Antworten abbrechen
Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.
jep, es schaltet alle Lichter der Gruppe „Licht“ ein einfach reinkopieren 😉
Hallo Marc, sicher meinst du das Script hier. https://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/alle-lichter-aus. Da ich nicht alle Lichter eines Gewerkes auf einmal schalten möchte, habe ich einige ausgeschlossen. Das geht sicherlich auch mit einem Script, aber so fit bin ich damit (noch) nicht 🙂
Ich würde das Einschalten des Lichtes über ein Skript lösen – geht schneller 😉