Schaltzentrale
Wir brauchen die Kommandos telnet
und expect
. telnet
müsste
installiert sein.
Interaktiv
Interaktiv kann die Steckdosenleiste über eine telnet
session gesteuert werden:
telnet example.dyndns.com 23
Steuerung per Skript
apt install expect
Eine ausführbare Datei mit dem Dateinamen
/usr/local/bin/schaltzentrale.expect
mit folgendem Inhalt erzeugen:
#! /usr/bin/expect
set port [lindex $argv 0]
set state [lindex $argv 1]
if {[llength $argv] != 2} {
puts "Usage: schaltzentrale.expect <port> <state>
port: 1-4
1: Port 1
2: Port 2
3: Port 3
4: Port 4
state:
0: off
1: on
for example:
2: Port 2 einschalten
schaltzentrale.expect 2 1
2: Port 2 ausschalten
schaltzentrale.expect 2 0
"
exit 1
}
set timeout 20
spawn telnet example.dyndns.com 23
expect "Console activated."
expect "Console login: "
send "admin\r"
expect "Password: "
send "password\r"
expect "Login accepted."
send "port $port state set $state\r"
expect "OK."
Das geht zum Beispiel mit nano
:
nano /usr/local/bin/schaltzentrale.expect
Ausführbar machen:
chmod a+x /usr/local/bin/schaltzentrale.expect
Dann ausloggen neu einloggen, oder frische Shell aufrufen:
bash
Dann gehts los:
Port 4 ausschalten
schaltzentrale.expect 4 0
Port 4 einschalten
schaltzentrale.expect 4 1