Hallo zusammen,
abends, wenn ich ins Bett gehe, nutze ich die Funktion "Bewohner:gotosleep".
Dadurch werden verschiedene Aktionen ausgeführt (Licht aus, Tablet dimmen, usw.).
Nun, am Morgen, möchte ich die Bewohner jedoch wieder auf den Status "home" setzen.
Soweit so gut -> Gelöst per "at set Bewohner home"
Jedoch habe ich insgesamt zwei Bewohner wodurch folgendes Problem entsteht:
Ist nur einer zu Hause und geht ins Bett, werden alle Bewohner auf "gotosleep" gesetzt.
Am Morgen wenn dann alle Bewohner auf "home" gesetzt, was ja nicht stimmt.
Die Folge: Einige Funktionen werden dann nicht funktionieren falls einer anschließend aus dem Haus geht und der andere immer noch auf "home" steht.
Ist es möglich, wenn ich auf die Funktion "gotosleep" nutze, den Status der Bewohner zu speichern und anschließend am Morgen zurück zu schreiben?
Hier noch einmal etwas übersichtlicher:
Bewohner 1 = home & Bewohner 2 = absent -> "gotosleep" -> Bewohner 1 & 2 = gotosleep -> Morgens "at set Bewohner home
Bewohner 1 = home & Bewohner 2 = home
Ich nehme an du verwendest ROOMMATE/RESIDENTS? Dann sollte der abwesende Bewohner eigentlich garnicht auf "gotosleep" gehen, sondern absent bleiben... RESIDENT berücksichtig nur anwesende ROOMMATES, sprich wenn der einzig anwesende Bewohner schlafen geht, geht das Haus auch schlafen...
Du schaltest anscheinend das Residents Device. Das sollte man möglichst vermeiden und lediglich die Roommates schalten. Ich würde eher dafür sorgen das die entsprechenden Roommates abends auf gotosleep und danach auf aslepp gesetzt werden. Per Hand oder über Wecker stellen und morgens sich die Bewohner auf home stellen. Kann man auch mit Tastern machen.
Ja richtig.
Du hast Recht:
Benutzer 1 = absent
Benutzer 2 = gotosleep
Morgens kann ich dann den Benutzer 2 wieder auf home setzten.
Benutzer 1 bleibt absent.
Doch wie kann ich das automatisieren?
Dann darf ich ja nur den Bewohner, welcher zu Hause ist, von "home" auf "gotosleep" und wieder zurück setzen.
Am Tablet (Wandhalterung) setzt FHEM jedoch beide Bewohner auf gotosleep.
Weil du das Residents Device steuerst statt den Roommate.
Okay dann müsste ich den Roommate schalten.
Jedoch nur den, der den status "home" besitzt.
Wie könnte ich das mit einem notify machen?
Wieso Notify. Für ein Notify sollte ein Event vorhanden sein. Hast Du ein Event?
set rr_Helga:FILTER=STATE=home gotosleep
1. Ich hätte ein Event -> Taster im Wohnzimmer löst "gotosleep" aus.
Hiermit gelöst:
sw_couch2:on { if (ReadingsVal("Dominik","state",0) eq "home") { fhem("set Dominik gotosleep") }}
Das ganze würde ich dann morgens mit at wieder rückgängig machen -> Wenn Bewohner = gotosleep -> set Bewohner home
2. Möchte ich jedoch das ganze am Tablet (inkl. Tablet UI und Bewohnerstatus) umsetzen.
Wenn ich dort auf "Night" klicke setzt er alle Bewohner auf gotosleep.
-> Daher müsstest Du mir deinen Ansatz bitte erklären.
set rr_Helga:FILTER=STATE=home gotosleep
sw_couch2:on set Dominik:FILTER=STATE=home gotosleep
Setzte Dominik gotosleep wenn der STATE home ist!
Gut!
Das gleiche mache ich mit dem zweiten Bewohner.
Verstanden, funktioniert auch.
Doch wie löse ich das Ganze am Tablet UI?
Wenn ich dort auf "Night" klicke, setzt er Bewohner (und damit alle) auf gotosleep
Was ist den Night für ein Widget bei Dir?
Folgendes habe ich benutzt. Das landet leider auf "Bewohner"
<li data-row="5" data-col="3" data-sizex="3" data-sizey="1.5">
<div data-type="homestatus"
data-device="Bewohner"
data-get="STATE"
data-get-on='["home","gotosleep","absent","gone"]'
data-alias='["Home","Night","Away","Holiday"]'
data-icons='["fa-home","fa-bed","fa-car","fa-suitcase"]'>
</div>
</li>
Zitat von: d0m2011 am 20 April 2017, 22:22:21
Folgendes habe ich benutzt. Das landet leider auf "Bewohner"
<li data-row="5" data-col="3" data-sizex="3" data-sizey="1.5">
<div data-type="homestatus"
data-device="Bewohner"
data-get="STATE"
data-get-on='["home","gotosleep","absent","gone"]'
data-alias='["Home","Night","Away","Holiday"]'
data-icons='["fa-home","fa-bed","fa-car","fa-suitcase"]'>
</div>
</li>
Setze es auf Dominik und mache pro Bewohner/Roommate ein Widget.
Ach genial!
Das ist natürlich auch eine sehr gute Lösung!
Perfekt.
Morgen, um die Bewohner wieder auf "home" zu setzen habe ich folgendes definiert:
*06:00:00 set Bewohner1:FILTER=STATE=gotosleep home; set Bewohner2:FILTER=STATE=gotosleep home
Ist die Lösung okay oder gibt es eine schickere?
set TYPE=ROOMMATE:FILTER=STATE=gotosleep home
Setzte alle Devices vom Type Roommate.
Ah noch besser, danke!
Jetzt könntest Du mir nur noch verraten, wie du oben rechts die allgemeinen "homestatus" anzeigen lässt.
Widget Symbol und Device das Residentsdevice. Bei Dir also Bewohner
Schläft Leon eigentlich nie? ;-)
;D
Doch doch, werde ich auch gleich mal tun. Müsste nur noch warten bis der frisch gewischte Parkett Fußboden trocken ist. :D