Autor Thema: Licht nach x Minuten aus, wenn enigma2-Receiver Status wechselt von on nach off  (Gelesen 4935 mal)

Offline der_da

  • Full Member
  • ***
  • Beiträge: 179
  • Quis custodiet ipsos custodes?
Hallo liebes Forum,

bisher war ich nur stiller Mitleser und habe seit einiger Zeit meine FHEM-Installation am laufen. Ich habe eine (für mich) knifflige Aufgabe, die ich nicht so recht hinbekomme:
Wenn abends der TV ausgeschaltet wird, muss ich derzeit manuell die letzten Lichter ausschalten (oder man schaltet halt zu einer festen Uhrzeit automatisch).
Schön wäre es, wenn die Hausautomation so schlau wäre, und nach dem Ausschalten des TV (Enigma2-Receiver) nach einiger Zeit die diversen Lichter selbst ausschalten würde.
Mit
get TVReceiver powerkann ich ja den Zustand des Receivers abfragen. Aber wie bekomme ich mit, dass der Receiver (sagen wir zw. 20:00 und 22:30) an gewesen ist und jetzt aus ist. Ich will ja verhindern, dass das Licht einfach ausgeschaltet wird, nur weil mal kein fernsehen geguckt wurde.
FHEM 5.9@RPi2 - raspbian jessie: ***zensiert durch EU-Uploadfilter***
RPi2 - raspbian stretch: Reverse-Proxy mit Let'sEncrypt-TLS-Zertifikat für Zugriff auf FHEM über das Internet
RPi3 - OSMC: Mediencenter; RPi2 pi-hole.net

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g
Falls der TVReceiver einen event generiert, wenn er ausgeschaltet wird, kannst Du einfach ein notify definieren, das darauf reagiert.

define Licht_aus notify TVReceiver.off set Licht on-for-timer 1800
Dann geht 1800 Sekunden (30 Minuten) nach dem Abschalten des Receivers das Licht aus.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline der_da

  • Full Member
  • ***
  • Beiträge: 179
  • Quis custodiet ipsos custodes?
Hmm - Danke, aber ...  :)

Das Event sieht so aus:
ENIGMA2 Wz.TvReceiver power: offund mein notify so:
Wz.TvReceiver:off set Fernsehboard on-for-timer 10nur 10 Sekunden, damit ich nicht so lange warten muss, bis das Licht ausgeht :-)
Leider geht das Licht aber nicht aus :-\
Wenn ich es richtig verstehe, dann bedeutet Wz.TvReceiver:off in meinem notify, egal ob power: off oder irgendwas: off das notify auslöst. Das sollte dann doch so gehen - oder?
FHEM 5.9@RPi2 - raspbian jessie: ***zensiert durch EU-Uploadfilter***
RPi2 - raspbian stretch: Reverse-Proxy mit Let'sEncrypt-TLS-Zertifikat für Zugriff auf FHEM über das Internet
RPi3 - OSMC: Mediencenter; RPi2 pi-hole.net

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5520
Du musst auf das exakte Event reagieren bzw. RegEx verwenden. off != power: off. Mit deinem notify reagierst du nur auf state.

Sowas

define Licht_aus notify TVReceiver.power.*off set Licht on-for-timer 1800
könnte funktionieren, je nachdem, was durch das Device noch für Events ausgelöst werden, aber zu ungenau sein.

Wie das Event ganz genau aussieht, kannst du auch mit der sub Log feststellen, falls es noch nicht passt.

Bitte mit den Grundlagen beschäftigen.
« Letzte Änderung: 11 Januar 2016, 12:34:55 von marvin78 »

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g
Sowas

define Licht_aus notify TVReceiver.power.*off set Licht on-for-timer 1800
könnte funktionieren,

Da fehlte das Wz. davor ;)

define Licht_aus notify Wz.TvReceiver.power..off set FernsehBoard on-for-timer 1800
Wie das Event ganz genau aussieht,

wissen wir ja:

Das Event sieht so aus:
ENIGMA2 Wz.TvReceiver power: off
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5520
Wenn das stimmt, schon. Ich traue Usern nicht, die nicht einmal wissen, dass jedes Reading ein eigenes Event erzeugen kann.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g
Ich traue Usern nicht, die nicht einmal wissen, dass jedes Reading ein eigenes Event erzeugen kann.

Denk mal bitte zurück an Deine Anfangszeit von fhem. War Dir von der ersten Minute an klar, wie die Begriffe "event" und "reading" zusammenhängen?
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5520
Bevor ich mich an sowas hier gewagt habe, wusste ich das, ja. Ich lese deutlich länger hier mit, als ich Hausautomation tatsächlich betreibe. ;) Aber ich bin kein Maßstab, ITler und ich habe das auch nicht als Vorwurf gemeint. Ich glaube bloß nicht ohne Vorbehalt, dass Angaben über das Event stimmen und zudem wollte ich eine weitere Möglichkeit aufzeigen, mit der man das Event heraus findet (der Event-Monitor ist hier nicht immer 100% hilfreich bzw. anstrengend bei vielen Events).

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g
Ich traue Usern nicht, die nicht einmal wissen,

Eine solche Aussage finde ich gegenüber einem Fragesteller mit erkennbar weniger als 10 Beiträgen trotzdem unpassend.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5520
Das ist deine Meinung. Meine ist eine andere. Ich sage nur, was ich denke und das ist nunmal, dass ich so einer Aussage nicht traue.

Wir sollten den Thread des Users aber nicht für diesen Kram kapern. Das ist nämlich wirklich unpassend.


Offline Brice

  • Sr. Member
  • ****
  • Beiträge: 540
Interessante Idee, muss auch automatisieren, wenn mein Enigma2-Modul wieder läuft.
Wz.TvReceiver:off set Fernsehboard on-for-timer 10
sollte so funktionieren:
Wz.TvReceiver:set_off.* set Fernsehboard on-for-timer 10
Und wenn du nicht möchtest, das beim Ausschalten des Receiver am Nachmittag das Licht für 10 Sekunden angeht, gibst du eine eine Bedingung mit, z.B.
Wz.TvReceiver:set_off.* if (hour >=21) set Fernsehboard on-for-timer 10
FHEM auf RPi 3 (Stretch 9.6) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080
FHEM auf RPi 2 (Jessie) | GPIO_PIR | mpd/mpc
FHEM auf RPi 3 (Stretch 9.4) | Roomba 676

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g

Wz.TvReceiver:set_off.* if (hour >=21) set Fernsehboard on-for-timer 10


Das funktioniert so definitiv nicht.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline Brice

  • Sr. Member
  • ****
  • Beiträge: 540
Richtig, war ungetestet. Nachdem ich meine VUPlus Uno wieder in FHEM eingebinden konnte, habe ich es für mich so gelöst:

SetTopBox:power:.off {if (ReadingsVal("LED_TV","state","on")) { fhem "set LED_TV on-for-timer 10" }}
FHEM auf RPi 3 (Stretch 9.6) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080
FHEM auf RPi 2 (Jessie) | GPIO_PIR | mpd/mpc
FHEM auf RPi 3 (Stretch 9.4) | Roomba 676

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16058
  • s/fhem\.cfg/configDB/g
das ist keine Lösung, denn das kann auch nicht funktionieren...
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline Brice

  • Sr. Member
  • ****
  • Beiträge: 540
Funktioniert, sogar mit der Structure Licht. Und nein, ich bin nicht blind...

Warum sollte es nicht funktionieren, wo sollte der Fehler liegen? Bei mir: Vu+ Uno, diverse FS20ST und HUE.
FHEM auf RPi 3 (Stretch 9.6) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080
FHEM auf RPi 2 (Jessie) | GPIO_PIR | mpd/mpc
FHEM auf RPi 3 (Stretch 9.4) | Roomba 676

 

decade-submarginal