URL - Steuerung / Control protocol
Verfasst: Donnerstag 6. April 2017, 15:04
Über Adressleiste des Browsers kann ein Steuerungsbefehl gesendet werden.
Zu der URL-Adresse als IP oder Hostname wird: ?Befehl=Parameter,(optional)User+Passwort(als ein String - zusammengelegt) gesendet.
Leerzeichen (space) sind nicht erlaubt z.B; ?Sw = 0x55 , AAoIBQ8PCwkN. Richtig ist: ?Sw=0x55,AAoIBQ8PCwkN
User+Passwort kann Klartext, Base64 oder XOR+Base64 kodiert werden.
z. B.:
http://192.168.188.26?Sw=0x55,AAoIBQ8PCwkN
http://net-control?Sw=0b00001111,AAoIBQ8PCwkN
XOR+Base64 wird User+Passwort als ein String mit dem Passwort codiert.
JavaScript Beispiel:
encrypt(User+Passwort, Passwort)
-------------------------------------------------------------------------------------------------------------
NET-PwrCtrl HOME, PRO, POWER ab Firmware 4.5
NET-PwrCtrl ADV, HUT, IO ab Firmware 6.1
Auf jeden Befehl (außer Reset) kommt eine Antwort per u_res.htm.
-------------------------------------------------------------------------------------------------------------
Bei NET-PwrCtrl HOME, PRO, POWER:
Hostname ; IP ; Name/Position/Funktion ; Uhrzeit ; Sekunden seit dem (Neu)Start ; Typ{P=PRO,POWER;H=HOME} ; Firmware Version ; Temperatur (bei PRO,POWER)<br>
Steckdosen Name ; Schaltzustand {1=on;0=off} ; Sperrung{0=nicht gesperrt;1=gesperrt};
8-mal wiederholt für jede Steckdose (auch bei HOME)
HOME ;192.168.188.26;NET - Power;Do, 06.04.17 15:04:51;10;H;4.5;
Nr. 1;1;0;Nr. 2;0;0;Nr. 3;0;0;Nr. 4;0;1;Nr. 5;0;1;Nr. 6;0;1;Nr. 7;0;1;Nr. 8;0;1;
-------------------------------------------------------------------------------------------------------------
Bei NET-PwrCtrl ADV, HUT, IO:
Hostname ; IP ; Name/Position/Funktion ; NTP-Zeit;Sekunden seit dem (Neu)Start ; Typ{a= ADV;i=IO;h=HUT;f=HUT F};Firmware Version; Temperatur<br>
Steckdosen Name ; Schaltzustand {0=off;1=on} ; Sperrung{0=nicht gesperrt;1=gesperrt};
8-mal wiederholt für jede Steckdose <br>
Name des IO ; Schaltzustand {0=off;1=on} ; Richtung {0=Ausgang;1=Eingang};
8-mal wiederholt für jedes IO <br>
Bei Sensor {s;Temperature;Humidity;Brightness}
NET-H ;192.168.188.87;NET - Power Control;1491485194;19;h;6.1;25.3
Nr.1;0;0;Nr.2;1;1;Nr.3;0;0;Nr.4;1;0;Nr.5;0;0;Nr.6;1;0;Nr.7;0;0;Nr.8;1;0;
IO-1;0;0;IO-2;0;0;IO-3;0;0;IO-4;0;0;IO-5;0;0;IO-6;0;0;IO-7;0;0;IO-8;0;0;
s;21.91;41.2;8;
-------------------------------------------------------------------------------------------------------------
bei allen NET-PwrCtrl
Segment = Steckdosennummer oder IO As String;
Passwort = Passwort As String;
User = User As String
Hex Byte 2 stellig = 0x00-0xFF
Hex 16 Bit 4 stellig = 0x0000-0xFFFF
Binär 8 stellig 0b00000000-0b11111111
Die Länge des Befehls darf nicht geändert werden. Keine Leerzeichen dazwischen.
Status der Leiste senden
?Stat=UserPasswort
Relais einschalten
?Sw_on=Segment,UserPasswort
z.B.: ?Sw_on=1,UserPasswort
Relais ausschalten
?Sw_off=Segment,UserPasswort
z.B.: ?Sw_off=1,UserPasswort
Steckdose zeit-verzögert abschalten
?St_off=Segment,Zeit 16bit in Hex,UserPasswort
z.B.: ?St_off=1,0x0030,UserPasswort
alle Steckdosen schalten
?Sw=Steckdosen als Byte Hex oder Binär,UserPasswort
z.B.:
?Sw=0x55,UserPasswort
?Sw=0b00001111,UserPasswort
Steckdosen Nummer = 0b87654321, 0x(8765)(4321)
Reset
?Reset=UserPasswort
nur für NET-PwrCtrl ADV, HUT, IO ab Firmware 6.1
IO Richung (0=Ausgang; 1=Eingang)
?IO_dir=Richtung als Byte Hex oder Binär,UserPasswort
z.B.:
?IO_dir=0x55,UserPasswort
?IO_dir=0b00001111,UserPasswort
IO Nummer = 0b87654321, 0x(8765)(4321)
IO einschalten
?IO_on=Segment,UserPasswort
z.B.: ?IO_on=1,UserPasswort
IO ausschalten
?IO_off=Segment,UserPasswort
z.B.: ?IO_off=1,UserPasswort
alle IO’s schalten
?IO=IO’s als Byte Hex oder Binär,UserPasswort
z.B.:
?IO=0x55,UserPasswort
?IO=0b00001111,UserPasswort
IO Nummer = 0b87654321, 0x(8765)(4321)
ab FW 6.3
{
Steckdose Intervallschaltung (Blinken) / Socket interval switching (flashing)
?Sw_bl=Segment,Einschaltzeit/On time[Millisekunden],Ausschaltzeit/Off time[Millisekunden],User + Passwort
Zeit/Time als 16 Bit (unsigned integer) HEX in Millisekunden = max. 65.5 Sek.
z.B.:
?Sw_bl=1,0x04B0,0x04B0,adminanel
IO Intervallschaltung (Blinken) / IO interval switching (flashing)
?IO_bl=Segment,Einschaltzeit/On time[Millisekunden],Ausschaltzeit/Off time[Millisekunden],User + Passwort
Zeit/Time als 16 Bit (unsigned integer) HEX in Millisekunden = max. 65.5 Sek.
z.B.:
?IO_bl=1,0x04B0,0x04B0,adminanel
}
Zu der URL-Adresse als IP oder Hostname wird: ?Befehl=Parameter,(optional)User+Passwort(als ein String - zusammengelegt) gesendet.
Leerzeichen (space) sind nicht erlaubt z.B; ?Sw = 0x55 , AAoIBQ8PCwkN. Richtig ist: ?Sw=0x55,AAoIBQ8PCwkN
User+Passwort kann Klartext, Base64 oder XOR+Base64 kodiert werden.
z. B.:
http://192.168.188.26?Sw=0x55,AAoIBQ8PCwkN
http://net-control?Sw=0b00001111,AAoIBQ8PCwkN
XOR+Base64 wird User+Passwort als ein String mit dem Passwort codiert.
JavaScript Beispiel:
Code: Alles auswählen
function utoa(str) {return window.btoa(unescape(encodeURIComponent(str)))}
function encrypt(str, key){
var ord=[],res="",i
for (i=1;i<=255;i++) ord[String.fromCharCode(i)]=i
for (i=0;i<str.length;i++) res+=String.fromCharCode(ord[str.substr(i, 1)]^ord[key.substr(i%key.length,1)])
return(res)
-------------------------------------------------------------------------------------------------------------
NET-PwrCtrl HOME, PRO, POWER ab Firmware 4.5
NET-PwrCtrl ADV, HUT, IO ab Firmware 6.1
Auf jeden Befehl (außer Reset) kommt eine Antwort per u_res.htm.
-------------------------------------------------------------------------------------------------------------
Bei NET-PwrCtrl HOME, PRO, POWER:
Hostname ; IP ; Name/Position/Funktion ; Uhrzeit ; Sekunden seit dem (Neu)Start ; Typ{P=PRO,POWER;H=HOME} ; Firmware Version ; Temperatur (bei PRO,POWER)<br>
Steckdosen Name ; Schaltzustand {1=on;0=off} ; Sperrung{0=nicht gesperrt;1=gesperrt};
8-mal wiederholt für jede Steckdose (auch bei HOME)
HOME ;192.168.188.26;NET - Power;Do, 06.04.17 15:04:51;10;H;4.5;
Nr. 1;1;0;Nr. 2;0;0;Nr. 3;0;0;Nr. 4;0;1;Nr. 5;0;1;Nr. 6;0;1;Nr. 7;0;1;Nr. 8;0;1;
-------------------------------------------------------------------------------------------------------------
Bei NET-PwrCtrl ADV, HUT, IO:
Hostname ; IP ; Name/Position/Funktion ; NTP-Zeit;Sekunden seit dem (Neu)Start ; Typ{a= ADV;i=IO;h=HUT;f=HUT F};Firmware Version; Temperatur<br>
Steckdosen Name ; Schaltzustand {0=off;1=on} ; Sperrung{0=nicht gesperrt;1=gesperrt};
8-mal wiederholt für jede Steckdose <br>
Name des IO ; Schaltzustand {0=off;1=on} ; Richtung {0=Ausgang;1=Eingang};
8-mal wiederholt für jedes IO <br>
Bei Sensor {s;Temperature;Humidity;Brightness}
NET-H ;192.168.188.87;NET - Power Control;1491485194;19;h;6.1;25.3
Nr.1;0;0;Nr.2;1;1;Nr.3;0;0;Nr.4;1;0;Nr.5;0;0;Nr.6;1;0;Nr.7;0;0;Nr.8;1;0;
IO-1;0;0;IO-2;0;0;IO-3;0;0;IO-4;0;0;IO-5;0;0;IO-6;0;0;IO-7;0;0;IO-8;0;0;
s;21.91;41.2;8;
-------------------------------------------------------------------------------------------------------------
bei allen NET-PwrCtrl
Segment = Steckdosennummer oder IO As String;
Passwort = Passwort As String;
User = User As String
Hex Byte 2 stellig = 0x00-0xFF
Hex 16 Bit 4 stellig = 0x0000-0xFFFF
Binär 8 stellig 0b00000000-0b11111111
Die Länge des Befehls darf nicht geändert werden. Keine Leerzeichen dazwischen.
Status der Leiste senden
?Stat=UserPasswort
Relais einschalten
?Sw_on=Segment,UserPasswort
z.B.: ?Sw_on=1,UserPasswort
Relais ausschalten
?Sw_off=Segment,UserPasswort
z.B.: ?Sw_off=1,UserPasswort
Steckdose zeit-verzögert abschalten
?St_off=Segment,Zeit 16bit in Hex,UserPasswort
z.B.: ?St_off=1,0x0030,UserPasswort
alle Steckdosen schalten
?Sw=Steckdosen als Byte Hex oder Binär,UserPasswort
z.B.:
?Sw=0x55,UserPasswort
?Sw=0b00001111,UserPasswort
Steckdosen Nummer = 0b87654321, 0x(8765)(4321)
Reset
?Reset=UserPasswort
nur für NET-PwrCtrl ADV, HUT, IO ab Firmware 6.1
IO Richung (0=Ausgang; 1=Eingang)
?IO_dir=Richtung als Byte Hex oder Binär,UserPasswort
z.B.:
?IO_dir=0x55,UserPasswort
?IO_dir=0b00001111,UserPasswort
IO Nummer = 0b87654321, 0x(8765)(4321)
IO einschalten
?IO_on=Segment,UserPasswort
z.B.: ?IO_on=1,UserPasswort
IO ausschalten
?IO_off=Segment,UserPasswort
z.B.: ?IO_off=1,UserPasswort
alle IO’s schalten
?IO=IO’s als Byte Hex oder Binär,UserPasswort
z.B.:
?IO=0x55,UserPasswort
?IO=0b00001111,UserPasswort
IO Nummer = 0b87654321, 0x(8765)(4321)
ab FW 6.3
{
Steckdose Intervallschaltung (Blinken) / Socket interval switching (flashing)
?Sw_bl=Segment,Einschaltzeit/On time[Millisekunden],Ausschaltzeit/Off time[Millisekunden],User + Passwort
Zeit/Time als 16 Bit (unsigned integer) HEX in Millisekunden = max. 65.5 Sek.
z.B.:
?Sw_bl=1,0x04B0,0x04B0,adminanel
IO Intervallschaltung (Blinken) / IO interval switching (flashing)
?IO_bl=Segment,Einschaltzeit/On time[Millisekunden],Ausschaltzeit/Off time[Millisekunden],User + Passwort
Zeit/Time als 16 Bit (unsigned integer) HEX in Millisekunden = max. 65.5 Sek.
z.B.:
?IO_bl=1,0x04B0,0x04B0,adminanel
}