Skip to content

Energenie PMS2-LAN von der Konsole fernsteuern

^ v M ><
Als neues Spielzeug habe ich mir eine per Netzwerk schaltbare Steckerleiste besorgt, um abgestürzten Raspberries und ähnlichen Geräten auch aus der Ferne einen Neustart zu ermöglichen. Für die Steuerung gibt es ein Webinterface, eine proprietäre Software für ein proprietäres Betriebssystem und eine Handy-App, wofür das Gerät zum Server des Herstellers verbinden muss. Für eine Automatisierungslösung auf der Linux-Konsole muss daher etwas Kreativität und ein paar Zeilen Shellcode her. "Glücklicherweise" ist das Webinterface mit der ganz heissen Nadel gestrickt und Security als überflüssige Geldverschwendung abgetan worden, daher ist das Skript recht simpel ausgefallen:
#!/bin/bash
HOST="192.168.0.x"
PASSWORD="foo"
OUTLET=$1
STATE=$2
curl -sd "pw=$PASSWORD" http://$HOST/login.html | fgrep -q Status
if [ $? -eq 0 ]; then
curl -sd "ctl$OUTLET=$STATE" http://$HOST/status.html | fgrep -q Status
fi
curl -s http://$HOST/login.html | fgrep -q password

Das Skript legt man z.B. unter /usr/local/bin/gembird.sh ab und gibt ihm Ausführungsrechte (chmod +x). Anschliessend lässt es sich aufrufen via gembird.sh dosennummer neuer_zustand, also z.B. gembird.sh 4 0 um die vierte Dose auszuschalten.

Die Hauptarbeit des Webinterface-reverse-Engineerings hat zum Glück schon ein Kritiker auf Amazon übernommen, da der offizielle Herstellersupport nicht sehr hilfreich war. Merke: nächstes Mal die Frage stellen in der Art "ich möchte in Windows unter Cygwin..."

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

The author does not allow comments to this entry

Add Comment

Standard emoticons like :-) and ;-) are converted to images.
Form options

Submitted comments will be subject to moderation before being displayed.