Zur Bedienung von verschiedenen Funktionen der Fritzbox gibt es ein kleines Programm, das die Steuerung übernimmt und mit dem man verschiedene Informationen aus der Fritzbox abrufen kann. Das Programm nutzt das von CUxD mitgelieferte cURL.
Wichtige Funktionen sind:
- WLAN ein/ausschalten und Status auslesen
- Anrufe tätigen
- Dect200 Schalter ein/ausschalten
- Temperatur und Entergiemessung der Dect200 auslesen
Voraussetzungen
- CUxD ist installiert
- Fritz!OS >= 6.3 muss installiert sein
- In der Fritzbox ist folgendes „Heimnetz / Heimnetzübersicht / Zugriff für Anwendungen zulassen“ aktiviert (TR-064 Schnittstelle)
- Benutzer mit Passwort angelegt („System / FritzBox-Benutzer“)
Installation
Das Skript und eine Installationsanleitung findet sich im HomeMatic-Forum.
Kurzbeschreibung
Das Script besteht aus mehreren Teilen:
FB-main.sh -> Ein- und Ausschalten von diversen Fritzbox-Funktionen und Statusinformationen
FB-AHA.sh -> SmartHome-Steuerung
FB-fon.sh -> Telefonie-Funktionen
FB.cfg -> Konfiguration für IP, User und Passwort
FB.common -> geimsame Scriptteile der *.sh Dateien
Vor dem Hochladen der Dateien auf die CCU müssen die IP der FritzBox und User sowie Passwort in die FB.cfg eingetragen werden. Danach werden alle Dateien nach „/usr/local/addons/cuxd/user/“ hochladen und die Dateirechte auf 755 gesetzt.
Auf der Console (SSH) von der CCU sind die Skripte nun funktional und können getestet werden z. B. um das WLAN zu schalten (Achtung wenn man über WLAN verbunden ist)
./FB-main.sh WLAN [0|1]
0 schaltet das WLAN aus, 1 schaltet das WLAN an. Der Befehl ist ohne die Klammern einzugeben. Weitere Befehle finden sich im HomeMatic-Forum.
Sollte alles funktionieren, muss der Debug-Eintrag in den FB-Dteien auf „0“ gesetzt werden.
Integration in die CCU
Zur Integration in die CCU wir ein Gerät (28)System.Exec angelegt, das die Shellscripte aufruft. Eine Anleitung für CUxD findet sich z. B. hier.
Geräteparameter einstellen
PARAM1: sh /usr/local/addons/cuxd/user
⇒ startet den Skriptaufruf und setzt den Standardordner worin sich die Skripte befinden
PARAM2: x 192.168.1.1 CCU HomeMatic
⇒ Login
Eine Funktionsübersicht einer älteren Skript-Version findet sich hier.
Einrichtungsbeispiele
WLAN schalten
SWITCH|CMD_SHORT: $_P1$/FB-main.sh $_C1$ 0
SWITCH|CMD_LONG: $_P1$/FB-main.sh $_C1$ 1
SWITCH|CH_PARAM1: WLAN
SWITCH|CMD_TIMER: $_P1$/FB-main.sh WLAN state CUX2801100:1
WLAN 5GHz schalten
SWITCH|CMD_SHORT: $_P1$/FB-main.sh $_C1$ 0
SWITCH|CMD_LONG: $_P1$/FB-main.sh $_C1$ 1
SWITCH|CH_PARAM1: WLAN5G
SWITCH|CMD_TIMER: $_P1$/FB-main.sh WLAN5G state CUX2801100:2
Gäste-WLAN schalten
SWITCH|CMD_SHORT: $_P1$/FB-main.sh $_C1$ 0
SWITCH|CMD_LONG: $_P1$/FB-main.sh $_C1$ 1
SWITCH|CH_PARAM1: WLANGast
SWITCH|CMD_TIMER: $_P1$/FB-main.sh WLANGast state CUX2801100:3
DECT200 Steckdose schalten
SWITCH|CMD_SHORT: $_P1$/FB-AHA.sh switch $_C1$ 0
SWITCH|CMD_LONG: $_P1$/FB-AHA.sh switch $_C1$ 1
SWITCH|CH_PARAM1: [ASIN des Schalters]
SWITCH|CMD_TIMER: $_P1$/FB-AHA.sh switch 087610002025 state1-pt CUX2801100:4
In „SWITCH|CMD_TIMER“ ist hier „state1-pt“eingetragen. Mit diesem Parameterwerden zusätzliche Statusinformationen von der Steckddose abgefragt, die drei Systemvariablem befüllen. Diese müssen wie folgt angelegt werden und der Kanal dem (28)System.Exec-Gerät zugewiesen werden:
[CUX2801xxx:x-Status] -> Werteliste: nicht erreichbar;erreichbar;unbekannt
[CUX2801xxx:x-Leistung] -> Zahl
[CUX2801xxx:x-Temperatur] -> Zahl
Die CUxD Nummer ist zu ergänzen.
Möchte man die Informationen nicht ist statt „state1-pt“ nur „state“ im Aufruf zu nutzen.
Anrufe starten
SWITCH|CMD_SHORT: $_P1$/FB-fon.sh call **610#611 5
⇒startet einen Anruf auf die internen Nummern 610 und 611 für 5 Sekunden
Was bedeutet
homematic-ccu2 user.err /usr/local/addons/cuxd/user/FB-AHA.sh[1603]: „192.168.178.1“ -> switch: Fehler
Ich verlinke Mal in das Forum wo die Frage auch gestellt wurde.
Hallo,
ich bin über diesen sehr interessanten Artikel „gestolpert“
Da er schon etwas älter ist die vorsichtige Frage:
Funktioniert auch mit der 7590 und dem aktuellen OS?
Micki
Hallo Micki,
ich habe leider keine 7590, aber ich würde das Ganze jetzt mit RedMatic umsetzen.
Gruß Rainer