Notify oder Watchdog - AVR und Stromsparen

Begonnen von Dersch, 07 November 2016, 09:06:43

Vorheriges Thema - Nächstes Thema

Dersch

Hallo,

wir befinden uns grade dabei unsere Standby Grundlast zu reduzieren, dabei entstehen aber in der Hausautomation wieder neue Probleme auf die reagiert werden muss.

Eins davon ist der OnykoAVR, verbraucht er doch im StandBy fleißig 40 Watt (!!!!!!!! :o !!!!!! vierzig !!!! ich war fassungslos) wurde er nun mit einer schaltbaren Steckdose ruhig gestellt um die Umwelt und unsere Stromrechnung nicht weiter ins Verderben zu treiben.

Nun aber zum eigentlichen Problem:

Wir haben ein Notify um alle notwendigen Geräte zum Filmeschauen einzuschalten wenn ein Dummy an/aus geschaltet wird. Das sieht durch die schaltbare Steckdose nun so aus:

Notify: WzMultimediaAn
WzMultimedia:on set wol_theFAB on; set WzSteckdoseAVR on; sleep 10; set WzSonyTV on; sleep 10; set WzSonyTV input HDMI_2; sleep 35; set WzOnkyoAVR input HTPC; sleep 5; set wol_WzHTPC on; sleep 3; set WzOnkyoAVR input HTPC; sleep 3; set WzOnkyoAVR input HTPC; set sleep 3; set WzOnkyoAVR input HTPC; sleep 3; set WzOnkyoAVR input HTPC

Der Onkyo benötigt nach dem Strom einschalten durch "set WzSteckdoseAVR on" einen undefinierbaren Zeitraum um über sein Onkyo FHEM Modul erreichbar zu sein.
Das ist ein Problem, selbst mit den ganzen Sleeps und wiederholendem set WzOnkyoAVR input HTPC bleibt der AVR manchmal einfach aus.
Es ist momentan ein Glückspiel und das Notfiy ist wirklich nicht schön.

Nun müsste es doch einen schöneren und verlässlichen Ansatz geben.

Eine gute Sache ist schon mal, dass ein Log Eintrag entsteht wenn der AVR erreichbar ist:

2016.11.07 00:06:46 1: 192.168.10.32:60128 reappeared (WzOnkyoAVR)

Dies könnte ich doch nutzen um ihn dann auch erst einzuschalten wenn vorher WzMultimediaAn gesetzt wurde.

Ich dachte erst an einen Watchdog (es wäre mein erster) aber seine Definition
Startet einen beliebigen FHEM Befehl wenn nach dem Empfang des Ereignisses <regexp1> nicht innerhalb von <timespec> ein <regexp2> Ereignis empfangen wird.
sagt mir er ist nicht das Richtige. Denn timespec ist nicht definierbar.

Ein 2tes notify wäre eventuell noch eine Lösung. Wenn dieses das Log nach dem reappear vom OnkyoAVR schaut um ihn dann einzuschalten.

Aber kann man das nicht einfach in das bereits vorhandene notify WzMultimediaAn einbauen?
Eventuell hat jemand noch einen anderen Ansatz.

Grüße
Dirk

rudolfkoenig

ZitatEine gute Sache ist schon mal, dass ein Log Eintrag entsteht wenn der AVR erreichbar ist:
Ich vermute, dass in diesem Fall bereits ein <devname>:CONNECTED Event generiert wird.

Dersch

Nun ja gut möglich, ich habe beim OnkyoAVR diese beiden readings:


state disconnected 2016-11-07 09:29:32
stateAV  absent 2016-11-07 00:38:30


Wie man gut sieht habe ich dann gestern Nacht ca. um 0:38 aufgegeben :) state wird wohl regelmäßig geprüft.

rudolfkoenig

Ich meinte Event, nicht Reading. Und in diesem speziellen Fall macht das einen Unterschied, es wird kein Reading generiert (weiss nicht so recht, warum).

Dersch

Ich war nun der Meinung durch das event wird auch gleich das reading geschrieben daher habe ich das aufgezeigt. Den eventmonitor muss ich mal beobachten oder kann ich das auch nachträglich prüfen?

bartman121

Wenn ich das richtig verstehe, dann ist dein eigentliches Problem, dass die Steckdose nicht zuverlässig eingeschaltet wird.

siehe hier: set WzSteckdoseAVR on

Du kannst in dem betreffenden notify WzSteckdoseAVR:on den Befehl einfach mehrfach ausführen....

Hier mal ein Beispiel wie ich meine 433MHz-Steckdosen (Ohne Rückmeldung) einschalte:


WZ.SOFA:on {
system("/usr/bin/send 00010 1 1");;
fhem("defmod at_SO1 at +00:00:02 {system('/usr/bin/send 00010 1 1 &');;}");
fhem("defmod at_SO2 at +00:00:02 {system('/usr/bin/send 00010 1 1 &');;}");
}


Wie du siehst wird das Kommando dreimal im Abstand von Sekunden gesendet.

Ich vermute bei deinem Fernseher ist das ähnlich (auch Schaltsteckdose (nicht WLAN), sondern 433MHz)...

Ansonsten könntest du dir gleich abgewöhnen die Sleep-Funktion zu nutzen und stattdessen gleich Timer (at) zu machen, auch wenn das sleep-Problem von FHEM ja schon richtig abgefangen wird.


Alternative wäre den Standort der Steckdose zu verändern.

Evtl. hilft das ....


Dersch

Hallo, die Steckdose wird aber zuverlässig geschaltet. Der TV braucht ne Weile nach dem einschalten bis der Input umgeschaltet werden kann. Das Problem ist die Verfügbarkeit im LAN des Onkyo. Das dauert sehr lange und mit unregelmäßigen Timing bis dieser vom Onkyo Modul als nicht absent erkanmt ist.

bartman121

Achso, dann war ich auf dem Woodway :)

Dann könntest du es mal mittels Lan-Ping (http://www.fhemwiki.de/wiki/Anwesenheitserkennung) versuchen, zur Sicherheit aber auch etwa 10 sekunden nach der Anwesenheit im LAN warten bevor du den Eingang umschaltest.

Aber ich denke die Profis haben hier bessere Hilfen parat.