Moin Leute
ich würde mir gerne in FHEM die Statuswerte meiner Firtzbox anzeigen lassen. Quasi die, die im Screenshot zu sehen sind. Aus dem Wikieintrag werd ich nicht wirklich schlau. Kann mir da jemand helfen?
oh, da wirst du wohl selbst programmieren müssen. Die im Screenshot angezeigten Werte mußt du aus der API heraus holen. Und was in der API drin steckt, erschliesst sich nach ausgiebigem Studium von wehavemorefun:
http://www.wehavemorefun.de/fritzbox/User-Interface-Module
Einiges davon ist mit SYSMON machbar.
(http://forum.fhem.de/index.php?action=dlattach;topic=27889.0;attach=20017;image)
Bei mir läuft auf der FB FHEM mit einer SYSMON-Instanz. Verbunden mit dem 'HauptFHEM' per FHEM2FHEM und mit SYSMON_ShowValuesHTMLTitled angezeigt:
# Anzeige SYSMON : FB
define SysValuesFB weblink htmlCode {SYSMON_ShowValuesHTMLTitled('fb_sysmon', '<b>FritzBox 7490</b>', ('date:Date','uptime_text:System up time','fhemuptime_text:FHEM up time','idletime_text:Idle','loadavg:Load average','ram:RAM','swap:swap','fs_nand:NAND','fs_var:/var','fs_usb1:USB','fs_online:Online','internet_state:Internet','internet_ip:IP','wlan_state:WLAN','wlan_guest_state:Guest WLAN','dsl_rate:DSL rate','dsl_synctime:DSLAM connected','dsl_fec_15:recoverable errors','dsl_crc_15:unrecoverable errors','fhem_version:FHEM version'))}
Hmm. FHEM will ich nicht auf der Fritzbox haben. Schade hätte gehofft, da gibts schon ne fertige Variante für.^^
Sie ist ja vertig, die Variante, aber eben mit FHEM ;)
Es gibt sicher auch anderer Weg (UPNP?), aber dazu hat leider noch niemand ein Modul geschrieben.
Gibt es hier nach aktuellem Stand irgendwelche Neuerungen?
Würde gerne den Internet-Reconnect der FritzBox loggen.
Mit dem aktuellen Modul so leider immer noch nicht möglich, oder?
Das Fritzbox-Modul liefert doch schon einiges. Z.B. wird mi dem Reading box_ipExtern die aktuelle IP-Adresse der Internet-Verbindung geliefert. Wenn man deren Änderung beobachtet, hat man eigentlich schon die Reconnects erkannt. Fehlt die Verbindung, steht da ein '-' drin.
Weitere Infos wird man u.U. auch über TR064 erhalten können, dessen Zugriff dieses Modul ebenfalls ermöglicht.
PS: Unter dem Eintrag "box_connect" findet man auch die Anzahl der Connections seit dem letzten Boot-Vorgang der Fritz!Box. Auf dessen Änderungen könnte dann beispielsweise mit einem DOIF oder notify reagieren.
Zitat von: SCMP77 am 07 Februar 2018, 18:11:42
Das Fritzbox-Modul liefert doch schon einiges. Z.B. wird mi dem Reading box_ipExtern die aktuelle IP-Adresse der Internet-Verbindung geliefert. Wenn man deren Änderung beobachtet, hat man eigentlich schon die Reconnects erkannt. Fehlt die Verbindung, steht da ein '-' drin.
Weitere Infos wird man u.U. auch über TR064 erhalten können, dessen Zugriff dieses Modul ebenfalls ermöglicht.
Kann ich leider Aufgrund statischer IP nicht wirklich nutzen.
Zitat von: SCMP77 am 07 Februar 2018, 18:11:42
PS: Unter dem Eintrag "box_connect" findet man auch die Anzahl der Connections seit dem letzten Boot-Vorgang der Fritz!Box. Auf dessen Änderungen könnte dann beispielsweise mit einem DOIF oder notify reagieren.
Habe das über ein notify mit Pushmsg Benachrichtigung getestet, bekomme das aber leider mit der "Änderung" nicht hin.
Müsste ja quasi den alten Wert in einem Userreading speichern und dann vergleichen oder?
Zitat von: MauiJim am 08 Februar 2018, 12:55:59
Kann ich leider Aufgrund statischer IP nicht wirklich nutzen.
Mmmmhh, das verstehe ich nicht ganz.
Das Modul hat zwei Möglichkeiten, wenn die Fritz!Box noch als DHCP-Server arbeitet (Default) müsste sie unter dem URL "fritz.box" zugänglich sein. Wenn Du das in der Fritz!Box ausgeschaltet haben solltest, kannst Du die IP unter dem Attribut "fritzBoxIP" setzen.
Zitat von: MauiJim am 08 Februar 2018, 12:55:59Habe das über ein notify mit Pushmsg Benachrichtigung getestet, bekomme das aber leider mit der "Änderung" nicht hin.
Müsste ja quasi den alten Wert in einem Userreading speichern und dann vergleichen oder?
Also für Deine Beobachtung von neuen Connection-Aufbaus müsstest Du für das Reading "box_connect" das Attribute "event-on-change-reading" setzen. Also etwa so:
attr <FritzBoxDevicename> event-on-change-reading box_connect
Dann sollte immer nur ein Event kommen, wenn der Connection-Zähler sich geändert hat. Dadurch benötigt man kein userreading o.ä..
Dann kannst Du mit einem notify darauf reagiren, z.B.:
define n_FritzBoxConnection notify <FritzBoxDevicename>:box_connect.* <fhem-Befehl>
Natürlich würde auch ein DOIF gehen, aber damit kenne ich mich nicht aus, da ich die Reaktionen auf ein notify in Perl schreibe und ich so nicht eine weiter "Programmiersprache" lernen muss ;).
Vielen Dank :)
Hatte das kurzfristig so gelöst:
fritz:box_connect:.* {
if ( $EVTPART1 > AttrVal("fritz", "last_box_connect", 0) ) {
fhem("set pushmsg msg \"FritzBox new connect $EVTPART1\";attr fritz last_box_connect $EVTPART1;");
}
}
Da ist die Lösung via event-on-change-reading natürlich eleganter ;)
So geht es natürlich auch. Ein eher theoretischer Nachteil dieser Lösung ist der leicht höhere Resourcenverbrauch. Mit event-on-change-reading wird der Event schon recht früh abgefangen, eh der etwas aufwendigere Eventhandling-Mechanismus gestartet wird (Interpretation von regex etc.).
Da defaultmäßig der Event von dem FRITZBOX-Modul nur alle 5 Minuten abgesetzt wird, ist der Unterschied aber nur theoretischer Natur.
Bei häufig vorkommenden Events sollte man das schon im Auge behalten, da Fhem rein synchron arbeitet, alle notifies eines Events müssen erst abgefertigt sein, ehe das nächste Event abgearbeitet werden kann.
Habe jetzt mal zum Testen die tägliche Zwangstrennung wieder in der FritzBox aktiviert.
Leider zeigt der box_connect immer noch 5 an, obwohl die Daten in fhem aktualisiert wurden.
Kann sich das jemand erklären?
Zitat von: MauiJim am 09 Februar 2018, 09:59:27Kann sich das jemand erklären?
Ich vermute, dass das Userreading so abgefragt werden müsste:
ReadingsVal("fritz","last_box_connect",0)
es geht um das Reading box_connect des Fritz Moduls, nicht um mein Attribut last_box_connect ;)
Zitat von: MauiJim am 09 Februar 2018, 09:59:27
Habe jetzt mal zum Testen die tägliche Zwangstrennung wieder in der FritzBox aktiviert.
Ich habe es jetzt bei mir auch angesehen, ja, Du hast recht, der steht auch bei mir immer auf 5, scheint also zumindest mit der aktuellen FB-FW-Version nicht zu gehen.
Ich denke aber, dass man mit Hilfe der TR064-Befehle der Sache Herr werden könnte. So liefert beispielsweise der TR064-Befehl
"get <FritzBoxDevice> tr064Command DeviceInfo:1 deviceinfo GetInfo"
u.a. folgende Information unter dem parameter "NewDeviceLog":
"10.02.18 15:19:56 Internetverbindung wurde erfolgreich hergestellt. IP-Adresse: ......"
Wenn man das regelmäßig mitloggt (z.B. alle 5 Minuten), erkennt man an einem Datums-/Uhrzeit-Wechsel eine reconnection.
Unter den vielen TR064-Befehlen findet man vielleicht aber noch etwas passsenderes.
Hallo Allerseits,
eine Frage an die Fritzbox Profis hier, wie kann ich mir in FHEM anzeigen lassen ob bei einem Telefon was an der Fritzbox hängt der grüne Hörer gedrückt wurde, sprich jemand das Amtszeichen im Hörer hat. Hintergrund, die Fritzbox hat doch so eine Info LED für verpasste Anrufe bzw ob der AB dran war. Nun steht die Box bei mir ungünstig so das ich diese LED nie sehe. Dafür habe ich mir ein Mysensors Gerät mit einer Neopixel LED gebastelt was auch anzeigt wann ich welche Mülltonne rausstellen muss. Zusätzlich zeigt es mir nun an ob jemand angerufen hat, das klappt bereits wunderbar. Nun möchte ich aber den Status am Mysensors Gerät zurücksetzen indem ich einfach den Hörer am Tel abnehme bzw wenn der AB dran war **600 wähle. Nur wie sehe ich das im Callmonitor?
Grobby