Bewohner gotosleep morgens wieder "rückgängig machen"

Begonnen von d0m2011, 20 April 2017, 21:05:51

Vorheriges Thema - Nächstes Thema

d0m2011

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

KernSani

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...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011

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.

CoolTux

Weil du das Residents Device steuerst statt den Roommate.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011

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?

CoolTux

Wieso Notify. Für ein Notify sollte ein Event vorhanden sein. Hast Du ein Event?

set rr_Helga:FILTER=STATE=home gotosleep
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011

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

CoolTux


sw_couch2:on set Dominik:FILTER=STATE=home gotosleep

Setzte Dominik gotosleep wenn der STATE home ist!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011

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

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011


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>

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

d0m2011

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?

CoolTux


set TYPE=ROOMMATE:FILTER=STATE=gotosleep home


Setzte alle Devices vom Type Roommate.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net