Hallo zusammen,
hat schon jemand gefunden, wie man eine Funktionsüberwachung einrichten kann, die die Info-LED einschaltet, wenn FHEM arbeitet?
Ich würde gerne auf einem Blick erkennen können, ob alles OK ist oder eine Störung vorliegt.
VIele Grüße
Harald
Hallo Harald,
bin auch gerade an diesem Thema dran und habe hier (//www.wehavemorefun.de/fritzbox/LEDs_ansteuern) etwas gefunden.
Ich würde die Funktion in die FritzBoxUtils.pm integrieren, die Info LED wäre aus meiner Sicht prädestiniert für diese Überwachung.
Gruß PeMue
ich glaube die led einfach ein zu schalten gibt keine zuverlässige rückmeldung ob mit fhem alles ok ist. zum beispiel: led an -> fhem stürzt ab -> led ist immer noch an.
um das zu vermeiden muss man regelmäsig etwas an der led tun. also z.b. alle x sekunden zwischen an und aus hin und her schalten.
gruss
andre
Hallo justme1968,
ja richtig, man müsste quasi ein nachtriggerbares Monoflop außerhalb FHEM, also z.B. in der FB, programmieren, was den Triggerimpus von FHEM bekommt. Dieses Monoflop schaltet die LED ein. Wenn der Triggerimpuls ausbleibt, wird die LED nicht mehr auf "Ein" gehalten und verlischt.
Ich habe gerade mal die Befehle auf meiner FB7170 ausprobiert. Bei echo 1,1>/var/led usw. Tut sich nichts, bei /var/mod/root # led-ctrl update_led erhalte ich "permission denied".
Hm, scheint wohl nicht so einfach zu sein?
Viele Grüße
Harald
Habe gerade ohne Erfolg gesucht, in welchen Verzeichnis auf meiner Box "led-ctrl" zu finden. Vielleicht habe ich doch eine "alte" Box und es müsste mit "echo ....." gehen?
Hier eine Liste für die Parameter für den Befehl "echo x.y > /var/led" :
Erste Zahl (x): 1 = Power / 2 = DSL / 3 = LAN / 4 = WLAN / 7 = INFO / 13 = Festnetz / 14 = Internet
Zweite Zahl (y): 1 = aus / 2 = an / 3 = schnell blinken / 4 = langsam blinken
Klappt bei mir aber nicht :-( Fehler gefunden - es geht! Es darf nicht x.y heißen sondern x,y
oder man sagt das blinken ok bedeutet und schaltet innerhalb von fhem immer ein und aus. dann muss man ausserhalb nichts machen.
gruss
andre
Das geht auch nicht. Hat FHEM gerade Blinken EIN geschaltet und stürzt dannn ab, wird Blinken nicht mehr ausgeschaltet. Ich denke, Das Monoflop muss außerhalb von FHEM laufen, sonst ist die Meldung nicht sicher.
Übrigens - dass der Trenner zwischen x und y ein Komma sein muss ist mir jetzt klar. Der Punkt ist verbindet x und y zu einer Dezimalzahl, das Komma trennt die Parameter. Hätte mir auch eher einfallen können ;-)
Viele Grüße
Harald
ich meine nicht von fhem aus das blinken ein zu schalten sondern von fhem aus regelmässig direkt ein und aus zu schalten. also z.b. alle 10 sekunden umschalten.
blinken bedeutet dann alles ist ok, fehlendes blinken egal ob ein oder aus bedeutet problem.
gruss
andre
ja, Du hast recht. Das könnte gehen. Damit nicht soviel Prozessorlast entsteht, könnte man die Blinkfrequenz ja evtl. länger auslegen. Aber das wäre auszuprobieren. Dann braucht man in der FB kein Script dafür zu erstellen.
Ich habe irgendwo gelesen, dass jemand ein Modul geschrieben hat, über das man auf viele Sachen der FB Zugriff hat. Ich kann es aber im Moment nicht finden. Vielleicht kann man das ja verwenden.
Man sollte sich öfter mal was aufschreiben ;-) - und dann geht die Suche in den Notizen los -
Viele Grüße
Harald
Hallo Harald,
ich verweise mal auf meine ersten Gehversuche (//forum.fhem.de/index.php?t=getfile&id=3623&rid=309). Werde noch daran arbeiten und auch das LED Blinken einbauen, habe aber gerade recht wenig Zeit.
Wenn die Fritz Box die LED umschalten soll, dann sollte cron laufen. Leider ist das bei der Fritz Box 7170 nicht der Fall ...
Gruß PeMue
Danke PeMue,
genau das habe ich gemeint. Das muss ich im Wiki bei meiner Suche übersehen haben.
Das werde ich mal ausprobieren.
Warum muss für die Ansteuerung der LED's cron laufen? Bei meiner 7170 läuft cron nicht und ich kann trotzdem über Telnet mit "echo 7,2 > /var/led" die Info-LED ein- und mit "echo 7,1 > /var/led" wieder ausschalten.
Viele Grüße und schönen Abend noch
Harald
Hallo Harald,
ich meinte, wenn Du per fhem die LEDs einschaltest und mit einer anderen Instanz (z.B. Fritz Box, wie oben diskutiert) die LEDs wieder ausschaltest (z.B. 2 s später) dann bräuchtest Du cron auf der Fritz Box.
Gruß PeMue
Besten Dank PeMue,
jetzt habe ich verstanden. In meiner 7170 mit Freetz 1.2 könnte ich den crond starten und ein Script laufen lassen. Aber ich glaube, das ist nicht nötig.
In meinem Perl-Anfängerhirn schwebt die Idee, das man das evtl. mit at +* Taktzeit, toggle oder on-for-timer und echo 7,2>... bzw. 7,1>... oder so ähnlich realisieren könnte. Da muss ich aber noch viel "Perl" lernen, um das hin zu bekommen.
Viele Grüße
Harald
einen dummy kannst du z.b. damit toggeln und mit qx das echo ausführen:
define blink.state dummy
define blink.at at +*00:00:05 { my $current = Value("blink.state");;\
\
if( $current eq "on" ) {\
$current = "off";;\
qx( echo ... );;\
} else {\
$current = "on";;\
qx( echo ... );;\
}\
\
fhem( "set blink.state $current" );;\
\
}
effizienter ist es aber statt qx und echo das file mit open auf zu machen und direkt rein zu schreiben: if(open(FH, ">/var/led")) {\
print FH "X,Y\n";;\
close(FH);;\
}\
gruss
andre
Danke andre für Deine Hilfe,
ich habe die Version 1 in meine fhem.cfg eingetragen und es klappt prima. Jetzt werde ich mal versuchen, eine Subroutine zu erstellen und diese in die 99_myUtils.pm einzufügen. Mal sehe, ob mir das gelingt.
Viele Grüße
Harald
Und hier noch die Echo-Befehle zum ansteuern der LED's.
http://www.wehavemorefun.de/fritzbox/index.php/LEDs_ansteuern (//www.wehavemorefun.de/fritzbox/index.php/LEDs_ansteuern)