Ich weiss, dass das Thema Schlafen bereits öfters hier diskutiert wurde. In meiner Wohnung möchte ich auch erkennen, wenn alle Schlafen und habe dafür einen Modus “Schlafen” angelegt, den ich entsprechend aktivieren möchte.
Folgende Situation:
Erwachsene (meine Frau und ich :-))
Als Benutzer/Admin in Homey eingetragen
Erkennung: per Withings Sleeping Analyzer
Wird bei Schlaferkennung der Withings-Matte auf Schlafend gesetzt
Kind 1
Als Gast in Homey eingetragen (hat ein Handy mit Homey-App)
Erkennung: alle Lampen im Kinderzimmer aus, Fenster auf, es ist nach 21 Uhr
Wenn Bedingungen erfüllt - auf Schlafend setzen
Kind 2
Nicht in Homey
Erkennung: nicht notwendig, schläft eh ab 20 Uhr vor den Erwachsenen
Folgendes Problem habe ich:
Die Erkennung bei Kind 1 möchte ich per Advanced-Flow machen. Aber was nutze ich als WENN (IF) Bedingung ? Ich werde da nicht schlau draus. Ich würde auf jeden Fall für die UND-Bedingung verwenden:
Anwesenheit → Kind 1 ist daheim
Datum & Zeit → Die Zeit ist zwischen 21:00 und 01:00 Uhr
Zimmer → Alle Geräte für Lampe sind ausgeschaltet
Fenster → Alarm ist angegangen (weil Fenster auf)
Habt ihr einen Tipp für mich, was ich sinnvollerweise als Träger für WENN nutzen sollte ?
Stehe irgendwie auf dem Schlauch
Die einfachste Variante wäre den Flow alle x Minuten triggern zu lassen und dann alle Bedingungen (Und…) abzufragen. Nachteil: Der Schlafstatus wird zeitversetzt gesetzt.
Jede Lampe dahingehend überwachen, ob diese ausgeschaltet wird. Als Bedingung (Und…) müssen die anderen Lampen auch ausgeschaltet sein. Nachteil: Je mehr Lampen einbezogen werden müssen, umso komplexer wird Flow.
Mit der App < Gruppe > könnte man Variante 2 deutlich vereinfachen, indem man die Lampen in einem neuen Gerät zusammenfasst. Nachteil: Es wird eine zusätzliche App benötigt.
Habe jetzt mal 3 Lampen vorausgesetzt. Das ganze funktioniert natürlich auch mit 2 oder 6 Lampen.
Info zu der Datum & Zeit Karte: Da es mal Probleme mit der Zeitkarte gab wenn der Zeitraum über einen Tag hinaus ging, also von 21:00 (z.B. Dienstag) bis 01:00 Uhr (z.B. Mittwoch), habe ich mir angewöhnt die Abfrage genau andersherum zu machen. In diesem Fall also:
Der Zeitraum darf nicht (orange Linie) zwischen 01:00 und 21:00 Uhr liegen.
Es kann allerdings durchaus sein, dass dieses Problem überhaupt nicht mehr existiert.
echt genial! Die 3. Variante scheint mir am vielversprechendsten. Das probiere ich mal aus!
Bei Variante 2 wird es tatsächlich sehr komplex. Der Check alle x Minuten wäre natürlich eine einfache Option, die mir aber nicht wirklich gefällt.
Aber auf jeden Fall vielen Dank!
Ich bin gleichmal am Testen
Variante 2 ist aber eigentlich auch nicht so schwer. Man könnte für jede Lampe auch einen separaten Flow erstellen. Dann benötigt man in Summe zwar mehr Flow-Karten weil die Bedingungs-Karten (Und…) mehrfach benötigt werden, aber jeder Flow für sich ist dann trotzdem etwas übersichtlicher.
Ich persönlich ziehe solche Flows vor, weil man damit nicht auf eine zusätzliche App angewiesen ist.
Da hast Du sicherlich Recht. Die zusätzlichen Apps scheinen manchmal nach 1-2 Jahren intensiver Pflege in einen Dornröschenschlaf zu fallen. Das ist sehr schade. Besser wären Entwicklergruppen mit Github, damit die Weiterentwicklung sichergestellt ist.
Advanced Flows finde ich richtig super! War auch ein Grund zurück zum Homey zu kommen (hab den neuen 2023 - vorher mal 1 Jahr lang den alten runden Pro). Damit geht vieles einfacher, ist sehr übersichtlich.
Was aktuell gut funktioniert: wenn alle 4 Kinder und die beiden Erwachsenen schlafen gehen, kann ich die Karte “Die letzte Person ist schlafen gegangen” nutzen. Das sieht so aus:
Und der das Attribut “Schlafend” wird auch nur gesetzt, wenn man in der Wohnung ist. Habt Ihr einen Tipp, wie ich das lösen kann - also das sich “Die letzte Person ist schlafen gegangen” auch nur auf die Bewohner mit “Zuhause” Status bezieht?
Ich hab schon überlegt 2 Variablen zu nutzen:
Bewohner Abwesend = 0
Bewohner Schlafend = 0
Und dann setze ich das hoch/runter. Bei Erreichen von 6 in Summe müsste der Schlafmodus triggern. Aber irgendwie hätte ich erwartet, dass der Homey sowas selber macht. Oder?
Genau so geht es. Du musst die aktuelle Zahl der Anwesenden in eine Variable schreiben.
Identisch dazu, musst du eine Variable mit der Anzahl der Schlafenden zählen lassen.
Stimmen beide Variablen überein, kannst du den Schlafmodus triggern.
Kannst Du das etwas genauer definieren bzw. ein Beispiel nennen? Meinst Du z.B. wenn einer der Erwachsenen auf Dienstreise ist? Oder wenn einer der Erwachsenen später nach Hause kommt, während alle anderen schon im Bett liegen?
Ich habe im Homey alle Bewohner als Nutzer angelegt. Dabei haben die Eltern ein iPhone, die 2 älteren Kinder ein Android-Telefon und die 2 kleinsten gar kein Telefon - aber ein Beacon im Rucksack.
Die Erkennung der Anwesenheit hab ich so gelöst:
Eltern → Homey App Geofence
Kinder mit Android → Fritzbox Erkennung ob Handy da/weg
Kinder ohne Handy → Beacon da/weg
Und das Schlafen erkenne ich so:
Eltern → Withings Schlafmatte
Kinder → wenn Uhrzeit zwischen 20:00 und 6:00 Uhr UND Licht aus UND Fenster auf
Jetzt sind die beiden Großen gerade nicht da. Also sind die als “Abwesend” markiert. Die Kleinen und Eltern sind zu Hause und “Anwesend”.
Bisher nutze ich “Wenn alle Nutzer schlafen” zum setzen eines virtuellen Gerätes “Schalfend”. Da die beiden Großen aber nicht schlafen können, weil die ja weg sind, geht der Trigger “Wenn alle Nutzer schlafen” nicht.
Wie beschrieben hab ich 2 Variablen erstellt:
Bewohner Schlafend
Bewohner Abwesend
Wenn die Summe der beiden Variablen = 6 ist, dann schalte ich den Modus Schlafend. Warum? Dann kann ich die Automatik für Licht-bei-Bewegung in einigen Räumen abschalten und die Überwachung des Außenperimeter aktivieren.
Mit den Variablen hab ich mich erst etwas schwergetan, aber die Bestätigung von @Undertaker hat mir geholfen.
Ok, Du musst also eine halbe Fußballmannschaft managen…
Wenn eine oder mehrere Person/en gar nicht zuhause übernachten, z.B. wg. Dienstreise oder Schulausflug, dann hätte ich das vermutlich über die IcalCalender App geregelt.
Sollten die 2 älteren Kids allerdings erst dann nach Hause kommen wenn Eltern und die zwei jüngsten bereits im Bett liegen (= Schlafmodus aktiviert), dann wäre das über die IcalCalender App eigentlich nicht realisierbar.
Apropos, kommt sowas schon mal vor? Also das der Schlafmodus bereits aktiviert wurde und dann aber noch Personen nach Hause kommen? Wenn ja, dann müsste man dafür ja auch zusätzliche Szenarien ausdenken.