Änderungen

ShellScript:FritzBox

12.866 Byte hinzugefügt, 22:40, 16. Apr. 2015
/* Befehlsübersicht */
<u>erster Aufruf:</u>
*mit [[Telnet ]] in den Ordner wechseln, in dem sich das Script sich befindet: ''cd /usr/local/addons/cuxd/user/''
*einen beliebigen Befehl aufrufen
**''sh FritzBox.sh WLAN 0'' (oder ''sh /usr/local/addons/cuxd/user/FritzBox.sh WLAN 0'' ohne Wechsel in den Ordner)
== Befehlsübersicht ==
 
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [state CUX9001xxx:x]'''<br/>Status an CUxD (90)State-Monitor Device</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1 CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter)) und SysVar [CUX2801xxx:x-Status] -> Werteliste: nicht erreichbar;erreichbar;unbekannt</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1-p CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter)) und SysVar: [CUX2801xxx:x-Status] [CUX2801xxx:x-Leistung] -> Zahl</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1-t CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter)) und SysVar: [CUX2801xxx:x-Status] [CUX2801xxx:x-Temperatur] -> Zahl</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1-pt CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter)) und SysVar: [CUX2801xxx:x-Status] [CUX2801xxx:x-Leistung] [CUX2801xxx:x-Temperatur]</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1-pts CUX2801xxx:x]'''<br/>aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter)) und SysVar: [CUX2801xxx:x-Status] [CUX2801xxx:x-Leistung] [CUX2801xxx:x-Temperatur] [CUX2801xxx:x-Schaltzustand]</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [power CUX2801xxx:x]'''<br/>Status an SysVar [CUX2801xxx:x-Leistung] -> Zah</span>l
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [power1 CUX9000xxx:x]'''<br/>Status an CUxD (90)Transform Device</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [temperature CUX2801xxx:x]'''<br/>Status an SysVar [CUX2801xxx:x-Temperatur] -> Zahl</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [temperature1 CUX9000xxx:x]'''<br/>Status an CUxD (90)Transform Device</span>
*<span style="font-size:small">'''sh FritzBox.sh FB-AHA [AIN|MAC] [temperature2 CUX9002xxx:x]'''<br/>Status an CUxD (90)Thermostat Device</span>
*<span style="font-size:small">'''sh FritzBox.sh FON-alarm [610|611|...] [1|2|3] [0|1|...] [Text]'''<br/><span style="font-size:small">Beispiel: ''sh FritzBox.sh FON-alarm 610 1 8 Hallo%20Welt''</span>
*<span style="font-size:small">'''sh FritzBox.sh FON-RingTone [610|611|...] [0|1|...]'''<br/><span style="font-size:small">Beispiel: ''shFritzBox.sh FON-RingTone 610 16''</span>
*<span style="font-size:small">'''sh FritzBox.sh FON-Name [610|611|...] [Name]'''<br/><span style="font-size:small">Beispiel: ''sh FritzBox.sh FON-Name 610 Name''</span>
*<span style="font-size:small">'''sh FritzBox.sh WLAN [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh WLAN5 [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh WLANGast [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh WLANNacht [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh WLANAnwesend [Name des WLAN Geraetes] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh WLANAnwesend Geraet CCUVariable''</span>
*<span style="font-size:small">'''sh FritzBox.sh WLANOnline [Name des WLAN Geraetes] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh WLANOnline Geraet CCUVariable''</span>
*<span style="font-size:small">'''sh FritzBox.sh LANAnwesend [Name des LAN Geraetes] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh LANAnwesend Geraet CCUVariable''</span>
*<span style="font-size:small">'''sh FritzBox.sh LANOnline [Name des LAN Geraetes] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel:''sh FritzBox.sh LANOnline Geraet CCUVariable''</span>
*<span style="font-size:small">'''sh FritzBox.sh WakeOnLan [Name des LAN Geraetes]'''<br/>Beispiel: ''sh FritzBox.sh WakeOnLan Geraetename''</span>
*<span style="font-size:small">'''sh FritzBox.sh DECT [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh UMTS [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh CallThrough [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">'''sh FritzBox.sh NACHTRUHE [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh KLINGELSPERRE [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh ANRUFEN [(Telefonnummer z.B. **610)]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh RUFUMLEITUNG [0|1|2|3(Rufumleistung)] [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh Diversity [0|1|2|3(Rufumleistung)] [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh DECT200 [16|17|18|19] [0|1]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh DECT200Energie [Nummer des Aktors:16|17|18|19] [Name der Variable in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh DECT200Energie 16 DECT200''</span>
*<span style="font-size:small">'''sh FritzBox.sh AB [0|1|2...-9] [0|1|state CUX2801xxx:x]'''</span><br/><span style="font-size:small">aus/ein, Status an das sendende Gerät (CUxD (28)System.Exec (Schalter))</span>
*<span style="font-size:small">Beispiel schaltet den 2. AB ein: ''sh FritzBox.sh AB 1 1''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-AB [1|2...-10] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel Status 2. AB:''sh FritzBox.sh Status-AB 2 CCUVariableAB2''</span>
*<span style="font-size:small">'''sh FritzBox.sh Anrufliste'''</span>
*<span style="font-size:small">'''sh FritzBox.sh Anrufliste2CCU [0000(HOMEMATIC Webmatic SYSVAR ID)] [Anzahl Eintraege]'''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-Rufumleitung [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-Rufumleitung RufumleitungVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-DECT [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-DECT DECTanausVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-UMTS [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-UMTS UMTSanausVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-DECT200 [16|17|18|19] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-DECT200 16 DECT16VariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-IP [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh SStatus-IP ExterneIPVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-KLINGELSPERRE [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-KLINGELSPERRE KLINGELSPERREVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-Verbindung [Name der logischen Variable (Bool)in der CCU] '''<br/>Beispiel: ''sh FritzBox.sh Status-Verbindung InternetverbundenVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-Verbindungszeit [Name der logischen Variable (Zeichenkette)in der CCU] '''<br/>Beispiel:''sh FritzBox.sh Status-Verbindungszeit InternetVerbindungszeitVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-WLAN [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-WLAN WLANanausVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-WLAN5 [Name der logischen Variable (Bool)in der CCU] '''<br/>Beispiel:''sh FritzBox.sh Status-WLAN5 WLAN5anausVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-WLANGast [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-WLANGast WLANGastanausVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-WLANZeitschaltung [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-WLANZeitschaltung WLANZeitschaltungVariableCCU''</span>
*<span style="font-size:small">'''sh FritzBox.sh Weckruf [0|1|2] [0|1]'''<br/>Beispiel - schaltet den ersten Weckruf ein: ''sh FritzBox.sh Weckruf 0 1''</span>
*<span style="font-size:small">'''sh FritzBox.sh Status-Weckruf [0|1|2] [Name der logischen Variable (Bool)in der CCU]'''<br/>Beispiel: ''sh FritzBox.sh Status-Weckruf 0 CCUvarWeckruf1''</span>
*<span style="font-size:small">'''sh FritzBox.sh reboot'''</span>
 
== Integration ==
 
=== CUxD - (28)System.Exec ===
Dieses Gerät ruft das Shellscript auf.<br />
Installation und Beschreibung des Gerätes ist aus der CUxD-Doku zu entnehmen.
 
==== ein-/ausschalten mit Statusanzeige ====
 
(28)System.Exec wird hier als Schalter verwendet (ein/aus).
 
<u>Geräteparameter einstellen:</u><br/>PARAM1 [sh /usr/local/addons/cuxd/user/FritzBox.sh]<span style="color:#B22222"> -> ruft das Script auf</span><br/>PARAM2 [x 192.168.125.1 CCU HomeMatic]<span style="color:#B22222"> -> der Login</span>
 
[[File:FritzBox geraete-parameter.jpg|RTENOTITLE]]
 
 
 
<u>Scriptaufruf und Login via Parameter:</u><br/>SWITCH|CMD_SHORT [$_P1$ $_P2$ WLAN 0] <span style="color: #BF0000">-> ausschalten</span><br/>SWITCH|CMD_LONG [$_P1$ $_P2$ WLAN 1] <span style="color: #BF0000">-> einschalten</span><br/>SWITCH|CMD_TIMER [$_P1$ $_P2$ WLAN state $CHANNEL$] <span style="color: #BF0000">-> Status-Abfrage für diesen Kanal</span>
 
[[File:FritzBox wlan.jpg|RTENOTITLE]]
 
 
 
<u>Scriptaufruf via Parameter, Login über die Config im Script:</u><br/>SWITCH|CMD_SHORT [$_P1$ WLAN5 0]<span style="color: #BF0000">-> ausschalten</span><br/>SWITCH|CMD_LONG [$_P1$ WLAN5 1] <span style="color: #BF0000">-> einschalten</span><br/>SWITCH|CMD_TIMER [$_P1$ WLAN5 state $CHANNEL$] <span style="color: #BF0000">-> Status-Abfrage für diesen Kanal</span>
 
[[File:FritzBox wlan5.jpg|RTENOTITLE]]
 
Hier wurde auch der Parameter <span style="font-weight: bold">$CHANNEL$</span> verwendet - dieser ersetzt SN:Kanal des Gerätes, von dem er aufgerufen wird.
 
 
 
<u>Verwendung eines Kanalparamters mit einem DECT200.Eintrag in den Geräteparametern:</u><br/>PARAM1 [sh /usr/local/addons/cuxd/user]<br/><br/>SWITCH|CMD_SHORT [$_P1$/FritzBox.sh FB-AHA $_C1$ 0]<span style="color: #BF0000">-> ausschalten</span><br/>SWITCH|CMD_LONG [$_P1$/FritzBox.sh FB-AHA $_C1$ 1] <span style="color: #BF0000">-> einschalten</span><br/>SWITCH|CMD_TIMER [$_P1$/FritzBox.sh FB-AHA $_C1$ state1 $CHANNEL$] <span style="color: #BF0000">-> Status-Abfrage für diesen Kanal</span>
 
[[File:FritzBox dect200.jpg|RTENOTITLE]]<br/><br/>Mit Hilfe von Kanalparametern können für mehrere DECT200 die Befehle immer gleich bleiben.<br/>Es ist nur die AIN-Nummer einzutragen.
 
==== ein-/ausschalten mit Statusanzeige und SystemVariablen ====
 
Funktion und Aufruf ist hier gleich wie bei "ein-/ausschalten mit Statusanzeige".<br/>Zusätzlich werden hier aber SystemVariablen benötigt, die von einem erweiterten "state"-Befehl befüllt werden. Je nach Befehl werden unterschiedliche SysVars benötigt.
 
[[File:FritzBox exec.jpg|RTENOTITLE]]
 
Befehl für dieses Beispiel: ''<span style="font-size:small">sh FritzBox.sh FB-AHA [AIN|MAC] [0|1|state1-pt CUX2801234:6]</span>''<br/>In "SWITCH|CMD_TIMER" ist also "state1-pt" anstelle von "state" einzutragen, da dieser Befehl die 3 SysVars befüllen kann.<br/>Die hier verwendete SN:Kanal ist jene, vom aufrufenden (28)System.Exec-Gerät. SystemVariablen sind in dieser Form anzulegen, damit eine die Zuordnung erfolgten kann.<br/>Die SystemVariablen wurden beim Erstellen dem entsprechenden (28)System.Exec-Gerät zugeordnet und dient nur einer schöneren Visualisierung.
 
<span style="font-size:small"><u>Namen und eigenschaften der Systemvariablen:</u><br/>[CUX2801xxx:x-Status] -> Werteliste: nicht erreichbar;erreichbar;unbekannt<br/>[CUX2801xxx:x-Leistung] -> Zahl<br/>[CUX2801xxx:x-Temperatur] -> Zahl</span>
95
Bearbeitungen