Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

DeATh-RaIn

Ist oft hier
Registriert
15. Januar 2009
Beiträge
121
Reaktionspunkte
9
Punkte
38
Hallo zusammen !

Jeder kennt es, der nen CS betreibt. Der Kumpel ruft an, eeh, geht nicht, Fußball läuft. MAn nimmt sein Handy schaltet sich via VPN auf die häusliche FritzBox und will auf die Dreambox schauen. Was ist, das Teil ist abgeschmiert. Was nun, wenn man doch aber gerade 2000 km entfernt im Urlaub ist. Man kann entweder sich für 90 Euro eine Steckdosenleiste kaufen, die einen LAN-Anschluss hat, oder da man ja gerade eh dabei ist, seine Räumlichkeiten energie sparender um zu rüsten, kauft man sich für 40 Euro beliebig viele Steckdosenleisten mit USB Anschluss von Gembird, die schaltbar sind und ein kleines Kästchen, mit dem Namen Pogoplug. Auf diesem Gerät kann man ohne PRobleme ein Linux installieren, Anleitungen hierzu gibts genug im Netz zu finden. Das Gerät gab es kurzzeitig für rund 15 Euro. Der NAchfolger jetzt kostet 40. Aber dann sind wir trotz Linux Server und Steckdosenleiste auf nur 80 Euro und man kann für jeweils 40 Euro beliebig erweitern :).

Meine verwendete Hardware:
Gembird SIS-PMS Steckdosenleiste (Heißen heute energenie EG-PMS2)
Pogoplug E02

Nun aber zum eigentlichen. Wie bekommen wir das alles miteinander kombiniert, dass wir auch was im Browser nur anklicken müssen ?

Ich werde nicht erklären, wie ihr archlinux auf den Pogoplug bekommt, da ist das Internet voll mit Anleitungen in allen möglichen Sprachen. Ich persönlich habe ein E02 Modell für 40 Euro.

1. Wir brauchen auf dem Pogoplug folgende Programme:

Code:
pacman -Sy apache php-cgi
pacman -Sy lynx
pacman -Sy gcc
pacman -Sy libusb-compat
pacman -Sy sudo
pacman -Sy make

2. Damit unser Apache Server auch läuft müssen wir in der hosts Datei ein paar Änderungen vornehmen:

Code:
nano /etc/hosts

Suche nach localhost ersetze mit z.B. pogo

3. Datei /etc/rc.conf

Code:
nano /etc/rc.conf

hier dann einfach noch einmal pogo rein schreiben und speichern.

Zuletzt um den Apache immer bei Start des POP mit zu starten

Code:
systemctl enable httpd.service

Wir starten ihn auch einfach einmal um sicher zu gehen, dass keine Fehler mehr konfiguriert sind:

systemctl start httpd.service

4. Unser sispmctl zum Schalten der Steckdosenleiste müssen wir runter laden, durch den compiler jagen und installieren. Na dann, tun wir das doch einfach :).

Code:
wget http://freefr.dl.sourceforge.net/project/sispmctl/sispmctl/sispmctl-3.1/sispmctl-3.1.tar.gz
[FONT=monospace]tar xzvf [/FONT]sispmctl-3.1.tar.gz
[FONT=monospace]cd [/FONT]sispmctl-3.1
           [FONT=monospace]./configure[/FONT]
           [FONT=monospace]make[/FONT]
           [FONT=monospace]make install[/FONT]

Tada, bereits jetzt könnten wir ohne Probleme in der Shell via sispmctl unsere Steckdosenleiste steuern :).

5. Da unser Apache glücklicher weise direkt so sicher konfiguriert ist, dass er natürlich keinene Zugriff auf USB Geräte erhält müssen wir dem sispmctl Programm die Berechtigung geben, dass es auch als Benutzer ausführbar wird.

Danke hier an das Linux-Club-Forum ->

Code:
nano /lib/udev/rules.d/10-locals.rules

Folgende Zeile eintragen:
SUBSYSTEM=="usb", ATTR{product}=="Gembird Silver Shield PM", GROUP="users"

Danach:
reboot

Den reboot empfehle ich euch sehr !

Wir können es ja jetzt mal testen, ob sispmctl auch wirklich als Benutzer http funktioniert.

Hierfür in der Shell:
Code:
/usr/bin/sudo -u http /usr/bin/sispmctl -s

Wenn ihr nun eine Augabe seht mit Seriennummern -> SEHR GUT :)
Die Seriennummern notiert ihr euch bitte an der Stelle schon einmal, die brauchen wir gleich für mein Script :).

6. Jetzt wollt ihr sicher auch einen Webzugriff auf das ganz haben. Hierfür erstellen wir uns eine Datei mittels

Code:
nano /srv/http/steckdose.php

Als Inhalt in diese Datei kommt mein kleines Script, was ihr nach belieben erweitern könnt. Ich hatte zwar überlegt eine komplette Schaltzentrale zu bauen, die auch die Seriennummern ausließt und man alles schön editieren kann, aber dafür gehlt mir leider die Zeit im Moment.

Code:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
ignore_user_abort();

// Seriennummer aus sispmctl -s
$ser[0][0]="XX:XX:XX:XX:XX";
$ser[0][5]="NAme d Leiste";
$ser[0][1]="Steckdose 1";
$ser[0][2]="Steckdose 2";
$ser[0][3]="Steckdose 3";
$ser[0][4]="Steckdose 4";

$ser[1][0]="XX:XX:XX:XX:XX";
$ser[1][5]="NAme d Leiste";
$ser[1][1]="Steckdose 1";
$ser[1][2]="Steckdose 2";
$ser[1][3]="Steckdose 3";
$ser[1][4]="Steckdose 4";

if(isset($_GET["powerstrip"]) && isset($_GET["socket"])){
    exec("sispmctl -n -D ".$ser[htmlspecialchars($_GET["powerstrip"])][0]." -t ".htmlspecialchars($_GET["socket"]),$e);    
    //print_r($e); 
    
    if(isset($_GET["toggleme"])){
        sleep(5);
        exec("sispmctl -n -D ".$ser[htmlspecialchars($_GET["powerstrip"])][0]." -t ".htmlspecialchars($_GET["socket"]),$e);    
        //print_r($e); 
    }
    
    header("Location: ".$_SERVER["PHP_SELF"]);
}

// Get Status for each Gembird Device
for($i=0;$i<count($ser);$i++){

    exec("sispmctl -n -D ".$ser[$i][0]." -g all",$retval);
    echo '<table width="400" border="0" cellspacing="0"  cellpadding="0"><tr><td  colspan="2">'.$ser[$i][5].'<br></td></tr>';
    for($j=1;$j<count($retval);$j++){
            $retval[$j] = str_replace("\t","",$retval[$j]);
            $retval[$j] = explode(" ",$retval[$j]);
            $retval[$j] = $retval[$j][3];
            $device = explode(":",$retval[$j]);

            echo '<tr><td width="50%">'.$ser[$i][$device[0]].'</td>';            
            if(strcmp($device[1],"0")==0){
                //Off
                echo '<td><a href="?powerstrip='.$i.'&socket='.$j.'">AUS</a></td>';
            }elseif(strcmp($device[1],"1")==0){
                //On
                echo '<td><a  href="?powerstrip='.$i.'&socket='.$j.'">AN</a> <a  href="?powerstrip='.$i.'&socket='.$j.'&toggleme=1">RESET</a></td>';
            }
            echo '</tr>';
    }
    echo "</table><br>";
    unset($retval);
}
?>


So, das sollte es gewesen sein. Jetzt solltet ihr über die Steckdosenleiste sehen und auch schalten können. Das tolle ist, wenn ihr z.B. extern auf diese Leiste zugreift und ihr einen Reset der FritzBox braucht, das Webinterface aber mal wieder hängt, so macht einfach statt auf AN/AUS zu klicken auf RESET und die Steckdose wird für rund 5 Sekunden aus und wieder ein geschalten :), da ganze glit auch für die Dreambox. Hey ist magic !


Wer am Ende noch Lust hat, den Pogo für weiteres zu verwenden, kann gern auch mal einen proftpd noch installieren

Code:
pacman -S proftpd

vergesst aber nicht den root login via /etc/proftpd.conf --> RootLogin on zu aktivieren, dann könnt ihr das ganze auch via FTP hoch laden und einen vollständigen Apache Server genießen.


Am Ende gebt ihr noch Ports in der Fritzbox frei, dass ihr extern drauf kommt. Vergesst bitte dann allerdings nicht, ein htaccess noch rein zu basteln, damit nicht jeder Hobby-Port Scanner bei euch in der Bude Disco machen kann :).

EDIT:
Ich vergaß. Die IP-Adresse eines pogoplug setzt ihr in der Datei /etc/network.d/wired-eth0 einfach via nano /etc/network.d/wired-eth0 öffnen und die dynamischen inhalte auskommentieren mit # und die static definieren, bis auf route, da lasst ihr das # davor. Bitte achtet auf 100% korrektheit, sonst habt ihr wie ich das Problem, dass ihr euch über ne Linux VM den USB stick importieren müsst und die Datei nachträglich ändern müsst *G*.


Bei Fragen, schreibt hier in den Thread :).

Ps.: Ich werde mal sehen, ob ich nicht so ein 5 Euro IR Adapter noch installiert bekomme, so dass wir über die Fernbedieunung die Steckdosenleisten auch noch schalten können.

Viel Spaß beim Basteln :)
 
Zuletzt bearbeitet:
AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

Gute Anleitung :good:
Ich habe meinen Server so eingerichtet, daß ich per Handy draufkomme und so z. B. oscam einsehen/ rebooten kann.
Aber die Idee, das komplett mal vom Strom zu nehmen, ist auch sehr gut.
 
AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

Danke :).

Bisher hatte ich das immer so, dass ich meine Steckdosenleisten aus energie effizienz via Dreambox steuere. Aber da neulig die Dreambox mal weg war und ich nichts mehr machen konnte, habe ich mir eben was anderes überlegt und bin auf ein viel besseres Ergebnis gekommen. So kann ich jetzt wirklich alles schalten. Sogar mal die FritzBox vom strom nehmen und wieder stecken, obwohl keiner da ist.
 
AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

was es mittlerweile schon gibt! :) übrigens las ich zunächst popoplug :P
 
AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

Hallo!
Da ich hier im Forum nicht viel über die Gembird sis-pms gefunden habe.....frage ich einfach mal hier zwischen rein ;-)
Ich hab' 2 Steckdosenleisten Gembird SIS-PMS in Betrieb ( Terrarienanlage). Da mein alter PC hinüber ist, hab ich auf einer neuen HDD den Power Manager neu installiert und dann von der alten HDD das Programmverzeichnis kopiert. Leider finde ich bei Windows 7 das Verzeichnis mit den programmierten Timereinstellungen nicht?? ....dachte erst bei den App Data's ....ist ja meist bei Windoof noch eine Datei vorhanden. Bin für jeden Tipp dankbar.....denn ich suche im net schon seit Stunden!!
 
Zuletzt bearbeitet:
AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

ICh würde bei der schlecht programmierten Software mal in der Registry nachschauen :). Als Datei, naaah. Vielleicht, aber die Jungs bei der CeBit letztes Jahr waren eher einfach gestrickt :).
 
Zurück
Oben