FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ChristianH am 18 September 2017, 20:40:33

Titel: notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 18 September 2017, 20:40:33
Hallo in die Runde,

Ich bräuchte maöl eure Hilfe - ich möchte die state Änderung meines Sat Receivers zum Schalten einer Lampe nutzen (wenn aus, dann kann 15 min später auch das Licht im Wohnzimmer aus usw.)

Folgendes habe ich definiert:

DEF                  wz.SATReceiver:state:off set IT_V3_Dose4 off
NAME             ntest
NOTIFYDEV     wz.SATReceiver
REGEXP          wz.SATReceiver:state:off
STATE             active
TYPE               notify

Irgendwie löst die State Änderung vom wz.SATReceiver von "on" zu "off" nichts aus - habe ich hier einen Denkfehler? "set IT_V3_Dose4 off/on" funktioniert händisch perfekt.

Gruss und Danke

Christian
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: KölnSolar am 19 September 2017, 07:36:45
versuch es mal ohne state:  ;)

Die events/regex immer so aufbauen, wie sie im event monitor zu sehen sind. Dort kannst Du Dir ein notify auch über den Create/Modify Device Button erzeugen lassen.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: pcbastler am 19 September 2017, 08:54:40
Ich mach das ähnlich mit einem notify, TV aus -> Licht aus.
DEF: SonyTV:off.* {fhem("set WZ_Licht_Sw off")}
REGEXP: SonyTV:off.*
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 09:17:05
Wer bringt den Anfängern bloß den Unsinn bei auf Perlebene gehen zu müssen bei einem einfachen set Befehl.

DEF: SonyTV:off.* set WZ_Licht_Sw off


Und es sollte nur ein off ohne weitere RegEx auf Zeichen reichen

DEF: SonyTV:off set WZ_Licht_Sw off

Es sei denn im Event steht hinter off noch mehr



wz.SATReceiver:off set IT_V3_Dose4 $EVENT

Sollte reichen.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: pcbastler am 19 September 2017, 12:14:40
Sorry, ich hab nur den passenden Ausschnitt gepostet.
Komplett sieht das DEF so aus:

SonyTV:off.* {fhem("IF ([WZ_Fenster] eq \"closed\") (set WZ_heiz1_Clima controlMode auto)"); fhem ("set WZ_Licht_Sw off")}


Anders hab ich das mit IF und mehreren Befehlen einfach nicht hinbekommen :(
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 12:26:52
Zitat von: pcbastler am 19 September 2017, 12:14:40
Sorry, ich hab nur den passenden Ausschnitt gepostet.
Komplett sieht das DEF so aus:

SonyTV:off.* {fhem("IF ([WZ_Fenster] eq \"closed\") (set WZ_heiz1_Clima controlMode auto)"); fhem ("set WZ_Licht_Sw off")}


Anders hab ich das mit IF und mehreren Befehlen einfach nicht hinbekommen :(

Da Du das FHEM IF verwendest brauchst Du auch hier nicht auf Perlebene gehen. Schau mal bitte in die Commandref wie man es macht.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Otto123 am 19 September 2017, 12:34:25
Würde ich so versuchen (DEF), das Erste ist die IF Bedingung, das Zweite nach dem Semikolon einfach ein Befehl
SonyTV:off.* IF ([WZ_Fenster] eq "closed") (set WZ_heiz1_Clima controlMode auto); set WZ_Licht_Sw off

Quelle
https://fhem.de/commandref_DE.html#command
https://fhem.de/commandref_DE.html#IF

@Christian Zur eigentlichen Frage: Beachte unbedingt den Hinweis von Kölnsolar! https://wiki.fhem.de/wiki/Event_monitor

Gruß Otto
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 12:37:06
Danke Dir Otto


Grüße
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Hoggle am 19 September 2017, 13:00:36
Hallo.
Ich hänge mich da mal an, auch auf die Gefahr der Steinigung ???:

Mein Receiver ist aus, also State:off und die Dämmerung setzt ein. Meine Lampe (wz.Schranklicht) geht an

defmod Wz.Lichtsim.on at *{sunset("REAL",-1000,"16:00","22:15")} set  Wz.Schranklicht on

Naja, das Licht geht 1000 Sekunden früher an  ;)

So wie es bei uns üblich ist, setzen wir uns irgendwann vor den Fernseher und schalten den Receiver an (State:on)

jetzt gibt es aber 2 Situatione, wann das Licht (wz.sch...) ausgehen soll:

1. Wenn wir nicht zuhause sind, dann geht es ein paar Stunden nach Sonnenuntergang aus (Das kann ich und hab ich wie folgt gemacht):

defmod Wz.Lichtsim.off at *{sunset("REAL",10000,"16:00","22:15")} set  Wz.Schranklicht off


ABER: Wenn der Fernseher läuft, dann soll das Licht erst 1 Minute nach dem ausschalten des Receivers ausgehen. Da scheine ich zu blöd zu sein.
Wie kann ich das denn einbinden? Ich habe an ein IF gedacht, oder sollte ich auf doif schauen? Kann mir da jemand weiterhelfen?
Mir fehlt die Zeitverzögerung. Wenn das Licht ausgehen soll, wenn der Fernseher ausgeht, dann sehe ich kein Problem, aber ich möchte ja noch bis in die Küche kommen, ohne gegen die Tür zu treten (Ich glaube, die verschiebt sich im dunkeln  ::)
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 13:08:55
Du könntest ein sleep davor setzen
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Hoggle am 19 September 2017, 14:05:04
Zitat von: CoolTux am 19 September 2017, 13:08:55
Du könntest ein sleep davor setzen

Mhh, das habe ich verstanden, aber wenn der Fernseher an ist, dann möchte ich das Licht ja nicht 10000 Sekunden nach Sonnenuntergang ausschalten (Mit oder ohne sleep) sondern erst, wenn der Fernseher ausgeschaltet wird und dann mit 60 Sekunden Verzögerung.

Bin leider nicht zuhause, aber vom Verständnis her, kann das wie folgt funktionieren??:

defmod Wz.Lichtsim.off at *{sunset("REAL",10000,"16:00","22:15")} IF ([receiver:state] = off) (set  Wz.Schranklicht off)

und dann mit nem Notify beim ausschalten des receivers mit einem sleep 60 das licht ausschalten??:
defmod n_WZ_schranksch notify ([receiver] eq "off") (sleep 60) (set  Wz.Schranklicht off)

Hab ich da irgend etwas richtig gemacht? ???
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 14:23:57
Leider nein


defmod n_WZ_schranksch notify receiver:off sleep 60; set  Wz.Schranklicht off
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 19 September 2017, 18:14:12
Sehr cool - nun läuft es. Nun haben ja einige in diesem Thread ähnliche Vorhaben geäussert - ich dachte, alles weitere wäre einfach. Wie kombiniere ich das den mit eine Bedingung von "nur zwischen 22:00-23:55" ..... also nur innerhalb der knapp 2h soll ein Receiver ausschalten auch den Licht auschalten (mit sleep verzögert).

Danke für eure Hilfe

Christian
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 18:32:10
Dafür hatte ich mir mal Code geklaut und hier angeboten. Mom ich schaue.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 19 September 2017, 18:33:30
Gefunden

https://forum.fhem.de/index.php/topic,76660.0.html

Bei Fragen fragen
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Amenophis86 am 20 September 2017, 06:21:56
Alternativ auf DOIF wechseln ;)
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 20 September 2017, 14:17:10
Und wie würde das gehen?

Habe VOR der Idee folgendes für das Wohnzimmer definiert:

( ([6:00-9:00|123] or [15:00-23:55|123] or [6:00-23:55|4560]) and [twilight:light] <= 5)
  (set Wohnzimmerbeleuchtung  on)
DOELSE
  (set Wohnzimmerbeleuchtung  off)


wie kombiniere ich das nun mit dem Receiver state "off"?

Christian
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Amenophis86 am 20 September 2017, 14:28:51
a) bitte Codetags nutzen :)
b) Du konntest diese DOIF selbst bauen und weißt nicht, wie du noch die Prüfung rein bekommst, ob der State von Receiver off ist? Wie haste dann geschafft zu wissen, wie du den Status des Reading light von Twilight rein bekommst?
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 20 September 2017, 15:12:43
Geklaut ;)

Und ausserdem weiss ich nicht, wie DOIF sich im laufenden Betrieb verhält - also wie oft wird das DO geprüft ob das IF zutrifft- einmal beim Erreichen des ersten Zeitpunkts des angegebenen Zeitframes oder periodisch immer wieder?

Bin übrigens mit dem Twilight nicht so glücklich.

Christian
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Otto123 am 20 September 2017, 15:18:22
Dann nimmst Du den Eventmonitor -> https://wiki.fhem.de/wiki/Event_monitor
Schaltest den receiver off, suchst Dir die Zeile aus die genau diesen Event eindeutig enthält, markierst die, lässt Dir ein DOIF erzeugen und baust dann die gewonnene Erkenntnis in deine Bedingung mit ein.  ;)

Gruß Otto
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Amenophis86 am 20 September 2017, 15:21:58
Bezüglich der Frage, wie sich DOIF verhält verweise ich mal auf die CommandRef. DOIF ist sehr komplex und schreckt sicher auch ab, wenn man die CommandRef dazu liest. Aber Damian hat trotz der Komplexität eine sehr gut CommandRef geschrieben (finde ich) mit einigen Beispielen. Daher lesen und dann gerne konkrete Fragen im Unterboard DOIF stellen, oder hier, wenn es Bezug zur Frage hat.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 20 September 2017, 15:23:44
Und wieso willst Du Dich jetzt noch mit DOIF quälen? Alles was Du machen musst ist die kleine myUtils einbauen und eine Abfrage in Deinem jetzigen Code einbauen.
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: Amenophis86 am 20 September 2017, 15:24:56
Ich habe ihn nicht gezwungen, habe es nur als Alternative vorgeschlagen :)
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 20 September 2017, 16:38:24
Danke euch beiden ....

Fragen an CoolTux


DANKE!

Christian

Und ja, ich versuche es zu lernen
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 20 September 2017, 17:27:42
Immer eins nach dem anderen
https://wiki.fhem.de/wiki/99_myUtils_anlegen
Erstmal das hier und dann kommt das notify
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 20 September 2017, 19:49:34
Erledigt! Also 99_myUtils.pm

Christian
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: CoolTux am 20 September 2017, 19:58:59

defmod n_WZ_schranksch notify receiver:off { fhem("sleep 60; set  Wz.Schranklicht off") if( isInTime("22:00-23:55")); }


So sollte es gehen. Kannst auch mal testen. In der FHEMWEB Befehlszeile oben einfach eingeben

{ isInTime("22:00-23:55") }


Grüße
Titel: Antw:notify help - SAT receiver state off --> Licht aus
Beitrag von: ChristianH am 20 September 2017, 20:11:11
Zumindest der ReturnValue toggled   :P ... teste mal das Ganze heute Abend