FritzBox 6.3 per CUxD steuern

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

Moderator: Co-Administratoren

michnix
Beiträge: 8
Registriert: 09.01.2016, 18:37

Re: FritzBox 6.3 per CUxD steuern

Beitrag von michnix » 08.01.2017, 21:26

Hallo zusammmen,

nach ziemlich genau einem Jahr Winterschlaf hatte ich doch noch mal neue Fragen an meine Fritzbox und daher das Script FB-fon.sh erweitert um eine Funktion zum Abrufen der neuen Nachrichten eines Anrufbeantworters:

./FB-fon.sh AB [Nummer_des_AB] messages [CUX2801xxx:x] -> Status an CUxD-Remote (28)  (0--> keine neuen Nachrichten, 1--> mindestens eine neue Nachricht)
./FB-fon.sh AB [Nummer_des_AB] messages1 [Name_der_SysVar] -> SysVar/Zahl: Anzahl neuer Nachrichten

In die Systemvariable schreibe ich die Anzahl der neuen Nachrichten, das CUXD-Gerät setze ich auf Status 1 bei mindestens einer neuen Nachricht, auf 0, wenn keine neuen Nachrichten da sind.
Denkbar wäre, hier einen Dimmer zu nutzen und die Anzahl der Nachrichten als %-Wert zu setzen.

Als Nebeneffekt wird analog der Anrufliste die Liste der Nachrichten als XML-Datei abgelegt: /tmp/FB-fon@fritz.box-Messagelist.xml
Dort stehen zu noch nicht gelöschten Nachrichten auch die Pfade zu den Audio-Dateien drin. Bis jetzt brauche ich das noch nicht. Auch die ganze Liste als Tabelle in einer SysVar interessiert mich derzeit nicht, beides wäre aber denkbar.

Anbei das Script in Version v0.1.1

Ich fände es toll, wenn wir die Scripte als Addon verpacken könnten mit winziger config-Oberfläche. Ich denke, daran versuche ich mich als nächstes. Dann spart man sich das ganze Kopieren, SSH, chmod etc.

Viel Spaß damit!
michnix
FB-fon.sh.txt
Endung .txt muss natürlich gelöscht werden.
(11.25 KiB) 155-mal heruntergeladen

bumbumb1982
Beiträge: 9
Registriert: 07.01.2017, 22:12

Re: FritzBox 6.3 per CUxD steuern

Beitrag von bumbumb1982 » 15.01.2017, 14:46

Hallo,
könnt ihr mir einmal beschreiben wie ich die anrufliste in die CCU 2 bekomme? Ich habe eine Systemvariable "test" als Werteliste angelegt. Der Aufruf ist dann ./FB-fon.sh Anrufliste

aber wie geht es dann weiter.... Bitte helft mir. Vielen Dank

michnix
Beiträge: 8
Registriert: 09.01.2016, 18:37

Re: FritzBox 6.3 per CUxD steuern

Beitrag von michnix » 15.01.2017, 17:56

Die Funktion zum Übertragen der Anrufliste in eine Systemvariable ist noch nicht wieder implementiert.
Der Aufruf "./FB-fon.sh Anrufliste" holt die Liste von der Fritzbox und legt sie als XML-Datei auf der CCU2 ab.
(Bei mir: /tmp/FB-fon@fritz.box-Anrufliste.xml). Dort kann man sie sicher mit weiteren Skripten bearbeiten.

Ich schau mal, ob ich die alte Funktion zum Übertragen in eine SysVar wiederbelebt kriege, sieht eigentlich nicht so schwer aus.

Gruß,
michnix

bumbumb1982
Beiträge: 9
Registriert: 07.01.2017, 22:12

Re: FritzBox 6.3 per CUxD steuern

Beitrag von bumbumb1982 » 15.01.2017, 18:18

Hallo,
das wäre super toll am besten in eine Werteliste so das man die letzten 10 Anrufe sieht.
Kann man auch die verpassten anrufe anzeigen lassen.
gruss bumbumb

michnix
Beiträge: 8
Registriert: 09.01.2016, 18:37

Re: FritzBox 6.3 per CUxD steuern

Beitrag von michnix » 18.01.2017, 08:01

Hi bumbumb,

sorry, aber das wird erstmal nix. Das Listenformat hat sich völlig geändert (vorher scheinbar CSV, jetzt XML) und ich hab noch keine sinnvolle Möglichkeit gefunden, das XML zu parsen (mit den beschränkten Möglichkeiten der BusyBox). Auf eine Orgie mit "sed&Co" hab ich im Moment keine Lust.

Vielleicht kann jemand anders das Aufbereiten der XML in eine sinnvolle Form für eine SysVar beitragen?

Gruß,
michnix.

Benutzeravatar
koppenho
Beiträge: 227
Registriert: 27.12.2013, 09:12
Wohnort: Bad Neustadt, Deutschland
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von koppenho » 19.01.2017, 22:43

michnix hat geschrieben:...hab noch keine sinnvolle Möglichkeit gefunden, das XML zu parsen (mit den beschränkten Möglichkeiten der BusyBox). Auf eine Orgie mit "sed&Co" hab ich im Moment keine Lust.
In welcher Form wurde denn früher die Anrufliste an HM übergeben? An eine oder mehrere Systemvariablen? Welche Teile und in welchem Format?
Mal auf die Schnelle den xml-Output für das menschliche Auge etwas lesbarer gemacht mit:

Code: Alles auswählen

sed 's/<Call>/\n&/g;s/<\([a-zA-Z]*\)>\([^<>]*\)<\/\1>/\n\t\1\t\2/g' /tmp/FB-fon@*-Anrufliste.xml
Das mit sed&Co könnte ich Dir abnehmen, wenn Du mir sagst wie das Ergebnis aussehen soll.
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------

michnix
Beiträge: 8
Registriert: 09.01.2016, 18:37

Re: FritzBox 6.3 per CUxD steuern

Beitrag von michnix » 21.01.2017, 20:42

Hallo Andreas,

toll, dass du helfen möchtest.
Im alten Skript wurde die Liste als html-Tabelle aufbereitet und in EINE Systemvariable geschrieben.

Die Tabelle sah so aus:
<table id='fritz'>
<tr><td class='fritz_"$typ"'/><td>"$datum"</td><td>"$name"</td><td>"$rufnummer"</td><td>"$nebenstelle"</td><!--<td>"$eigene"</td>--><td>"$dauer"</td></tr>
</table>

Da ich bislang keine Verwendung für die Liste habe, weiß ich nicht, ob das die beste Variante ist. bumbumb hatte ja nach einer Werteliste gefragt, wobei ich vermute, dass man die nicht von außen definieren kann.

Sobald du was hast gib Bescheid, gerne auch per PN, dann bau ich das in das Skript ein.

Gruß,
michnix

Benutzeravatar
koppenho
Beiträge: 227
Registriert: 27.12.2013, 09:12
Wohnort: Bad Neustadt, Deutschland
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von koppenho » 22.01.2017, 16:25

Hallo an alle Anruflisten-Interessierten,
an michnix habe ich schon "Bescheid" und ein paar Scriptzeilen geschickt. Mal sehen, ob er sie verwenden kann und wann er dazu Zeit hat.
michnix hat geschrieben: Sobald du was hast gib Bescheid, gerne auch per PN, dann bau ich das in das Skript ein.
Mit den Zeilen, die ich an michnix geschickt habe, kann er den vorhandenen Aufruf erweitern, so dass die letzten 10 Anrufe als HTML in einer Systemvariablen abgelegt werden. So war das wohl in der früheren Version der FritzBox-Scripte drin. Die Ergebnisliste kann man meiner Meinung nach nur in der WebUI ansehen, aber nicht weiterverarbeiten. Eine CSV-Datei lässt sich auch leicht programmieren. Aber was wollt Ihr danach mit der erstellten CSV-Datei machen? Wollt Ihr die Datei weiterverarbeiten? Wenn Ja wie und zu welchem Zweck?
:?: In der Zwischenzeit möchte ich Euch fragen:
Wie habt Ihr Euch das so vorgestellt mit der Anrufliste in HomeMatic? Was möchtet Ihr erreichen?
bumbumb1982 hat geschrieben:könnt ihr mir einmal beschreiben wie ich die anrufliste in die CCU 2 bekomme? Ich habe eine Systemvariable "test" als Werteliste angelegt. Der Aufruf ist dann ./FB-fon.sh Anrufliste
aber wie geht es dann weiter.... Bitte helft mir. Vielen Dank
Ich habe keine gute Idee wie das aussehen könnte oder was bumbumb1982 mit einer Werteliste beabsichtigt hat. Es geht mir hier nicht um das Programmieren. Das bekomme ich hin. Aber das Ergebnis? In welcher Form soll die Anrufliste in HM dargestellt werden und eventuell sogar noch irgendwie weiterverarbeitet? Solange das nicht definiert wurde, kann man kein Programm schreiben.

:idea: Was ich mir vorstellen kann und sinnvoll eingesetzt werden könnte:
WebUI-Programme, die Aktionen auslösen nach Anruf von einer festgeleten Rufnummer oder auf einem bestimmten Anschluss.
Aber dazu ist die Anrufliste nicht geeignet. Dafür gibt es eine bessere Möglichkeit, die sogar viel schneller auf einen Anruf reagieren kann und die CCU nicht so stark belastet.

Probiert mal folgendes aus:
Von einem an der FritzBox angeschlossenen Fon die Rufnummer "#96*5*" wählen (funzt nicht mit der Fritz!Fon-App). Das aktiviert den sogenannten Anrufmonitor. Er wird mit "#96*4*" wieder deaktiviert. Zum Callmonitor gibt's einige Doku - hier sind zwei davon: Wenn der Anrufmonitor aktiviert wurde, dann startet zum Testen auf der CCU2 mit installiertem CUxD folgendes Kommando:

Code: Alles auswählen

/usr/local/addons/cuxd/extra/socat -lyuser -lpcallmonitor TCP4:fritz.box:1012 "EXEC:logger -t callmonitor -s"
Sobald ein Anruf kommt oder ausgeht oder dieser beendet wird, erscheint eine Zeile zu diesem Ereignis. Das Kommando kann man mit Strg-C abbrechen. Mit passenden Tools kann diese Daten leicht als Events in HM integrieren.
Wenn bei Euch kein "socat" vorhanden ist, dann habt Ihr keinen CUxD (oder einen veralteten) installiert.
Der logger schliesslich schreibt die Events, die die Fritz!Box meldet, nach /var/log/messages mit dem Stichwort callmonitor.
Wenn Ihr für den Quick-and-Dirty-Test nichts loggen wollt, dann verwendet dieses kürzere Kommando mit einem Minus-Zeichen am Ende:

Code: Alles auswählen

/usr/local/addons/cuxd/extra/socat TCP4:fritz.box:1012 -
:?: Aber auch hier muss ich fragen: Wie wollen wir auf Events reagieren, wie sollen die aussehen und was wollen wir damit erreichen?
Ich könnte z.B. per Anruf in meiner Zweitwohnung die Heizung einschalten.
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------

thorkillar
Beiträge: 48
Registriert: 24.01.2017, 16:46

Re: FritzBox 6.3 per CUxD steuern

Beitrag von thorkillar » 24.01.2017, 16:58

Hallo,
ich habe mir letzten Monat eine CCU2 geleistet und bin begeistert, was ich damit alles machen kann. (Heizkörper, Fenstersensoren, Lichttaster, Aktoren für die Lampe). Leider habe ich noch keine Erfahrungen, wie ich Programme / Skripte erstelle.

Wie ich Bedingungen erzeuge, wenn Fenster geschlossen, dann Heizung aktiv. .. habe ich verstanden.
Aber nun möchte ich gern die DECT200 Aktoren, die an der Fritzbox angeschlossen sind, via CCU2 steuern.
So dass ich per homematic Schalter auch DECT200 Aktoren schalten kann.

Jetzt meine Frage:
ich habe mir dieses Thema bereits versucht einzulesen, aber da fehlt mir noch Wissen.
Gibt es eine Anleitung oder Video, wie ich die CCU2 mit der FB7490(UI) miteinander verbinde, die Schritt für Schritt alles erklärt?
Wenn ja, wäre ich über einen Link dankbar.

Grüße
Thor
Vielen DANK
Thorkillar

Benutzeravatar
koppenho
Beiträge: 227
Registriert: 27.12.2013, 09:12
Wohnort: Bad Neustadt, Deutschland
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von koppenho » 31.01.2017, 23:23

Seit dem Update meiner Fritz!Box 7490 auf FRITZ!OS 06.80 funktionieren bei mir die Funktionen "presence" und "online" in FB-main.sh nicht mehr.
Es sieht so aus als ob die Fritz!Box eine leere Liste zurückliefert. Kann das jemand bestätigen?

Update 05.02.2017: Lösung siehe Beitrag
http://homematic-forum.de/forum/viewtop ... 50#p340069
Zuletzt geändert von koppenho am 05.02.2017, 14:04, insgesamt 2-mal geändert.
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------

Antworten

Zurück zu „CUxD“