FritzBox 5.5 per cuxd steuern

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

leinich
Beiträge: 157
Registriert: 03.09.2012, 22:30

FritzBox 5.5 per cuxd steuern

Beitrag von leinich » 14.06.2013, 19:07

Hallo miteinander,

hier ein Skript zur freien Verwendung, wie man mithilfe von cuxd Befehle an die FritzBox senden kann.
z.B. sind folgende Aktionen möglich:
GästeWLAN aktivieren/deaktivieren
Dect 200 Geräte ein und ausschalten

Ich wünsch euch viel Spaß beim installieren und verwenden.

aktuelles Repository zum Download bei GitHub!
https://github.com/Tscherno/Fritzbox.sh

Installation:
0. Vorraussetzung:
cuxd ist auf der Homematic installiert (min 0.58)
Die FritzBox hat min Version Fritz!OS 5.50 (neuen Loginverfahren)
1. Konfiguration anpassen:
cuxdextra/FritzBox.conf mit einem Texteditor editieren und dein FritzBox Passwort eintragen
2. Die drei Dateien:
cuxdextra/FritzBox.conf
cuxdextra/FritzBox.sh
cuxdextra/cpwmd5
in das Verzeichnis /usr/local/addons/cuxd/extra kopieren.
3. Per Putty folgende Befehle eingeben:
chmod 755 /usr/local/addons/cuxd/extra/FritzBox.sh
chmod 755 /usr/local/addons/cuxd/extra/cpwmd5
4. überprüfen ob alles funktioniert:
z.B.: mit sh /usr/local/addons/cuxd/extra/FritzBox.sh DECT200 16 0
Ausgabe ist dann wie folgt:

/usr/local/addons/cuxd/extra/FritzBox.sh EndFritzBoxSkript()
EXITCODE: 0
MESSAGE : Erfolgreich
LOGGING : Messages so far captured:
Parameter CPWMD5 = ./cpwmd5
Parameter HOMEMATIC = localhost
Parameter ADDONDIR = /usr/local/addons/cuxd
Parameter CONFIGFILE = /usr/local/addons/cuxd/extra/FritzBox.conf
Parameter FRITZLOGIN = /login_sid.lua
Parameter FRITZWEBCM = /cgi-bin/webcm
Parameter FRITZHOME = /home/home.lua
Parameter TEMPFile = /var/tmp/FritzBox_tempfile.txt=
Parameter CURLFile = /var/tmp/FritzBox_curlfile.html=
Parameter ANRUFLIST = /var/tmp/FritzBox_anruferliste.csv
Parameter Debug = /var/tmp/FritzBox.log
Parameter FritzBoxURL = http://fritz.box
Parameter Username = BoxAdmin
Parameter Passwd = XXXXXXXXX
INFO: Befehl DECT200 16 0
LOGIN: Challenge XXXXXXXXX
LOGIN: SID 0000000000000000
LOGIN: Keine gueltige SID - login aufbauen
LOGIN: login senden und SID herausfischen
LOGIN: ?username=BoxAdmin&response=XXXXXXXXXXXXXXXX
LOGIN: Gueltige SID: XXXXXXXXXXXXXXXXX
GET/POST wind protokolliert in /var/tmp/FritzBox_curlfile.html=
POST : sid=59e95f541c13a2f6&command=SwitchOnOff&id=16&value_to_set=0&xhr=1
POST : http://fritz.box/net/home_auto_query.lua
POST : Abgesendet

5. Sollte alles soweit funktionieren empfehle ich das Logging wieder zu deaktivieren
Hierzu in der FritzBox.conf der Parameter
Debug:
Eingetragen werden (also /var/tmp/FritzBox.log löschen)
6. Am besten lässt sich das Skript in die Homematic einbinden über
Cuxd Gerätetyp: (28) System
Function: Exec
Control: Schalter
Nachdem das Gerät erstellt wurde muss für den jeweiligen Kanäle jeweils folgendes eingetragen werden:
(Am Beispiel GästeWLAN)
SWITCH|CMD_SHORT sh /usr/local/addons/cuxd/extra/FritzBox.sh WLANGast 0
SWITCH|CMD_LONG sh /usr/local/addons/cuxd/extra/FritzBox.sh WLANGast 1
SWITCH|EXEC_TIMEOUT 5
CUXDSchalter.PNG
7. Für die Anruflistenanzeige in Webmatic die Dateien aus dem Verzeichnis webmatic
nach /usr/local/etc/config/addons/www/webmatic_user/ kopieren


Folgende Befehle stehen zur Verfügung:

./FritzBox.sh WLAN [0|1]
./FritzBox.sh WLAN5 [0|1]
./FritzBox.sh WLANGast [0|1]
./FritzBox.sh WLANNacht [0|1]
./FritzBox.sh DECT [0|1]
./FritzBox.sh NACHTRUHE [0|1]
./FritzBox.sh KLINGELSPERRE [0|1]
./FritzBox.sh ANRUFEN [(Telefonnummer z.B. **610)]
./FritzBox.sh RUFUMLEITUNG [0|1|2|3(Rufumleistung)] [0|1]
./FritzBox.sh Diversity [0|1|2|3(Rufumleistung)] [0|1]
./FritzBox.sh DECT200 [16|17|18|19] [0|1]
./FritzBox.sh Anrufliste
./FritzBox.sh Anrufliste2CCU [0000(HOMEMATIC Webmatic SYSVAR ID)] [Anzahl Eintraege]
./FritzBox.sh reboot

Für weitere Recherchen: Ursprünglicher Thread ist hier http://homematic-forum.de/forum/viewtop ... 31&t=12293
Änderungen zur Version 0.3
- Externe Konfigurationsdatei
- Verzicht auf wget, curl wird nun verwendet
- Verbessertes Logging
Dateianhänge
fritzbox_0.4.zip
FritzBox Skript Version 0.4
(11.71 KiB) 938-mal heruntergeladen

davidmuc
Beiträge: 105
Registriert: 15.08.2010, 00:27
Hat sich bedankt: 1 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von davidmuc » 19.07.2013, 18:40

Lieber leinich, vielen Dank für Deine Weiterentwicklung - wirklich klasse! ...und ich warte gespannt auf weitere Funktionen, die im ursprünglichen Thread diskutiert wurden. Spielte bereits mit dem Gedanken, mir schlechtes Wetter zu wünschen, damit Dir das Weiter-Programmieren leichter fällt ;-)

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von grissli1 » 26.07.2013, 16:34

Hi,

vielen Dank für deinen Einsatz!!!
Was mir ganz wichtig wäre: Eine Funktion zum Ein- und Ausschalten des mobilen Zugangs. Also dass man z.b. wenn ein Ping nicht mehr raus geht, einfach auf das USB-Modem umschalten kann.
Die Automatikfunktion der Fritzbox für diese Möglichkeit mag ich nicht, da dann erst wieder 30 Minuten nach stehen der DSL-Verbindung zurückgeschaltet wird.

Wenn du das vielleicht mal auf deine To Do Liste setzen könntest, wäre es super.

Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von grissli1 » 29.07.2013, 17:16

Hi,

habe es jetzt installiert. Habe nun z.B. das 5GHz Wlan zum Schalten probiert. Ausschalten funktioniert ohne Probleme, aber einschalten lässt es sich nicht mehr. Unter "Script testen" bekomme ich ein "Fehler: {"code": 200, "text": "invalid response"}".

Mein Aufruf: dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/FritzBox.sh WLAN5 1");
Das Gleiche mit: dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("sh /usr/local/addons/cuxd/extra/FritzBox.sh WLAN5 1");

CuxD ist 0.58e.

Mache ich da was falsch???

Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

leinich
Beiträge: 157
Registriert: 03.09.2012, 22:30

Re: FritzBox 5.5 per cuxd steuern

Beitrag von leinich » 29.07.2013, 21:35

hi davidmuc,

weiter mach ich auf jeden Fall. Am Wetter liegt es aber aktuell nicht. Vielmehr am frischen Nachwuch ;-)

hi Chris

keine Ahnung woher die 200 kommt. Jedenfalls nicht vom FritzBox.sh Skript.
Vielleicht kommt das von Cuxd?

Der Befehl für das Ein und Ausschalten ist bis auf die 0 bzw 1 identisch.
Wenn man etwas ausschlten kann dann kann man das auch wieder einschalten.

Kannst du mit mal die Debug Datei schicken? /var/tmp/FritzBox.log

Benutzeravatar
uwe111
Beiträge: 4808
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 240 Mal
Kontaktdaten:

Re: FritzBox 5.5 per cuxd steuern

Beitrag von uwe111 » 29.07.2013, 21:52

leinich hat geschrieben: keine Ahnung woher die 200 kommt. Jedenfalls nicht vom FritzBox.sh Skript.
Vielleicht kommt das von Cuxd?
Hmm... kann ich mir eigentlich nicht vorstellen. Das sieht doch nach einer HTTP-Response aus.
Probiere das FritzBox.sh Script doch am besten einmal direkt auf der CCU (Telnet/ssh) ohne CUxD.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 70 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von klassisch » 30.07.2013, 01:17

leinich hat geschrieben: ./FritzBox.sh NACHTRUHE [0|1]
./FritzBox.sh KLINGELSPERRE [0|1]
bedeutet das, daß man die Telefone per CCU stummschalten kann? Das wäre ja hochinteressant - wenn ich nicht eine 7170 hätte. Da gibt es wohl kein FritzOS.

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von grissli1 » 30.07.2013, 07:16

Hi,

@leinich: Debug habe ich "ausgeschaltet". Werde es aber wieder rein tun und eventuell heute Abend wieder probieren. Dan schicke ich dir das Log-File.

@Uwe: Die Meldung steht im unteren Feld, wenn ich auf "Script testen" den Befehl ausführe.
werde heute auch mal ohne CUxD probieren.

Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 5.5 per cuxd steuern

Beitrag von grissli1 » 30.07.2013, 19:48

Hi,

hab mir soeben das debug.log angesehen. Es steht nur das "WLAN5 0" drinnen. Das "WLAN5 1" wird nicht aufgezeichnet.

Dann bin ich drauf gekommen, warum es nicht funktioniert. Wollte mit WinSCP den Einschaltbefehl senden und ich konnte mich schon nicht mehr mit WinSCP verbinden.
Da hat es mir so langsam gedämmert: Meine Fritzbox steht im Gang und alle Geräte sind inzwischen über einen Repeater (2,4 und 5 GHz) per LAN angeschlossen. Wenn ich jetzt die 5G Verbindung kappe, bricht mein ganzes Netz zusammen. Es bleibt aber eben die Anzeige vom Script testen usw da, da ich die Seite ja nicht refreshe.

Also: ES FUNKTIONIERT!!!!!!!!!!! Sorry für das Kopfzerbrechen, aber DANKE für eure Hilfe. Das Netzwerkkabel ins Wohnzimmer ist jetzt in meiner Prioritätsliste ganz nach oben gerückt :mrgreen: .
Ich habe übrigens eine AT-Version der Fritzbox.

Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

Arminhh
Beiträge: 284
Registriert: 09.05.2011, 09:18

Re: FritzBox 5.5 per cuxd steuern

Beitrag von Arminhh » 03.08.2013, 20:37

hallo ich bekomme die Fehlermeldung beim Aufruf der FritzBox.sh:
Aug 3 20:29:25 (none) daemon.err cuxd[4954]: system(SWITCH|CMD_SHORT sh /usr/local/addons/cuxd/extra/FritzBox.sh WLANGast 0) exit(127)

was bedeutet das?
mfg
Armin

Antworten

Zurück zu „CUxD“