NEWS
Abfragen und Steuern von Geräten bei Abwesenheit
-
Hallo zusammen!
Ich bin aktuell dabei, mich etwas mehr mit ioBroker und Blockly zu beschäftigen. Im Forum habe ich schon ein paar coole Anregungen gefunden und z.B. die Anwensendheitserkennung per WLAN nachgebaut. Die Funktioniert generell auch gut, wenn ich ein Gerät damit schalte. Was ich aber nicht hinbekomme, dass das Skript mehrere Geräte prüft und diese nur schaltet, falls eine Bedingung erfüllt ist. Zur Verdeutlichung hier mal in Pseudocode:
WENN iPhone.active = false DANN WENN Stehlampe an DANN steuere Stehlampe (schalte Lampe aus) WENN Deckenlampe an DANN steuere Deckenlampe (schalte Lampe WENN Fernseher an DANN steuere Fernseher (schalte Fernseher aus)
Also im Prinzip soll das Skript mehrere Geräte abfragen, ob diese noch an sind, und falls sie an sind, soll das Skript die Geräte ausschalten. Ich habe das schon in dieser Struktur versucht umzusetzen, aber wenn dann z.B. die Stehlampe aus war, aber der Fernseher an, hat das Skript quasi nach der Stehlampe abgebrochen, da die ja aus war. Der Fernseher wurde einfach laufen gelassen und wurde nicht abgeschaltet.
Gibt es eine Funktion, wo man das ganze so umsetzen kann? Ich stehe gerade etwas auf dem Schlauch
Würde mich über einen kurzen Denk-/Umsetzungsanstoß riesig freuen
Danke vorab und noch einen schönen Tag
-
-
Ah okay, also funktioniert es doch so, wie ich ursprünglich dachte. Danke für den Tipp
Ich habe allerdings noch ein weiteres kleines Problem. Vorerst funktioniert alles so wie gedacht, aber ich bräuchte 2 Objekte als Trigger, die mit einem "oder" verknüpft sind. Das habe ich bisher nicht hinbekommen.
Auf der Grafik ist der Trigger (1) mein iPhone. Wenn sich der Verbindungsstatus des Handys mit der Fritzbox ändert, soll die Prüfung durchlaufen, ob mein iPhone (2) im Wlan aktiv ist und ob das Handy meiner Freundin (3) auch im Wlan aktiv ist. Sind beide inaktiv, sollen der Fernseher (4) und die Stehlampe (5) automatisch ausgeschaltet werden.
Problem dabei, der Routine läuft nur durch, wenn mein Handy den Verbindungsstatus mit der Fritzbox ändert, nicht wenn das meiner Freundin den Verbindungsstatus ändert. Entsprechend bräuchte ich eine elegante Möglichkeit, wie ich den Trigger auf "WENN Handy1 ODER Handy2 den Verbindungsstatus ändern ...", ohne zwei separate Skripte daraus zu machen. Gibt es da eine Möglichkeit?
-
@laest Nur mal so als Denkansatz...das Ganze mag zwar in 98% aller Fälle funktionieren. Aber vielleicht habt Ihr doch mal Besucher. Gerade dann musst Du kurz weg. Deinen Besuchern knipst Du dann (vermutlich mit Verzögerung da die FritzBox spät die Abwesenheit mitbekommt) das Licht und den Fernseher aus.
Aus meiner Sicht sind es genau diese seltenen Szenarien, die ein "Smart Home" nicht so smart erscheinen lassen. Je nachdem wie bei Dir die Lage kann es stimmen, muss aber nicht.
Bei 1 kannst Du m.E. die Kombi von 2&3 nehmen, nur das "und" durch ein "oder" tauschen. Dann prüft er bei jedem "Anwesenheitswechsel" ob beide falsch sind.
-
In meiner aktuellen Wohnsituation ist es zu 0% der Fall, dass Besuch hier ist und weder meine Freundin noch ich in der Wohnung sind. Aktuell geht es mir auch nur darum, das ganze mal umzusetzen, ob es langfristig Sinn macht sei mal dahingestellt
Aber danke für den Hinweis
Die Verzögerung der Fritzbox sind so ca. 3-10 Sekunden.
Eine Verkettung mit dem "oder" Baustein in Blockly ist bei mir nicht möglich, zumindest nicht mit den "Object ID _" Blöcken. Wenn ich stattdessen die "Wert von Object ID _" Blöcke einsetze, lässt Biobroker mich die beiden Blöcke mit einem Oder verbinden, das Skript wird aber nicht mehr ausgeführt.
-
@laest
Im Trigger darf keine zusätzlich Logik mit rein und das ODER macht er eh schon intern, wenn auf mehrere Objekte getriggert wird. -
Ich würde noch eine Variable einbauen
Licht_automatisch schalten_bei_Abwesenheit
So mache ich das. Ich steuere somit ob bestimmte Lichter bei Abwesenheit geschaltet werden sollen oder nicht. Bei mir soll auch bei Abwesenheit die Ambiente Beleuchtung im Garten schalten aber nicht die im Haus. Ich habe also mehrere von den Variablen oben je nach Raum. Außerdem eine für die Heizung. Damit kann ich steuern ob die normale Zeitsteuerung gilt wenn ich Abwesend bin oder eben die Heizung komplett aus ist....
Vorteil man kann ganz schnell eingreifen ohne jedesmal am Script rumfummeln zu müssen...
-