Automatisches Abschalten nach 2 Stunden mit Ping Prüfung

Begonnen von vw2audi, 08 Dezember 2016, 12:03:30

Vorheriges Thema - Nächstes Thema

vw2audi

Hallo zusammen,
ich habe viele FS20 Komponenten und im Schlafzimmer schalte ich damit den Fernseher aus. Dieser lässt sich über W-Lan anpingen.
Wenn die Steckdose manuel geschaltet wird, so findet das Fhem über die Pingprüfung heraus und bekommt so eine indirekte Rückmeldung.
Jetzt möchte ich, damit nicht alles die ganze Nacht läuft, nach 2 Stunden abschalten lassen, wie einen Timer.

Leider schaltet der TV bzw. die Steckdose SZ.TV nicht ab, der Status im Frontend wird aber richtig angzeigt.

Hier mein Code dazu.

define SZ.TV_State PRESENCE lan-ping 192.168.178.9 300
attr SZ.TV_State event-on-change-reading state
attr SZ.TV_State ping_count 2
attr SZ.TV_State room 03.Schlafzimmer

define SZ.TV_present watchdog SZ.TV_State:present 02:00:00 SZ.TV_State:absent set SZ.TV off;; trigger SZ.TV_present
attr SZ.TV_present regexp1WontReactivate 1
attr SZ.TV_present room 03.Schlafzimmer
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

rvideobaer

Hallo,

Ich habe bei mir so etwas mit einer Leistungsmessdose realisiert. Wenn die Leistungsaufnahme unter einen definierten Wert sinkt schaltet die Dose ab.

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

Brice

Zitat von: vw2audi am 08 Dezember 2016, 12:03:30
define SZ.TV_present watchdog SZ.TV_State:present 02:00:00 SZ.TV_State:absent set SZ.TV off;; trigger SZ.TV_present

Da fehlt zumindest mal in Punkt in der Def:
define SZ.TV_present watchdog SZ.TV_State:present 02:00:00 SZ.TV_State:absent set SZ.TV off;; trigger SZ.TV_present .

Bei mir wird die SetTopBox per PRESENCE überwacht und wenn diese offline geht (Reading power = off), werden per notify u.a. FS20 Aktoren (sofern eingeschaltet) ausgeschaltet. Wäre auch ein Weg.
FHEM auf RPi 4 4GB (Buster) | 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

satprofi

mit einer Enigma Box kann man das eleganter lösen, nämlich per Plugin "ExecuteOnPowerEvent".

da sendest du ein netcommand an fhem der einen dummy, etc. schaltet.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Brice

Warum ist es eleganter, ein Plugin auf einer Enigma2-Box zu installieren und dann zu konfigurieren, anstatt ein einfaches einzeiliges Notify zu schreiben?
FHEM auf RPi 4 4GB (Buster) | 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

Pfriemler

ZitatWarum ist es eleganter, ein Plugin auf einer Enigma2-Box zu installieren und dann zu konfigurieren, anstatt ein einfaches einzeiliges Notify zu schreiben?
Auch wenn Du ein Watchdog meinst - aber sonst völlig richtig.

Aber ich habe eben mal den Watchdog angesehen ...
Zitatdefine <name> watchdog <regexp1> <timespec> <regexp2> <command>
Startet einen beliebigen FHEM Befehl wenn nach dem Empfang des Ereignisses <regexp1> nicht innerhalb von <timespec> ein <regexp2> Ereignis empfangen wird.
Also Triggerbedingung ist present, d.h. TV geht an. Abbruch ist absent. Der Watchdog schaltet also den Fernseher hart nach 2 Stunden Betrieb aus, wenn er nicht zuvor manuell ausgeschaltet wurde. Wenn das per FB in den Standby passierte, bleibt die Steckdose aber an, weil die Abbruchbedingung erfüllt wurde (es sei denn, der TV reagiert auch im Standby auf Pings).
Außerdem genügen in dieser Konstellation Erreichbarkeitsprobleme des TV - wenn PRESENCE also etwa im Stundentakt meldet, dass der Fernseher gerade nicht erreichbar ist, ist der Watchdog eh tot und wird bei erneuter Erreichbarkeit wieder neu getriggert.

In jedem Fall ist das also eine Laufzeitbegrenzung und nicht eine Standby->Vollausschaltung, wie hier vermutet wurde. Oder?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Brice

Ich bezog mich auf den von mir aufgezeigten Weg per notify. Um es mal zu verdeutlichen:

Wird bei uns der TV bzw. die VUPlus nach 21:00 Uhr ausgeschaltet, wird per notify das Schalten bestimmter Aktoren aktiviert. Also im WZ alle eingeschalteten Verbraucher aus, im SZ Musik auf den WLan-Lautsprecher streamen, HUEs an. Die Einschränkung nach 21:00 Uhr lief früher per if ($hour >= 21). Mittlerweile über disabledForInterval. Ein watchdog ist bei uns nicht notwendig, da es äußerst selten vorkommt, dass nach Ausschalten des TV noch jemand im WZ bleibt. Damit man nicht sofort im Dunkeln steht, ist das Ping-Intervall entsprechend gesetzt.

Die VUPlus wird beim Ausschalten sofort in den Deep-Standby geschaltet. Im normalen Standby wäre sie per Ping erreichbar -> notify würde fehlschlagen.
FHEM auf RPi 4 4GB (Buster) | 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