[gelöst] scene ausführen nach sunset

Begonnen von tomspatz, 26 November 2016, 17:29:00

Vorheriges Thema - Nächstes Thema

tomspatz

BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0)}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)

So sieht das aus, es soll nach Ankunft und nach sunset die ComingHomeBeleuchtung schalten.
Ich habe das noch nicht scharf weil es mir komisch aussieht.
Im Moment mache ich das noch mit einen watchdog aber dort geht sunset nicht
Könnte das mal jemand checken oder mich auf den richtigen Weg schicken bitte.
LG
Tom

Ellert

Sunset liefert einen Zeitpunkt. Daher wird Deine Bedingung nur wahr, wenn zu diesem Zeitpunkt eine Statusaktualisierung "home" von "Haus" stattfindet. Das ist äusserst unwahrscheinlich. Du solltest eine Zeitspanne angeben.

tomspatz

Danke Ellert
ich glaube dank deiner Aussage habe ich es jetzt verstanden.
In den WiKis etc. stehen immer Beispiele mit "nicht vor 17:00 Uhr und nicht nach 21:00 Uhr" oä.
Zeitspanne ist das Zauberwort. oh mannnnnnn

BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0,"15:00","20:00")}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
so sollte es sein denke ich.

Was ich nur noch nicht ganz drinne habe ist der Trigger.
Solang Bewohner zu Hause sind ist ja:
Haus eq "home"
Dieser Zustand ändert sich in:
Haus eq "absent"
wenn keiner zu Hause ist, was ja auch so sein soll.
Kommt jetzt wer Heim wird home gesetzt und das DOIF feuert ab wenn der Zeitraum passt.
Aber was ist wenn den ganzen Tag jemand zu Hause ist, also sich der Trigger NICHT ändert.
Sollte doch alles ruhig bleiben.
Also was ich erreichen möchte ist das das Licht halt NUR angeht wenn zum Zeitraum jemand heim kommt.

LG
Tom
der sich gerade ziemlich kompliziert anstelllt

Brockmann

Zitat von: tomspatz am 27 November 2016, 19:44:11
BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0,"15:00","20:00")}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
so sollte es sein denke ich.
Nö. Wie Ellert schon schrieb: sunset liefert immer nur einen Zeitpunkt. Dein DOIF wäre also nur zu genau diesem einen Zeitpunkt wahr.
Was Du brauchst ist sowas:
BewohnerKommenHeimLicht DOIF ([{sunset("REAL",0)}-20:00] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
Dann hast Du ein Intervall von Sonnenuntergang bis 20:00 Uhr. Damit das ganze nur passiert, wenn sich [Haus] ändert, triggerst Du auf das entsprechende Event:
BewohnerKommenHeimLicht DOIF ([{sunset("REAL",0)}-20:00] and ["^Haus$:home"]) (set ComingHomeBeleuchtung scene an)
Ungetestet und ohne Gewähr.

Muschelpuster

Zitat von: Brockmann am 28 November 2016, 09:06:39BewohnerKommenHeimLicht DOIF ([{sunset("REAL",0)}-20:00] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
Das ist ja cool - in der Kürze liegt eben mal wieder die Würze.
Ich hätte jetzt gesagt, wenn sunset < Systemzeit und 15:00-20:00, dann ...
Aber so hat das was  ;)

interessierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

tomspatz

BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0)}-{sunrise("REAL",0)}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)

Und so habe ich den "gesamten" oder interessanten Zeitraum abgedeckt.
LG
Tom

tomspatz

Jetzt muss ich das nochmals hervor holen.
Auch wenn es tatsächlich so funktioniert
BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0)}-{sunrise("REAL",0)}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
Habe ich scheinbar ein Problem mit dem Haus state, dieses kommt vom RESIDENTS Modul und aktualisiert sich immer.
Also meine Frau ist da, Haus ist home, ich komme heim wird dieser aktualisiert und das Licht geht an.
Habe probiert dem entgegenzuwirken mit
attr BewohnerKommenHeimLicht checkReadingEvent 1
aber entweder tut das nicht oder ich habe es nicht verstanden.

Ellert

Zitat von: tomspatz am 07 Dezember 2016, 18:43:14
Jetzt muss ich das nochmals hervor holen.
Auch wenn es tatsächlich so funktioniert
BewohnerKommenHeimLicht DOIF ([?{sunset("REAL",0)}-{sunrise("REAL",0)}] and [Haus] eq "home") (set ComingHomeBeleuchtung scene an)
Habe ich scheinbar ein Problem mit dem Haus state, dieses kommt vom RESIDENTS Modul und aktualisiert sich immer.
Also meine Frau ist da, Haus ist home, ich komme heim wird dieser aktualisiert und das Licht geht an.
Habe probiert dem entgegenzuwirken mit
attr BewohnerKommenHeimLicht checkReadingEvent 1
aber entweder tut das nicht oder ich habe es nicht verstanden.

Du könntest fürs Haus das Attribut event-on-change-reading setzen.

tomspatz

Danke Ellert
Du könntest fürs Haus das Attribut event-on-change-reading setzen.
Das war das entscheidende.
DOIF ist echt heavy.
LG Tom