Netzwerkleiste über Commandline bedienen & skripten (Linux, auch Windows)

3 unabhängig über Internet / Ethernet mit dem Browser oder aus dem Desktop gesteuerte Steckdosen. Ein Webserver in der Steckdosenleiste kommuniziert mit dem Netzwerk.
Forumsregeln
Bei Problemen bitte immer:

1. Steckdosenleistentyp: (HOME, PRO) wenn möglich Seriennummer.
2. Windows-(Betriebsystem) und Browserversion.
3. Netzwerktyp: (DSL-Router, Firmennetzwerk, Crosskabel).

angeben. Danke
blueSpirit
Beiträge: 1
Registriert: Montag 12. September 2016, 10:05

Netzwerkleiste über Commandline bedienen & skripten (Linux, auch Windows)

Beitrag von blueSpirit » Montag 12. September 2016, 10:26

Hallo,

Wenn man per POST "F0=S" an die Seite "[IP]/ctrl.htm" schickt, kann man den Slot 1 toggeln (also aus "an" wird "aus" und vice versa). Mit "F1=S" wird der Slot 2 getoggelt und "F2=S" der Slot 3. Ich hab das ganze mal in der Linux Shell ausprobiert:

Code: Alles auswählen

curl --user admin:anel --data "F0=S" http://192.168.0.244/ctrl.htm
Und in der Datei "strg.cfg" steht der aktuelle Status der Slots. Folgende Zeile gibt "1" aus wenn Slot 1 aktiviert ist, und "0" wenn er aus ist:

Code: Alles auswählen

curl --silent --user admin:anel http://192.168.0.244/strg.cfg | awk -F ";" '{print $21}'
Ich bin mir sicher dass man was ähnliches auch unter Windows hin bekommt... Ach ja, und ich hab die Firmware 4.3 verwendet.

Gruß, Karl

PS: curl (https://curl.haxx.se/) ist ein Programm für Linux um zB Webseiten auszulesen...

reichardt
Beiträge: 38
Registriert: Sonntag 25. November 2012, 19:11

Re: Netzwerkleiste über Commandline bedienen & skripten (Linux, auch Windows)

Beitrag von reichardt » Freitag 16. September 2016, 11:27

Mit der ADV konnte ich auch mit dem Befehl schalten, aber beim Auslesen erhalte ich bei eingeschalteten Slot 1 den Wert "USB".
Das ist die Bezeichnung für meinen Slot 5.

Die strg.cfg sieht bei mir so aus:
iMac;1;1;37;;Monitor;1;0;29;;Thunderbolt;1;0;29;;TimeMachine;1;0;29;;USB;1;0;29;;Lacie Stereo;0;0;28;;Rland MacMini;0;0;0;;Scanner;0;0;0;;end

Edit: das wäre ganz gut zum Auslesen des Zusandes in einem Skript. Mal schauen ob ich mich einlesen kann in awk.
Denn die Datei trennt ja die Slots per ;;
Also: Name des Slots; 0/1 (aus/an); 0/1(Sperren aus/an); keine Ahnung;;

Edit2: das oben ist die strg.cfg von einer Leiste mit der aktuellen Firmware 6. Mit meiner alten Leiste, die noch eine 5er Firmware hatte sieht die strg ganz schön anders aus.
Adv Power SN:171012, OS X 10.8, Windows XP SP3, DSL-Routernetzwerk
USB-PwrCtrl im Bj. 2000 Stil :)

reichardt
Beiträge: 38
Registriert: Sonntag 25. November 2012, 19:11

Re: Netzwerkleiste über Commandline bedienen & skripten (Linux, auch Windows)

Beitrag von reichardt » Samstag 17. September 2016, 21:45

Für 6.x Firmware:
Mit der Hilfe auf Stackoverflow bekam ich folgendes awk Script zustande, *WENN* man OS X benutzt

Code: Alles auswählen

BEGIN {FS=";"; OFS=", "; RS=";"} 
/^$/ {
	$0 = rec
    rec = ""
    print $1, $2, $3
    next
}
{ rec = (rec ? rec FS : "") $0 }
Unter Linux reicht auch:

Code: Alles auswählen

BEGIN {FS=";"; OFS=", "; RS=";;"}
{ print print $1, $2, $3 }
Ich musste mich auf Stackoverflow informieren, weil ich zwar auf das Linux Script kam, aber das nicht unter OS X funktionierte. Grund dafür ist, dass OS X nicht GNU awk verwendet und deswegen nur ein Buchstabe für RS geht.
Das Script speichern als Textdate mit dem Namen "steckdose.awk" und dann

Code: Alles auswählen

curl --silent --user admin:anel http://IP-Adresse/strg.cfg | awk -f steckdose.awk
ausführen

Ausgabe ist: Name des Slots, An/aus, Sperre
Adv Power SN:171012, OS X 10.8, Windows XP SP3, DSL-Routernetzwerk
USB-PwrCtrl im Bj. 2000 Stil :)

reichardt
Beiträge: 38
Registriert: Sonntag 25. November 2012, 19:11

Re: Netzwerkleiste über Commandline bedienen & skripten (Linux, auch Windows)

Beitrag von reichardt » Samstag 17. September 2016, 22:03

Und für die Firmware < 6 (zumindest 5, kannst Du das auch testen?)

Code: Alles auswählen

BEGIN {FS=";"; OFS=", "}
{
	print $11, $21, $31
	print $12, $22, $32
	print $13, $23, $33
	print $14, $24, $34
	print $15, $25, $35
	print $16, $26, $36
	print $17, $27, $37
	print $18, $28, $38
}
Ausgabe ist: Name des Slots, An/aus, Sperre
Adv Power SN:171012, OS X 10.8, Windows XP SP3, DSL-Routernetzwerk
USB-PwrCtrl im Bj. 2000 Stil :)

Antworten