1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

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

Dieses Thema im Forum "Heimwerken" wurde erstellt von DeATh-RaIn, 24. März 2013.

  1. DeATh-RaIn
    Offline

    DeATh-RaIn Ist oft hier

    Registriert:
    15. Januar 2009
    Beiträge:
    122
    Zustimmungen:
    9
    Punkte für Erfolge:
    18
    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 ->

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    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

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    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: 24. März 2013
    #1
    chopp, Martini1983, reini12 und 2 anderen gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. mxer
    Offline

    mxer Moderator Digital Eliteboard Team

    Registriert:
    20. September 2008
    Beiträge:
    13.883
    Zustimmungen:
    6.212
    Punkte für Erfolge:
    113
    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.
     
    #2
  4. DeATh-RaIn
    Offline

    DeATh-RaIn Ist oft hier

    Registriert:
    15. Januar 2009
    Beiträge:
    122
    Zustimmungen:
    9
    Punkte für Erfolge:
    18
    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.
     
    #3
  5. Digi_Sigi
    Offline

    Digi_Sigi Ist gelegentlich hier

    Registriert:
    11. Mai 2013
    Beiträge:
    30
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    AW: HOWTO: Pogoplug + Gembird Steckdosenleiste via Browser schalten (sispmctl)

    was es mittlerweile schon gibt! :) übrigens las ich zunächst popoplug :p
     
    #4
  6. humidity
    Offline

    humidity Ist gelegentlich hier

    Registriert:
    8. Januar 2012
    Beiträge:
    33
    Zustimmungen:
    3
    Punkte für Erfolge:
    8
    Geschlecht:
    männlich
    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: 20. August 2013
    #5
  7. DeATh-RaIn
    Offline

    DeATh-RaIn Ist oft hier

    Registriert:
    15. Januar 2009
    Beiträge:
    122
    Zustimmungen:
    9
    Punkte für Erfolge:
    18
    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 :).
     
    #6

Diese Seite empfehlen