Modus Schlafen

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 :wink:

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 :frowning:

Mir fallen spontan 3 Möglichkeiten ein:

  1. 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.

  2. 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.

  3. 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.

1 Like

Hey fantross,

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 :slight_smile:

Hab die Variante mit “”-App heute Nacht getestet und es funktioniert sehr gut. Schlafen/Aufwachen wird erkannt. Perfekt!

Prima! Gern geschehen.

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.

Ich bräuchte hier nochmal einen Tipp von Euch:

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:

Den Modus “Schlafend” nutze ich dann in anderen Flows.

Problem:
Wenn 1 oder mehrere Personen nicht da sind, also “Abwesend”, dann triggert das halt nicht:

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.

1 Like

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.

1 Like

Ok, Du musst also eine halbe Fußballmannschaft managen… :wink:

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.