FritzBox 6.3 per CUxD steuern

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

Moderator: Co-Administratoren

Kaiter
Beiträge: 3
Registriert: 09.04.2016, 10:21

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Kaiter » 20.04.2016, 21:46

Dragonfly hat geschrieben:Ja, es läuft über die FB-main.sh:
./FB-main.sh presence [Name_des_Geraetes] [Name_der_SysVar] -> SysVar/Logikwert (true/false)
./FB-main.sh online [Name_des_Geraetes] [Name_der_SysVar] -> SysVar/Logikwert (true/false)

Das Update ist im 1. Beitrag - die 2 Befehle sind neu:
Bei Aufruf werden von beiden Befehlen die selben Daten heruntergeladen und zwischengespeichert - für 2 Minuten.
So sind Mehfachabfragen ohne großartige Last der CCU und FritzBox möglich - der Nachteil: die Daten sind halt 2 Minuten alt.

Die 3 Abfragen, die nicht funktioniert haben, sind gefixt.

Die FB-fon.sh dauert leider noch ein wenig, muß noch den Code etwas aufräuemen, dann gibts bald die 1.Version davon....
Daran liegt das mit der Verzögerung. Kann ich das zwischenspeichern beeinflussen?

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Dragonfly » 20.04.2016, 22:41

Ja, kann man - sei aber vorsichtig!
Als das mit den 2 Minuten "besprochen" wurde, haben wir festgestellt, daß sehr viele Geräte abgefragt werden wollen.
Wird nichts zwischengespeichert hätte man bei 5 Geräten 5x/Minute den Aufbau zur Fritz - so nur 1x alle 2 Minuten.
Rechnet man dann noch andere abfragen dazu (DECT, WLAN,...) kommt ganz schon viel zusammen.
10 Anfragen/Minute * 60 * 24 = 14400 Verbindungen/Tag

Es soll im Endeffekt nicht auf ein "Fritzbox-Script legt CCU lahm" rauslaufen - die ist eh so empfindlich....

Das findest du im Code:

Code: Alles auswählen

...
get_network_user_devices_CCU1(){
...
get_network_user_devices_CCU2(){
....
Wenn du hier für CCU1 und CCU2 die Namen vertauschst, wird garnicht zwischengespeichert.

Besser wäre allerdings du würdest für die CCU2 die Zeit auf 1 Minute runtersetzten:

Code: Alles auswählen

...
get_network_user_devices_CCU2(){
... -mmin +2 -print0...
LG

Benutzeravatar
Homematic-Fan
Beiträge: 81
Registriert: 22.08.2015, 13:07
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: FritzBox 6.3 per CUxD steuern

Beitrag von Homematic-Fan » 24.04.2016, 10:27

Hallo zusammen,

das Thema Fritzbox-Integration ist für mich noch Neuland.
Habe soweit alles Installiert, kann WLAN ein- und ausschalten, CUX-D läuft auch schon lange.
Nun meine Frage:
Möchte die Anrufliste in einer SYSVAR auf der CCU speichern.
Gehe davon aus, eine SYSVAR z.B. "Anrufliste" (Zeichenketten), da steht dann eine Liste der Anrufe mit Zeitpunkt und Nummer drin.
Wir kann ich die nun über CUXD befüllen ?
Gibt es die Möglichkeit eine zweite Variable zu steuern (Neue Anrufe ja/nein)

Habe die Vorstellung:
CCU-Programm mit Zeitsteuerung z.B. alle 2 Minuten
Dann Script: ???

Gruß Andi

PS: Habe diese 22 Seiten durchstöbert und auch die Suchfunktion hat mich leider nicht weitergebracht.
2x Raspberry-Matic auf Tinkerboard-S, 3x Raspberry Pi3B für diverse Aufgaben, 1x CCU-2, 2x Synology DS216/218play, 2x ioBroker auf Rasberry Pi4, Grafana, 1x Wiffi-WZ, >210 Geräte
Gardena R40Li mit Robonect und Steuerung komplett über HM
1x IPad Air2, 5x Android-Tab 7", alle mit Mediola Neo

ittk
Beiträge: 1
Registriert: 30.03.2016, 09:05

Re: FritzBox 6.3 per CUxD steuern

Beitrag von ittk » 27.04.2016, 12:19

Hi,

danke für die tollen Skriptleistungen.

Welche Funktionen sind mit der neusten Version im Bereich "Anrufe" möglich?
Und was habt Ihr damit bereits alles realisiert?

Dazu noch einige Fragen (da ich meine FritzBox noch nicht habe, kann ich slebser noch nicht testen):

Funktionieren alle Funktionen noch mit der neusten 6.5.1 bzw. 6.55 Labor-Firmware?
Können auch externe Zielrufnummern z. B. Mobilfunkrufnummern als Anwahlziel angegeben werden, um sich auf das Handy benachrichtigen zu lassen?
Lässt Sie die Absenderufnummer speziell festlegen 7 konfigurieren, sodass man diese Nummer ausschließlich für Alarmanrufe nutzt und dieser am Smartphone einen speziellen Klingeltion zuweisen kann?
Ist eine Nachtschaltung möglich, sodass man nachts nicht per Anruf belästigt wird? Ist wohl wahrscheinlich nur mittels Kombination mit dem AB als Abwurfziel möglich?
Wie lange wird angerufen, oder solange, bis ich abnehme?
Inidividuelle Sprachansagen für den Anruf funktionieren wohl nicht? Sprich man wird nur angerufen...

Aus dem Code sehe ich, dass Nachfolgendes nicht implementiert ist?
Gibt es diese Funktionen im TR-064 nicht mehr?

Danke und Gruß,
ittk

Code: Alles auswählen

					Debugmsg2=$Debugmsg2"        -- noch nicht umsetzbar ------------------------------------------------------------------------------------------------------------\n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh FON-alarm [610|611|...] [1|2|3] [0|1|...] [Text] -> FB-fon.sh FON-alarm 610 1 8 Hallo%20Welt \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh FON-RingTone [610|611|...] [0|1|...] ->  sh FB-fon.sh FON-RingTone 610 16 (16=lautlos, 3=standard,...)\n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh FON-Name [610|611|...] [Name] -> FB-fon.sh FON-Name 610 Name\n"

					Debugmsg2=$Debugmsg2"        ./FB-fon.sh CallThrough [0|1|state  CUX2801xxx:x]] \n"	
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh NACHTRUHE [0|1] \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh KLINGELSPERRE [0|1] \n"

					Debugmsg2=$Debugmsg2"        ./FB-fon.sh RUFUMLEITUNG [0|1|2|3(Rufumleitung)] [0|1] \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Diversity [0|1|2|3(Rufumleitung)] [0|1] \n"



					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Anrufliste2CCU [0000(HOMEMATIC Webmatic SYSVAR ID)] [Anzahl Eintraege] \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Status-Rufumleitung [Name der logischen Variable (Bool)in der CCU] Beispiel: FB-fon.sh Status-Rufumleitung RufumleitungVariableCCU \n"
	
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Status-KLINGELSPERRE [Name der logischen Variable (Bool)in der CCU] Beispiel: FB-fon.sh Status-KLINGELSPERRE KLINGELSPERREVariableCCU \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Weckruf [0|1|2] [0|1] - Beispiel: Schaltet den ersten Weckruf ein  FB-fon.sh Weckruf 0 1 \n"
					Debugmsg2=$Debugmsg2"        ./FB-fon.sh Status-Weckruf [0|1|2] [Name der logischen Variable (Bool)in der CCU] - Beispiel: FB-fon.sh Status-Weckruf 0 CCUvarWeckruf1 \n"

svonbentzel
Beiträge: 61
Registriert: 01.05.2016, 11:57

Re: FritzBox 6.3 per CUxD steuern

Beitrag von svonbentzel » 01.05.2016, 12:08

Hallo liebe forumsgemeinde.
Will mich mal kurz vorstellen.
Mein Name ist Sebastian und komme aus dem schönen Bayern ;-)

Nun hab ich schon viel gelesen und gegoogelt, wird aber irgendwie nicht besser hier mit meinem CCU & Fritzbox / Fritzfon vorhaben ;-)

Wenn ich die Anwendung via Putty Starte klappt mein Tür Sammelruf wie gewünscht. Jedoch wenn ich versuche das ganze automatisiert von der CCU aus zu starten via CuxD dann passiert Nüscht.

Kann mir hier bitte jemand helfen?

Ziel: Klingelsensor aktiviert Telefonklingeln.

Code: Alles auswählen

#!/bin/sh
# run.sh
# Version 0.0.2

sh FB-fon.sh call **9 7

Code: Alles auswählen

# sh run.sh
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:X_AVM-DE_DialNumberResponse xmlns:u="urn:dslforum-org:service:X_VoIP:1"></u:X_AVM-DE_DialNumberResponse>
</s:Body>
</s:Envelope><?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:X_AVM-DE_DialHangupResponse xmlns:u="urn:dslforum-org:service:X_VoIP:1"></u:X_AVM-DE_DialHangupResponse>
</s:Body>
</s:Envelope>EndFritzBoxSkript()
                EXITCODE: 0
                MESSAGE : Erfolgreich


*** Messages DebugLevel-1:
FritzBox Version        : FRITZ!Box 7490 113.06.51
Script-Version          : FB-fon.sh v0.1.0
verwendbar mit          : FB.common v0.1.6 / FB.cfg v0.1.1
Parameter FritzBox      : 192.168.178.1
Parameter Username      : homematic
Parameter Passwd        : ***********
Parameter HM CCU2       : 127.0.0.1
Parameter ADDONDIR      : /usr/local/addons/cuxd
Parameter COMMON        : /usr/local/addons/cuxd/user/FB.common - v0.1.6
Parameter CONFIGFILE    : /usr/local/addons/cuxd/user/FB.cfg - v0.1.1
Parameter Debug         : /tmp/FB-fon@192.168.178.1-debug.log

Befehl        : FB-fon.sh call **9 7

*** Messages DebugLevel-2:

Aufruf XML:
<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:X_AVM-DE_DialNumber xmlns:u='urn:dslforum-org:service:X_VoIP:1'>  <NewX_AVM-DE_PhoneNumber>**9</NewX_AVM-DE_PhoneNumber> </u:X_AVM-DE_DialNumber> </s:Body> </s:Envelope>


Aufruf XML:
<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:X_AVM-DE_DialHangup xmlns:u='urn:dslforum-org:service:X_VoIP:1'>   </u:X_AVM-DE_DialHangup> </s:Body> </s:Envelope>


Aufruf XML:
<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetInfo xmlns:u='urn:dslforum-org:service:DeviceInfo:1'>   </u:GetInfo> </s:Body> </s:Envelope>


Parameter TR064_temp:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:GetInfoResponse xmlns:u="urn:dslforum-org:service:DeviceInfo:1">
<NewManufacturerName>AVM</NewManufacturerName>
<NewManufacturerOUI>00040E</NewManufacturerOUI>
<NewModelName>FRITZ!Box 7490</NewModelName>
<NewDescription>FRITZ!Box 7490 113.06.51</NewDescription>
<NewProductClass>FRITZ!Box</NewProductClass>
<NewSerialNumber>5C497945CF06</NewSerialNumber>
<NewSoftwareVersion>113.06.51</NewSoftwareVersion>
<NewHardwareVersion>FRITZ!Box 7490</NewHardwareVersion>
<NewSpecVersion>1.0</NewSpecVersion>
<NewProvisioningCode></NewProvisioningCode>
<NewUpTime>3373937</NewUpTime>
<NewDeviceLog>01.05.16 03:18:14 Internetverbindung wurde erfolgreich hergestellt. 
</NewDeviceLog>
</u:GetInfoResponse>
</s:Body>
</s:Envelope>


*************************
0 Erfolgreich
#

Wie gesagt aus dem Terminal raus läuft alles prima aber aus der ccu raus tut nich nix.
Wie muss die das script im Cuxd anlegen damit das funzt?
Habe es mit Tastern exec und schaltern versucht. verschiedene Parameter mit und ohne sh usw.

aus dem log von cuxd werd ich auch nicht schlau...

Code: Alles auswählen

 May  1 11:15:18 homematic-ccu2 daemon.info cuxd[4778]: system(sh /usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:17:40 homematic-ccu2 daemon.info cuxd[239]: delete CUX2801002
May  1 11:18:28 homematic-ccu2 daemon.info cuxd[239]: create CUX2800002 'Fritzbox' dtype=28&dtype2=1&dserial=2&dname=Fritzbox&dbase=10045&dcontrol=0'
May  1 11:29:36 homematic-ccu2 daemon.debug cuxd[5292]: CUX2801002:1 /usr/local/addons/cuxd/user/run.sh
May  1 11:29:36 homematic-ccu2 daemon.info cuxd[5292]: system(/usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:33:26 homematic-ccu2 daemon.debug cuxd[5391]: CUX2801002:1 sh /usr/local/addons/cuxd/user/run.sh
May  1 11:33:26 homematic-ccu2 daemon.info cuxd[5391]: system(sh /usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:34:00 homematic-ccu2 daemon.debug cuxd[5409]: CUX2801002:1 /usr/local/addons/cuxd/user/run.sh
May  1 11:34:01 homematic-ccu2 daemon.info cuxd[5409]: system(/usr/local/addons/cuxd/user/run.sh) exit(2) 1s
May  1 11:37:08 homematic-ccu2 daemon.debug cuxd[5491]: CUX2801002:1 /usr/local/addons/cuxd/user/run.sh
May  1 11:37:08 homematic-ccu2 daemon.info cuxd[5491]: system(/usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:37:41 homematic-ccu2 daemon.debug cuxd[5510]: CUX2801002:1 /usr/local/addons/cuxd/user/FB-fon.sh **9 7
May  1 11:37:42 homematic-ccu2 daemon.info cuxd[5510]: system(/usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s
May  1 11:37:58 homematic-ccu2 daemon.debug cuxd[5528]: CUX2801002:1 /usr/local/addons/cuxd/user/FB-fon.sh **9 7
May  1 11:37:59 homematic-ccu2 daemon.info cuxd[5528]: system(/usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s
May  1 11:43:07 homematic-ccu2 daemon.debug cuxd[5668]: CUX2801002:1 /usr/local/addons/cuxd/user/FB-fon.sh **9 7
May  1 11:43:08 homematic-ccu2 daemon.info cuxd[5668]: system(/usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s
May  1 11:44:16 homematic-ccu2 daemon.debug cuxd[5718]: CUX2801002:1 /usr/local/addons/cuxd/user/FB-fon.sh **9 7
May  1 11:44:16 homematic-ccu2 daemon.info cuxd[5718]: system(/usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 0s
May  1 11:45:20 homematic-ccu2 daemon.debug cuxd[5760]: CUX2801002:1 /usr/local/addons/cuxd/user/run.sh
May  1 11:45:20 homematic-ccu2 daemon.info cuxd[5760]: system(/usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:46:40 homematic-ccu2 daemon.debug cuxd[5804]: CUX2801002:1 sh /usr/local/addons/cuxd/user/run.sh
May  1 11:46:40 homematic-ccu2 daemon.info cuxd[5804]: system(sh /usr/local/addons/cuxd/user/run.sh) exit(2) 0s
May  1 11:47:00 homematic-ccu2 daemon.debug cuxd[5819]: CUX2801002:1 sh /usr/local/addons/cuxd/user/FB-fon.sh **9 7
May  1 11:47:01 homematic-ccu2 daemon.info cuxd[5819]: system(sh /usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s 

svonbentzel
Beiträge: 61
Registriert: 01.05.2016, 11:57

Re: FritzBox 6.3 per CUxD steuern

Beitrag von svonbentzel » 01.05.2016, 20:38

Code: Alles auswählen

 May  1 20:09:30 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 9 0x09 [3] 0 0x00 [4] 28 0x1c  [../Platform/DOM/iseESPexec.cpp (11622)]
May  1 20:09:30 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 9 0x09 [3] 0 0x00 [4] 28 0x1c  [../Platform/DOM/iseESPexec.cpp (11622)]
May  1 20:10:04 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 9 0x09 [3] 0 0x00 [4] 28 0x1c  [../Platform/DOM/iseESPexec.cpp (11622)]
May  1 20:10:04 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 144 0x90 [1] 0 0x00 [2] 9 0x09 [3] 0 0x00 [4] 28 0x1c  [../Platform/DOM/iseESPexec.cpp (11622)]
May  1 20:10:22 homematic-ccu2 daemon.info cuxd[18511]: system(sh /usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s
May  1 20:35:36 homematic-ccu2 daemon.info cuxd[19226]: system(sh /usr/local/addons/cuxd/user/FB-fon.sh **9 7) exit(4) 1s 
das ist das Resultat wenn ich einen Tastendruck simuliere... :-(

svonbentzel
Beiträge: 61
Registriert: 01.05.2016, 11:57

Re: FritzBox 6.3 per CUxD steuern

Beitrag von svonbentzel » 02.05.2016, 08:25

Hab das Problem gefunden!

es war das pwd, working Directory.

;-) gesetzt... läuft.

Danke trotzdem :D

andybau
Beiträge: 79
Registriert: 18.11.2014, 18:29

Re: FritzBox 6.3 per CUxD steuern

Beitrag von andybau » 29.05.2016, 10:05

Liege ich da nun falsch, dass es möglich ist, sagen wir mal im Alarmfall auf meinem Handy angerufen zu werden. Oder ist es nicht möglich?

Könnte mir jemand behilflich sein, dass auch hinzubekommen?
Habe hier viel durchgelesen, aber irgendwie durch die vielen Postings irritiert, wie
es nun geht.

Die Scripte von Dragonfly haben ich bereits erfolgreich auf der CCU2 installiert.
Das Schalten des Gäste-WLan läuft bereits bei mir.

Jediglich die Konfiguration eines externen Anrufes schnall ich noch nicht.

Über Hilfe wäre ich sehr erfreut.

motze
Beiträge: 1
Registriert: 24.06.2016, 15:23

Re: FritzBox 6.3 per CUxD steuern

Beitrag von motze » 24.06.2016, 15:33

Hallo

Habe eine Fritzbox 7490 mit 6.51
Alles funktioniert wunderbar. Vielen vielen Dank.

Ich habe mir über CuxD einen virtuellen Gong erstellt und dort dann die Parameter eingestellt.
In der Fritzbox die Wahlhilfe eingeschalten und einen virtuellen S0 Aparat / Telefon erstellt.
Dort eine eigene nummer für diesen Aparat vergeben, dass ich auf meinem Handy im Falle eines anrufes sofort erkenne, dass es sich um einen Alarmanruf handelt.
Bei Auslösung eines Alarm wird dann einfach der Gong / Aktor aktiviert und mittels des Times in den Parameter wird der Anruf dann nach 15 Sekunden deaktiviert.
Nach 30 Sekunden lasse ich dann das Telefon meiner Frau anrufen, falls ich nicht erreichbar bin.

Ein Bild von meinen Parametern hänge ich an und hoffe, dass ich dann dem ein oder anderem helfen konnte.

Bitteschön :)

PS: Natürlich muss noch der User in der Fritzbox erstellt werden und die Daten dann bitte in FB.cfg rein packen ... sollte aber klar sein
Dateianhänge
HM_FB_TEL.JPG

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

Re: FritzBox 6.3 per CUxD steuern

Beitrag von davidmuc » 08.08.2016, 22:28

Hallo @Dragonfly,
ich möchte zwecks Anwesenheitssteuerung gerne so schnell wie möglich wissen, wenn ein Wlan-Gerät sich an der Fritzbox an- oder abmeldet. Du hattest dazu oben folgendes geschrieben:
Dragonfly hat geschrieben:(...)
Das findest du im Code:

Code: Alles auswählen

...
get_network_user_devices_CCU1(){
...
get_network_user_devices_CCU2(){
....
Wenn du hier für CCU1 und CCU2 die Namen vertauschst, wird garnicht zwischengespeichert.
Besser wäre allerdings du würdest für die CCU2 die Zeit auf 1 Minute runtersetzten:

Code: Alles auswählen

...
get_network_user_devices_CCU2(){
... -mmin +2 -print0...
Leider klappt das bei mir nicht: abhängig davon, wie ich die Zeit in der FB-main.sh verändere (z.B. -mmin +0.1), wird das tmp-File mit der Geräteliste gar nicht mehr aktualisiert, oder das Intervall bleibt bei 2 Minuten.

Welche Änderung muss ich an welcher Stelle genau machen, damit die Fritzbox
a) bei jedem Aufruf des Scripts direkt, oder besser
b) nur alle 15 Sekunden
abgefragt wird?


Besten Dank und Gruß,
David

Antworten

Zurück zu „CUxD“