Vorsicht

Dies ist die Dokumentation des aktuellen Entwicklungszweigs der CometVisu. Es besteht daher die Möglichkeit, dass einige der hier beschriebenen Features mit dem aktuellsten Release der CometVisu nicht genutzt werden können.

Das tr064 Plugin

Autor: Christian Mayer
Verfügbar seit: 0.11.0

Beschreibung

Das Plugin ist ein Interface zu Routern die das TR-064 Protokoll implementieren, wie der weit verbreiteten Fritz!Box. Mit dem calllist Widget aus diesem Plugin lässt sich eine Anrufliste darstellen. Diese Liste enthält sowohl die Namen der Anrufer (wenn im Router hinterlegt), also auch die Aufzeichnungen des Anrufbeantworters.

../../../../_images/calllist.png

Einstellungen

Für eine grundsätzliche Erklärung des Aufbaus der Konfiguration und der Definition der im folgenden benutzten Begriffe (Elemente, Attribute) sollte zunächst dieser Abschnitt gelesen werden: Grundsätzliches.

Das Verhalten und Aussehen des calllist-Widgets aus dem tr064-Plugin kann durch die Verwendung von Attributen und Elementen beeinflusst werden. Die folgenden Tabellen zeigen die erlaubten Attribute und Elemente. In den Screenshots sieht man, wie beides über den Editor bearbeitet werden kann.

Nur die mit ….. unterstrichenen Attribute/Elemente müssen zwingend angegeben werden, alle anderen sind optional und können daher weg gelassen werden.

Erlaubte Attribute im calllist-Element

Element

Attribut

Name

Inhalt

Beschreibung

calllist

device

Text

ID/Name für das Gerät aus der versteckten Konfiguration.

max

Zahl

Maximale Anzahl der vom Router zu ladenden Einträge.

columns

Text

Durch Strichpunkt getrennte Liste mit Spaltentypen (mögliche Spalten: caller, date, name, nameOrCaller, tam, type)

TAM

Text

Icon für Anrufbeantworter.

TAMColor

Text

TAMwait

Text

Icon für Warten auf Anrufbeantworter.

TAMwaitColor

Text

TAMplay

Text

Icon für Anrufbeantworter abspielen.

TAMplayColor

Text

TAMstop

Text

Icon für Anrufbeantworter Stopp.

TAMstopColor

Text

typeIncoming

Text

Icon für eingehenden Anruf.

typeIncomingColor

Text

typeMissed

Text

Icon für verpassten Anruf.

typeMissedColor

Text

typeOutgoing

Text

Icon für abgehenden Anruf.

typeOutgoingColor

Text

typeActiveIncoming

Text

Icon für aktiven, eingehenden Anruf.

typeActiveIncomingColor

Text

typeRejectedIncoming

Text

Icon für abgelehnten, eingehenden Anruf.

typeRejectedIncomingColor

Text

typeActiveOutgoing

Text

Icon für aktiven, abgehenden Anruf.

typeActiveOutgoingColor

Text

typeUnknown

Text

Icon für unbekannten Anruftyp.

typeUnknownColor

Text

refresh

Zahl

Definiert die Aktualisierungsrate der Anrufliste in Sekunden

../../../../_images/de_config_widgets_plugins_tr064_index_editor_attributes.png

Attribute im Editor (vereinfachte Ansicht) [1]

Erlaubte Kind-Elemente und deren Attribute

Element

Attribut

Struktur

Name

Inhalt

Beschreibung

calllist
  • layout

colspan

Zahl

Spaltenanzahl für dieses Widget.

colspan-m

Zahl

Übersteuert die Spaltenanzahl auf mittleren (medium) Browser Größen.

colspan-s

Zahl

Übersteuert die Spaltenanzahl auf kleinen (small) Browser Größen.

rowspan

Zahl

Zeilenanzahl für dieses Widget.

x

Text

Horizontale Position des Widgets auf 2D Seiten.

x-s

Text

Horizontale Position des Widgets auf 2D Seiten auf kleinen (small) Browser Größen.

x-m

Text

Horizontale Position des Widgets auf 2D Seiten auf mittleren (medium) Browser Größen.

y

Text

Vertikale Position des Widgets auf 2D Seiten.

y-s

Text

Vertikale Position des Widgets auf 2D Seiten auf kleinen (small) Browser Größen.

y-m

Text

Vertikale Position des Widgets auf 2D Seiten auf mittleren (medium) Browser Größen.

z

Text

Für zukünftige Anwendungen reserviert.

width

Text

Breite des Widgets auf 2D Seiten.

width-s

Text

Breite des Widgets auf 2D Seiten auf kleinen (small) Browser Größen.

width-m

Text

Breite des Widgets auf 2D Seiten auf mittleren (medium) Browser Größen.

scale

true oder false

Automatische Anpassung der Layout-Werte auf Basis der Skalierung des Backdrops ein/-ausschalten (Standardeinstellung: true).

scale-s

true oder false

Automatische Anpassung der Layout-Werte auf Basis der Skalierung des Backdrops ein/-ausschalten auf kleinen (small) Browser Größen (Standardeinstellung: true).

scale-m

true oder false

Automatische Anpassung der Layout-Werte auf Basis der Skalierung des Backdrops ein/-ausschalten auf mittleren (medium) Browser Größen (Standardeinstellung: true).

Element

Attribut

Struktur

Name

Inhalt

Beschreibung

calllist
  • label

  • icon

name

Text

Name unter dem das Icon registriert ist.

type

Text

flavour

Text

Auswahl der Darstellungsvariante. Siehe auch Flavour.

color

Text

Farbe des Icon in CSS Notation (z.B. #1188FF).

styling

Text

Ändert die Farbe des angezeigten Wertes abhängig vom Wert selbst. Siehe auch Styling

class

Text

Füge dieses Attribut der CSS Klasse hinzu, so dass das Widget durch ein eigenes Stylesheet zusätzlich formatiert werden kann.

calllist
  • label

    • #text

Text

Text um bei dem Widget eine Beschreibung darzustellen.

Element

Attribut

Struktur

Name

Inhalt

Beschreibung

calllist
  • address

transform

Text

Umwandlung des Bus-System Wertes um angezeigt werden zu können.

mode

disable, read, write oder readwrite

„disable“ deaktiviert die Kommunikation, bei „read“ wird nur vom Backend gelesen, bei „write“ wird nur geschrieben und „readwrite“ wird die Adresse zum Lesen und zum Schreiben verwendet.

variant

Text

format-pos

Zahl

Position für Format-String wenn mehrere Adressen gleichzeitig genutzt werden.

selector

Text

Nur MQTT: JSON Selektor

qos

Zahl

Nur MQTT: QoS

retain

true oder false

Nur MQTT: retain Flag

ignore-error

true oder false

Nur MQTT: ignoriere Dekodierfehler.

calllist
  • address

    • #text

Text

Die Gruppenadresse (z.B: 12/0/7) bei KNX-Backends, der Item-Name beim openHAB-Backend oder das Topic bei MQTT.

../../../../_images/de_config_widgets_plugins_tr064_index_editor_elements.png

Elemente im Editor

XML Syntax

Alternativ kann man für das tr064-Plugin auch von Hand einen Eintrag in der visu_config.xml hinzufügen.

Vorsicht

In der Config selbst dürfen NUR UTF-8 Zeichen verwendet werden. Dazu muss ein auf UTF-8 eingestellter Editor verwendet werden!

Hier der minimale Beispielcode der das calllist Widget aus dem tr064 Plugin aus dem folgenden Screenshot erzeugt:

calllist, einfaches Beispiel

calllist, einfaches Beispiel

...
<meta>
    <plugins>
        <plugin name="tr064"/>
    </plugins>
</meta>
...
<calllist device="fritzbox">
    <label>calllist</label>
</calllist>

Voraussetzungen / Einrichtung auf dem Server

Um dieses Plugin nutzen zu können muss auf dem Server PHP eingerichtet sein und die Unterstützung für SoapClient installiert sein.

Unter Debian basierten Systemen muss daher das Paket php-soap installiert sein.

Einrichtung der Fritz!Box

Um Zugriff auf die Anrufliste der Fritz!Box zu bekommen, muss dort ein Benutzer angelegt werden (oder ein bereits angelegter Benutzer verwendet werden). Dies geht über die Benutzer-Verwaltung:

../../../../_images/fritzbox_overview.png

Der Benutzer selbst benötigt noch die Rechte um auf die Anrufliste zugreifen zu dürfen:

../../../../_images/fritzbox_user.png

Damit das Plugin auf diesen Benutzer zugreifen kann, müssen dessen Login-Daten hinterlegt werden. Dies geht über die „Versteckten Konfigurationen“.

Der dort verwendete Name muss im calllist Widget im Attribut device angegeben werden.

Die in der versteckte Konfiguration verwendeten Schlüssel/Wert-Paare sind:

Schlüssel

Wert

Beispiel

uri

Die URI für den Zugriff auf die TR-064 Schnittstelle

https://192.168.0.1:49443/

user

Der Benutzername für den TR-064 Zugang

CometVisuTestUser

pass

Das Passwort für den TR-64 Zugang

pa3bvNM4j9z4

selfsigned

Erlaube selbst signierte Zertifikate wenn true

false

Hinweis

Wenn eine SSL gesicherte Verbindung zum Router aufgebaut werden soll (d.h. die URI mit https beginnt), so ist meist selfsigned auf true zu setzen, da ein Router im Heimnetz üblicher Weise mit einem selbst signierten Zertifikat arbeitet.

Eine Fehlermeldung mit dem Inhalt {"faultstring":"Could not connect to host","faultcode":"HTTP"} kann darauf hinweisen, dass selfsigned auf true gesetzt werden muss.

Fußnoten