Inhalt
Konfigurationsoptionen
- Fritzbox-IP: Die IP der Fritzbox. Ist die Fritzbox der verwendete Router, wird diese automatisch erkannt.
- Fritzbox-Login: Loginname der Fritzbox wenn die Fritzbox so eingestellt wurde, dass zur Anmeldung auch ein Username notwendig ist
- Fritzbox-Passwort: Passwort des Fritzboxusers, der Zugriff auf das Telefonbuch hat
- FB Telefonbuch verwenden: Ob das Fritzboxtelefonbuch zur Übersetzung der Telefonnummern genutzt werden soll (wird nur aktiviert, wenn der angegebene Benutzer Zugriff auf das Telefonbuch hat)
- MiniServer: Auswahl eines vorkonfigurierten MiniServer.
- MiniServer UDP-Port: Der UDP-Port an den der Callmonitor die UDP-Daten an den MiniServer sendet.
- Daten an diesen MiniServer senden: Sollen die Callmonitor-Daten an diesen MiniServer gesendet werden?
Werden Daten zu einem MiniServer geändert, wird der "Angaben speichern"-Button aktiviert. Sollen die Änderungen verworfen werden, muss nur an anderer MiniServer ausgewählt oder die Seite verlassen werden. Das Speichern der Angaben erfolgt stets nur für den ausgewählten MiniServer.
Achtung: Es wurde festgestellt, dass der MiniServer bestimmte Port blockiert. Diese können nicht als Empfangsport genutzt werden. Leider wird man von der Konfig hier nicht darüber informiert. So geht z.B. in der Version 8.1.11.11 der Port 7777 nicht als UDP-Empfangsport. Sollten also an einem gewählten Port keine Informationen ankommen (UDP-Monitor in der Konfig), einfach andere Ports ausprobieren.
Einrichtungshilfe
DSL Informationen abrufen
Der hier enthaltene Link wird bei einem HTTP-Eingang in der Loxone-Config als URL angegeben.
Als Rückgabe erhält man 2 Arrays mit den gewünschten Information zu Verbindungsgeschwindigkeit der DSL-Leitung sowie der aktuellen Übertragungsdaten.
Die Rückgabe könnte in etwa so aussehen:
Array
(
[NewWANAccessType] => DSL
[NewLayer1UpstreamMaxBitRate] => 10047000
[NewLayer1DownstreamMaxBitRate] => 51392000
[NewPhysicalLinkStatus] => Up
)
Array
(
[NewByteSendRate] => 1855
[NewByteReceiveRate] => 1556
[NewPacketSendRate] => 0
[NewPacketReceiveRate] => 0
[NewTotalBytesSent] => 797936112
[NewTotalBytesReceived] => 2067940879
[NewAutoDisconnectTime] => 0
[NewIdleDisconnectTime] => 0
[NewDNSServer1] => 217.237.149.142
[NewDNSServer2] => 217.237.150.205
[NewVoipDNSServer1] => 217.237.149.142
[NewVoipDNSServer2] => 217.237.150.205
[NewUpnpControlEnabled] => 0
[NewRoutedBridgedModeBoth] => 1
)
Über die Befehlserkennung können dann z.B. folgende Werte ausgelesen werden.
- Uploadgeschwindigkeit der DSL-Leitung: NewLayer1UpstreamMaxBitRate] => \v
- Downloadgeschwindigkeit der DSL-Leitung: NewLayer1DownstreamMaxBitRate] => \v
- gesamte gesendete Bytes: NewTotalBytesSent] => \v
- gesamte empfangene Bytes: NewTotalBytesReceived] => \v
Bei diesen Angaben handelt es sich im Byteangaben. Diese können bei Belieben durch 1024 dividiert werden um zu kB → MB zu kommen.
Zu beachten ist, dass die Gesamtwerte zu groß für die interne Verarbeitung im Miniserver sein können. Bei 4.294.967.296 ist hier Schluss.
Wlan aktivieren/deaktivieren
Hier findet man Einstellungsbeispiele für virtuelle Ausgänge um vom MiniServer aus das WLAN zu aktivieren oder deaktivieren.
Um diese Funktion nutzen zu können ist ein Login für die Fritzbox notwendig welche die Berechtigung hat die WLAN Einstellungen zu ändern. Zum Einen kann das Adminpasswort verwendet werden, es ist hier nicht nötig einen Benutzernamen anzugeben. Zum Anderen kann ein spezieller User angelegt werden. Dies kann unter System->FRITZ!Box-Benutzer erledigt werden. Weiterhin muss der Zugriff für Anwendungen freigegeben sein. Dies kann man unter Heimnetz→Heimnetzübersicht und dann im rechten Fenster den Register Netzwerkeinstellungen. Hier müssen die entsprechenden Zugriffe freigegeben werden.
Ist diese geschehen, legt man in der Loxone-Config einen virtuellen Ausgang an. Die Adresse die hier anzugeben ist, ist http://<IP-des-Loxberry> (kann aus der Einrichtungshilfe entnommen werden). Damit nicht jeder über den Loxberry das WLAN oder sonstiges schalten kann, muss auch der Loxberry Benutzer und das dazugehörige Passwort eingegeben werden. In diesem virtuellen Ausgang wird dann ein virtueller Ausgang Befehl angelegt. Die Befehle die hier einzutragen sind, können aus der Einrichtungshilfe entnommen werden. Die Befehle aus der Einrichtungshilfe enden mit WLAN=. Hier fehlt am Ende noch eine Zahl von 1-3. Diese Zahl stellt das WLAN dar, welches geändert werden soll. Die Zahlen stehen für:
- 1 = Das private 2,4GHz WLAN
- 2 = Das private 5GHz WLAN wenn die Fritzbox darüber verfügt, oder das Gäste-WLAN
- 3 = Das Gäste-WLAN wenn die Fritzbox über ein 5GHz WLAN verfügt
Das Ende eine Befehls sieht dann z.B. so aus ....&WLAN=1
DECT Aktoren schalten
Hier werden Befehle aufgelistet, die in der Config verwendet werden können um vom MiniServer aus Aktoren zu schalten oder Informationen dazu abzufragen.
Das Ganze funktioniert analog zum aktivieren/deaktivieren des WLAN.
Im Anschluss sind dann die Links zum An-und Abschalten des Aktoren. Die Abfrage der Informationen funktioniert etwas anders. Hier sollen ja auch die Rückgabewerte verarbeitet werden, als benutzt man dafür einen virtuellen HTTP-Eingang und verwendet die hierfür angegebene URL. Auch hier wird der Loxberry-Benutzer mit seinem Passwort benötigt. Als Rückgabe kommt dann eine Ausgabe wie Folgende:
Array
(
[NewDeviceId] => 16
[NewFunctionBitMask] => 896
[NewFirmwareVersion] => 03.59
[NewManufacturer] => AVM
[NewProductName] => FRITZ!DECT 200
[NewDeviceName] => FRITZ!DECT 200 #1
[NewPresent] => CONNECTED
[NewMultimeterIsEnabled] => ENABLED
[NewMultimeterIsValid] => VALID
[NewMultimeterPower] => 0
[NewMultimeterEnergy] => 17
[NewTemperatureIsEnabled] => ENABLED
[NewTemperatureIsValid] => VALID
[NewTemperatureCelsius] => 220
[NewTemperatureOffset] => 0
[NewSwitchIsEnabled] => ENABLED
[NewSwitchIsValid] => VALID
[NewSwitchState] => OFF
[NewSwitchMode] => MANUAL
[NewSwitchLock] => 0
[NewHkrIsEnabled] => DISABLED
[NewHkrIsValid] => INVALID
[NewHkrIsTemperature] => 0
[NewHkrSetVentilStatus] => CLOSED
[NewHkrSetTemperature] => 0
[NewHkrReduceVentilStatus] => CLOSED
[NewHkrReduceTemperature] => 0
[NewHkrComfortVentilStatus] => CLOSED
[NewHkrComfortTemperature] => 0
)
Über die Befehlserkennung können dann z.B. folgende Werte ausgelesen werden.
- die aktuelle Temperatur: NewTemperatureCelsius] => \v
- die aktuelle Leistung: NewMultimeterPower] => \v
der Verbrauch: NewMultimeterEnergy] => \v
- der Schaltstatus: NewSwitchState] => O\1 (der Ausgabewert ist hier der ASCII-Code von N (78) für ON oder F (70) für OFF)
Die Werte für Temperatur, Leistung und Verbrauch sind durch 10 zu teilen.
Sollten keine Aktoren vorhanden sein aber Informationen von anderen DECT Geräten abgefragt werden, muss sich die entsprechende URL selbst zusammengebaut werden. Ein Beispiel hierfür wäre:
http://loxberry:DEIN-loxberry-PASSWORT@loxberry/admin/plugins/fritzlox/FBHelper.php?cmd=DECTgetInfo&DECTAIN=DEINE+AIN
Das Leerzeichen in der AIN ist wie im Beispiel durch ein + zu ersetzen.
DECT Modul auslesen
Mit dem Befehl
DECT Ventilantriebe
Mit der Version 1.1.2 wurde die Steuerung der Ventilantriebe hinzugefügt. Hiermit ist es möglich die Solltemperatur des Antriebes zu setzen. Wie auch bei den DECT Aktoren, werden auch hier die Links für die Config im Plugin-GUI bereitgestellt.
Achtung! Das Plugin ist NICHT schneller als die Fritzbox selbst. Es kann auch hier bis zu 15min dauern bis der Wert am Antrieb übernommen wird.
MQTT publishing
In Version 1.1.2 wurde MQTT publishing für den callmonitor hinzugefügt. Für MQTT muss das MQTT-Gateway von Christian Fenzl installiert sein. Ist es installiert muss nichts eingestellt werden. Es sucht sich die Einstellungen selbst und verwendet es. Die Topics sind folgend aufgebaut fritzlox/callmonitor/<Leitung/ConnID>/... als Werte werden event (ring, call, connect, disconnect), caller, recipient, duration übergeben.
Download
- Das Plugin ist hier erhältlich: https://github.com/svethi/Loxberry-Plugin-Fritz.Lox/archive/fritzlox-1.1.2.zip
- (Letzte Version für den LB < 1: https://github.com/svethi/Loxberry-Plugin-Fritz.Lox/archive/fritzlox-0.5.9.zip)
Funktion des Plugin
Um den Callmonitor nutzen zu können, ist es notwendig den Callmonitor der Fritzbox zu aktivieren. Hierfür muss man an einem angeschlossenen analogen Telefon #96*5* wählen und danach wieder auflegen. Abgeschaltet wird er wieder über #96*4*.
Ist er aktiviert und der Loxberry neu gestartet, werden die Informationen zu ankommenden und abgehenden Anrufen an die konfigurierten MiniServer weitergereicht. Dies geschieht auf 2 unterschiedlichen Wegen. Ein Teil der Informationen, reine Zahlendaten, werden per UDP an den MiniServer geschickt. Die Telefonnummern können z.B. führenden Nullen enthalten und sind daher keine reinen Zahlenwerte. Diese lassen sich nicht über den UDP-Befehlserkenner einlesen. Daher werden diese direkt an den vordefinierte virtuelle Texteingänge des MiniServer "gepusht". Sind alle Daten an den MiniServer übergeben, wird noch ein kurzer Impuls geschickt, damit eine Auswerten innerhalb der Config erfolgen kann wenn alle Daten auch vorhanden sind.
Ebenso ist es möglich das WLAN über Web-Requests an-und abzuschalten.
Einrichtung in der Loxone Configsoftware
Das Plugin wurde für die Verwendung mit dem virtuellen UDP-Eingängen und virtuellen Texteingängen entwickelt. Detailierte Informationen hierzu gibt es in der Loxone Dokumentation.
Im virtuellen UDP Eingang wird dann bei Sendeadresse die IP-Adresse des Loxberry angegeben und beim UDP-Empfangsport der Port, der im Plugin für diesen MiniServer angegeben wurde. In diesem virtuellen UDP-Eingang sind dann 3 Werte relevant. Diese werden über virtuelle UDP-Eingang Befehle eingelesen. Diese sind:
- ConnectionId (Line): ist die Nummer der Leitung über die die entsprechende Verbindung läuft. Befehlserkennung: \s17;callmonitor;\v
- Duration (Dauer): ist die Dauer der Verbindung die am Ende der Verbindung übergeben wird. Befehlserkennung: \s17;callmonitor;\#;\#;\#;\w;\#;\#;\v
- Satus: ist die Art der Information: 0-Leitung frei; 1-ankommender Anruf; 2-Verbindung wurde aufgebaut; 3-abgehender Anruf; 4-Leitung wieder frei: Befehlserkennung: \s17;callmonitor;\#;\#;\#;\w;\#;\v
- Caller; Recipient; Extension werden aus dem CallMonitor der Fritzbox weitergegeben sind aber nicht mehr relevant.
Zu beachten ist, dass es ja durchaus sein kann, das 2 gleichzeitige Gespräche geführt werden und daher bei allen Informationen die dazugehörige Leitung ausgewertet werden muss, damit die weiteren Daten auch für die entsprechende Verbindung angezeigt werden.
Wie bereits oben beschrieben ist es in der Loxone Config nicht so einfach mit Texten umzugehen. Aus diesem Grund werden die Telefonnummern nunmehr direkt in festdefinierte virtuelle Texteingänge geschickt. Diese sind nach dem Schema:
- CMCallerX
- CMRecX
zu benennen. Das X steht hierbei für eine Leitungsnummer (0-4). Die anzulegenden virtuellen Texteingänge für die 1.Leitung wären also CMCaller1 und CMRec1. Das Ganze dann für so viele Leitungen wie überwacht werden sollen. Wenn ich es richtig in Erinnerung habe kann die Fritzbox gleichzeitig 2 Festleitungen und 3 Sip-Leitungen gleichzeitig verwalten. Damit müssten in Summe 10 virtuelle Texteingänge angelegt werden. Da ich nicht über so viele Leitungen verfüge, habe ich den Callmonitor mal für 4 Leitungen bei mir angelegt. Als letztes kommt noch ein virtueller Eingang:
- CMImp
als Digitaleingang hinzu. Dieser wird verwendet um Timingprobleme zu kompensieren. Die Reihenfolge bei Senden der Informationen sieht so aus.
- Senden der Textdaten (Caller und Recipient)
- Senden der UDPDaten (ConnId, Duration, Status)
- Senden des Impulses CMImp
Somit ist stets klar, dass bei einem CMImp alle Werte aktualisiert sind und verarbeitet werden können. Nach dem Ende der Verbindung werden Caller und Recipient nicht zurückgesetzt und bleiben bis zum nächsten Gespräch und/oder MiniServer-Neustart bestehen.
Im Diskussionsthema im Loxforum habe ich eine Beispielkonfiguration hinterlegt, die einen Beispiel-Callmonitor mit Visualisierung zeigt. In diesem müssen natürlich die IP-Adresse und der UDP-Empfangsport entsprechend angepasst werden.
Achtung: Seit Version 7 der LoxoneConfig. Funktioniert der Tracker nicht mehr. Dieses speichert keine Texte mehr und listet daher nur noch 1 auf.
29.01.2017 - Im Forum ist nun eine neue Beispielkonfig vorhanden, die einen Workarroud bietet. Nicht schick, aber funktioniert. Danke nochmals an Wolfgang vom Loxone-Support für diesen WA
Fehler melden
Fehlerberichte bitte direkt im Loxforum melden.
24 Comments
Lars Diekmann
Hallo,
ich bekomme die Ausgabe der Telefonbucheinträge hin. Es wird nur die Rufnummer übertragen. Was mache ich hier falsch?
Gruß Lars
Benjamin Schneider
Tolles Plugin! Leider werden Fritzbox Passwörter mit Sonderzeichen am Anfang nicht richtig geparsed. Einfach mal in der Weboberfläche Passwort "!asdffdk" eingeben und dann im fbhelper oben ein echo $FBPass machen dann sieht man es gleich. Ist nur ein kleiner Bug aber wohl der Behebung wert
Vielen Dank für das tolle Plugin!
Martin Wiecha
Hatte das gleiche Problem - bei mir war ein Ausrufezeichen am Ende des Passworts und schon parst er die Konfigurationspasswort-Datei nicht mehr (leeres Array).
Wenn die Werte im Konfigfile in Anführungszeichen gesetzt werden geht es problemlos auch mit Sonderzeichen - vielleicht wäre das was für's nächste Update...
Ansonsten tolles Plugin - vielen Dank dafür!
Sven Thierfelder
Hi Leute,
ich habe das hier nicht gelesen, da ich hier nie vorbei schaue. Daher sagte ich auch, dass Fehler im Forum gemeldet werden sollen.
Das muss ich mir ansehen. Das Speichern der Variablen übernehmen fertige Module. Mal sehen, ob man denen das Beibringen kann.
Jörg
Hi Sven,
vielen Dank für die Einbindung meines Feature-Wunsches "DSL Informationen abrufen". Funktioniert perfekt.
Bzgl. deines Hinweises
"dass die Gesamtwerte zu groß für die interne Verarbeitung im Miniserver sein können. Bei 4.294.967.296 ist hier Schluss."
kann ich nur sagen, dass ich gerade einen größeren Wert (160.884.000.626 bei "NewTotalBytesReceived") ohne Probleme empfangen konnte.
Sofern es doch irgendwo eine Grenze gibt: Könntest du den Wert evtl. zusätzlich noch formatieren (z.B. NewTotalGigaBytesReceived, also /1073741824) und in der php-Datei mit ausgeben?
Grüße
Jörg
PS: Vielen vielen Dank nochmal für das Plugin und das tolle Feature! Das wollte ich schon immer haben!
Jörg
Hier noch ein Screenshot, wie es in der App aussieht.
Frank Rimpf
Hallo Jörg,
kannst du den Screenshot mal aus der Config zeigen? Bei mir erhöhen sich kontinuierlich die GB-Werte auch wenn kaum Traffic ist.
Gruß
Frank
Markus Fritze
Entschuldige die blöde Frage: aber wie bekommt man die 2-zeilige Darstellung in Loxone hin? Danke Dir!
Jörg
Hi Markus,
ich nutze dazu einfach das Element "Verbrauchszähler".
Grüße
Jörg
Sven Thierfelder
Jörg, das ist ja interessant. Mal sehen ob man herausfinden kann, ob Loxone die Variablen vergrößert hat, oder ob das nur in Deinem Fall so ist.
Frank Rimpf, Du hast da in den Einstellungen sicher angegeben, dass die Werte dazuaddiert werden sollen. Es kommen ja aber fertige Summen, also muss das ausgeschaltet werden.
Frank Rimpf
Hm, so ganz erschließt sich das mir noch nicht. Habe den "NewTotalBytesReceived] => \v" auf Eingang E im Verbrauchszähler und bei Absolutwert den Haken gesetzt.Vorher teile ich noch zweimal durch 1024.
Der Gesmtverbrauch erhöht sich nun bei einem Download im normalen Bereich nur bleibt die obere Anzeige im Verbrauchszähler bei 0.
Wie muss ich denn was anschließen, damit es so aussieht wie im Screenshot?
Christoph Krause
Um den aktuellen Traffic korrekt am Verbrauchszähler zu geben vorher den Wert durch einen Formelbaustein jagen.
Die Formel lautet: (I1/1000000)*8
Danach erhält man den Traffic als Mbit/s. Der Wert wird an 'P'gehangen.
Um die Gesamte Menge Daten an den Verbrauchszähler zu übergeben vorher den Wert ebenfalls durch einen Formebaustein jagen.
Die Formel lautet: I1/1000000000
Danach erhält man die gesamte Datenmenge als GB. Der Wert an 'E' gehangen.
Wichtig das 'A' muss auf 'ein' stehen.
.:Chris:.
Hi, könntest du zu der gezeigten Visu bitte mal die Config posten bzw. im Wiki ergänzen. Danke
Sven Thierfelder
Das ist der Leistungseingang. Da kannst Du entweder die aktuelle Datenrate oder die DSL Datenrate ranhängen
Philipp Ivanschitz
Hallo
Kann mir leider nicht die Beispielkonfig runterladen.
Kann mir wer behilflich sein DANKESCHÖN.
lg
Philipp
Guy Mertens
Hallo, konnte ich bitte die Beispieldatei auch herunterladen?
Mfg
Guy
Benjamin Feulner
Danke für das Tolle Plugin!
Das abfragen der DSL Informationen funktioniert bei mir Super, aber leider nicht das senden per UDP.
Wenn ich einen Port eingetragen habe und senden auf ja stelle, sieht es erst einmal gut aus. Klicke ich dann auf speichern ist es automatisch wieder auf nein und das Feld für den Port ist wieder leer.
Das ganze auf Loxberry 1.0.0
Danke im vorraus,
Benni
Lars Diekmann
Danke für das Update. Ich habe jetzt alles auf dem Loxberry 1.0.3.2 installiert. Hier funktioneren leider die Abfragen für DSL-Informatione und die öffentliche IP nicht mehr. Ist heir was bekannt? Der Anrufmonitor funktioniert weiterhin einwandfrei.
Danke im Voraus.
Gruß Lars
Thomas
Hallo zusammen,
wie ist denn die Befehlserkennung für die öffentliche IP?
Hab ich die irgendwo übersehen?
Zero1986
Hallo Sven,
das mit den DECT-Steckdosen funktoiniert super. Hast du Pläne das Plugin auch für Have Fun Geräte zu erweitern? Zum Beispiel den Tür-/Fensterkontakt der Telekom?
https://www.smarthome.de/geraete/smarthome-tuer-fensterkontakt-optisch-weiss
Leider stehen die Information nicht per TR064 zur Verfügung. Alternative wäre die AHA-Schnittstelle. https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf
Danke
Gruß Zero1986
Guy Mertens
Hallo Sven,
Vielen Dank für das tolle Plugin.
Ich hätte eine kleine Frage, der Fritz Repeater 3000 hat 2 x 5 Ghz Module, leider kann man nur das erste Modul ein/aus schalten (Wlan=2), gibt es eine Möglichkeit auch das zweite Modul zu schalten?
Vielen Dank im Voraus
Guy
Leigh Bograkos
Hi Sven,
Kann es sein, dass das PlugIn nich mit ner 6890LTE funktioniert?
Hängt am DSL, aber bringt beim Aufruf "WANgetInfo" "Fehler: Invalid Action (401)"
Konfigurier ich das Plugin auf ne "normale" Fritzbox um, bekomm ich die Infos.
Stefan
super Plugin
nutz es eingetlich nur um meine Funksteckdosen von AVM zu steuern
gibts denn ne möglichkeit, dass man multible Boxen konfiguriert?
da ich an zwei Dect Stekdosen habe und diese dann ja zentral schalten könnte
LG Stefan
alexander
Gibt es hier eine Vorkonfingurerten Baustein für die DSL abfragen?
Denke ich bin zu blöd zum programmieren. Vielleicht kann ja jemand etwas reinstellen.
Danke