Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. PC über Alex/Raspberry Pi/ioBroker herunterfahren und starten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    PC über Alex/Raspberry Pi/ioBroker herunterfahren und starten

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LaGra last edited by

      Hallo stinkzor.

      Das ganze funktioniert über gewisse Umwege. Ich habe mir hier einen Esp8266 zu nutze gemacht.

      Auf dieses kleine Wlan Modul kann man einen Wemo Switch emulieren

      https://github.com/witnessmenow/esp8266 … o-emulator

      Diesen kannst du dann über ioBroker einbinden und per Alexa steuern.

      Wenn ich Alexa jetzt sage "Computer an" fährt sie diesen ordnungsgemäß hoch und bei "Computer aus"

      auch wieder herunter.

      MFG LaGra

      PS: Schreib mir wenn du willst eine PM, falls noch fragen anfallen.

      1 Reply Last reply Reply Quote 0
      • A
        Arnulf last edited by

        habe auch gerade den Wunsch verspürt, auch den Rechner per ioBroker herunter zu fahren.

        Wie war das aber mit der Wemo Bridge gemeint?

        Brutal den Strom aus schalten, geht ja auch mit Funksteckdose.

        Ich will aber den Rechner geregelt herunter fahren.

        Geht das irgendwie?

        Bzw. Kann man einen PC fernsteuern?

        1 Reply Last reply Reply Quote 0
        • Plasmachef
          Plasmachef last edited by

          Hallo Zusammen,

          ich habe das folgendermaßen gelöst.

          "alexa, computer an"

          1. meine fritzbox schaltet die steckdose fritzdect 200 (über iobroker) ein.

          2. das bios meines pc ist so eineingestellt, dass bei stromzufuhr er automatisch angeht

          "alexa, computer aus"

          1. iobroker schickt eine mail an mich

          2. mein outlook erhält diese mail und führt ein skript aus, das per regel hinterlegt ist

          3. skript fährt rechner runter (klappt hervorragend … habe es mit zeitversatz von 1min gemacht, sodass ich es aufhalten kann wenn ich möchte)

          4. pc ist down

          5. fritzdect 200 erkennt den stromverbrauch (z.b. < 10watt) und geht nach einer bestimmten zeit (z.b. 2mins) in standby = ausschalten

          ich bin begeistert 🙂

          p.s.: diese steuerung "per mail an mich und dann skript ausführen" kann man auch noch für andere zwecke nutzen (z.b. programmstart: medienserver usw.)

          grüße

          1 Reply Last reply Reply Quote 0
          • A
            Arnulf last edited by

            weia. Hört sich kompliziert an.

            Und hört sich nach einer Menge Bedingungen zum Funktionieren an.

            Ich habe mal was von rpc…. shutdown.... gelesen.

            Weiß aber noch nicht, wie ich das auf dem Raspi (wahrscheinlich muss ein Samba-Client installiert werden) realisieren kann.

            Einschalten stelle ich mir über WOL vor.

            Sicher könnte ich mir das Einschalten auch über eine Funkspeckdose vorstellen. Zumal man hier vielleicht auch gleichzeitig die Monitore mit ein-/ausschalten könnte

            1 Reply Last reply Reply Quote 0
            • Jey Cee
              Jey Cee Developer last edited by

              http://forum.iobroker.net/viewtopic.php?t=1848

              Gesendet von Unterwegs

              1 Reply Last reply Reply Quote 0
              • E
                eXTreMe last edited by

                Ich nutze ein simples Script zum an und ausschalten meines PCs per Wake on lan bzw net rpc Befehl.

                Folgende Pakete müssen auf dem RasPi installiert sein

                apt-get install samba-common

                npm install node-wol

                Im Bios bzw den Netzwerkkarteneinstellungen unter Windows muss Wake on Lan eingeschaltet sein.

                var wol = require('wake_on_lan');         // in den Adaptereinstellungen vom javascript adapter muss bei zusätzliche npm-module "node-wol" eingetragen sein und Erlaube das Kommando "exec" muss aktiviert sein
                var myPC1 = "MAC-Adresse des PCs";         // MAC Adresse deiner Netzwerkkarte
                
                on('javascript.0.Computer.on', function (obj) { // hier deinen erstellten Datenpunkt angeben.
                
                current_state = getState("javascript.0.Computer.on").val;
                
                if (current_state === true)
                    {
                        wol.wake(myPC1);
                        log("Computer: AN", "info");
                    }
                else
                    {
                        exec('net rpc -S 192.168.xx.xx -U Username%Passwort shutdown -t0 -f'); // Hier IP, Username und Passwort vom PC/Windows Account eingeben
                        log("Computer: AUS", "info");
                    }
                });
                

                Falls man für seinen Windows PC kein Passwort verwendet, kann man einfach einen weiteren Windows-Administator Account erstellen und diesem dann sämtliche rechte bis auf das recht zum herunterfahren entziehen.

                wenn man das recht zur lokalen anmeldung entzieht dann ist der neu erstellte nutzeraccount auch nicht im anmeldebildschirm sichtbar. hat man also nur einen windows account ohne passwort dann bootet der pc so auch direkt auf den desktop

                mehr dazu hier: https://stackoverflow.com/questions/993 … x-terminal

                1 Reply Last reply Reply Quote 1
                • A
                  Arnulf last edited by

                  danke für die super Zusammenfassung.

                  Shutdown hatte ich schon hin bekommen. So, wie du es auch beschrieben hattest.

                  Bin jetzt allerdings auf ein Problem getroffen.

                  Mein DELL-PC hat die Option WOL im BIOS deaktiviert und es ist nicht zum Aktivieren auswählbar.

                  Beim Googeln im Internet bin ich an mehreren Stellen auf etwas gestoßen, das wahrscheinlich der Grund sein könnte:

                  Ab Windows 8 funktioniert WOL nur noch, wenn der PC in der Hybernate geschaltet wurde.

                  Seit Windows 10 geht das sogar nur noch, wenn er maximal im Sleep-Modus ist.

                  (Stichwort S3-S5)

                  Das ist besonders doof, weil ich ja danach auch den Strom abschalten wollte und das im Sleep eher doof ist.

                  Auch Boot on Power Up habe ich im BIOS nicht aktivieren können.

                  Ich habe einen DELL XPS 8390.

                  Wenn einer dazu eine Idee hat, wäre ich dankbar.

                  Erstens, wie man das BIOS überlisten könnte oder wie man den PC zumindest remote in den Sleep schickt.

                  1 Reply Last reply Reply Quote 0
                  • N
                    Nikoxx last edited by

                    Also ich habe einen Win10 Rechner hier stehen und denn kann ich über WOL starten auch wenn er komplett aus ist. Denke das hat eher was mit der verbauten Hardware zu tun.

                    1 Reply Last reply Reply Quote 0
                    • E
                      eXTreMe last edited by

                      ich habe bei meinem Desktop PC mal gemessen (mit einer TP-Link HS110 Funksteckdose mit Verbrauchsmesser): wenn er ausgeschaltet ist verbraucht er ca 2,5 Watt (Das ist genausoviel wie ein Raspberry unter Volllast) . Das macht Stromkosten in höhe von ca. 6 Euro im Jahr. Mal davon abgesehen, dass eine Funksteckdose selber auch Strom zieht und auch Anschaffungskosten hat. Ich glaube das lohnt sich nicht da den Strom noch auszuschalten und dafür auf WoL zu verzichten.

                      Da rechnet sich sogar eher noch die Anschaffung eines Mini PCs mit geringem Stromverbrauch. Denn mein Desktop PC verbraucht bei wenig Auslasung (z.B. surfen) ganze 110-130 Watt.

                      Wenn WoL von deiner Hardware nicht unterstützt wird dann kauf dir einfach eine Netzwerkkarte zum einbauen, gibts für ein paar Euro.

                      1 Reply Last reply Reply Quote 0
                      • R
                        rh1212 last edited by

                        @eXTreMe:

                        Ich nutze ein simples Script zum an und ausschalten meines PCs per Wake on lan bzw net rpc Befehl.

                        Folgende Pakete müssen auf dem RasPi installiert sein

                        apt-get install samba-common

                        npm install node-wol

                        Im Bios bzw den Netzwerkkarteneinstellungen unter Windows muss Wake on Lan eingeschaltet sein.

                        var wol = require('wake_on_lan');         // in den Adaptereinstellungen vom javascript adapter muss bei zusätzliche npm-module "node-wol" eingetragen sein und Erlaube das Kommando "exec" muss aktiviert sein
                        var myPC1 = "MAC-Adresse des PCs";         // MAC Adresse deiner Netzwerkkarte
                        
                        on('javascript.0.Computer.on', function (obj) { // hier deinen erstellten Datenpunkt angeben.
                        
                        current_state = getState("javascript.0.Computer.on").val;
                        
                        if (current_state === true)
                            {
                                wol.wake(myPC1);
                                log("Computer: AN", "info");
                            }
                        else
                            {
                                exec('net rpc -S 192.168.xx.xx -U Username%Passwort shutdown -t0 -f'); // Hier IP, Username und Passwort vom PC/Windows Account eingeben
                                log("Computer: AUS", "info");
                            }
                        });
                        

                        Falls man für seinen Windows PC kein Passwort verwendet, kann man einfach einen weiteren Windows-Administator Account erstellen und diesem dann sämtliche rechte bis auf das recht zum herunterfahren entziehen.

                        wenn man das recht zur lokalen anmeldung entzieht dann ist der neu erstellte nutzeraccount auch nicht im anmeldebildschirm sichtbar. hat man also nur einen windows account ohne passwort dann bootet der pc so auch direkt auf den desktop

                        mehr dazu hier: https://stackoverflow.com/questions/993 … x-terminal `

                        Danke für dein Skript.

                        Leider hat das bei mir nicht funktioniert, bist jetzt nutze ich nur ein Skript damit ich mein PC über WOL einschalten kann, wenn ich Dein Skript in meine skripte hinzufüge und dann das auf false ändere passiert nichts.

                        Das ist auch nicht mein Bereich, es kann sein das ich das ganze falsch verstanden habe oder falsch gemacht, bin ich trotzdem für Deine/Eure Hilfe sehr dankbar.

                        1 Reply Last reply Reply Quote 0
                        • E
                          eXTreMe last edited by

                          "geht nicht" ist immer eine aussage bei der man gut weiterhelfen kann…..

                          was hast du bisher gemacht?

                          hast du alle hinweise beachtet? die notwendigen pakete installiert?

                          was geht genau nicht? nur das runterfahren?

                          datenpunkt richtig erstellt. bzw im script den richtigen pfad angegeben?

                          1 Reply Last reply Reply Quote 0
                          • R
                            rh1212 last edited by

                            @eXTreMe:

                            "geht nicht" ist immer eine aussage bei der man gut weiterhelfen kann…..

                            was hast du bisher gemacht?

                            hast du alle hinweise beachtet? die notwendigen pakete installiert?

                            was geht genau nicht? nur das runterfahren?

                            datenpunkt richtig erstellt. bzw im script den richtigen pfad angegeben? `

                            mit GetAdmin habe ich mein Problem gelöst.

                            viewtopic.php?t=1848

                            Skript Änderung damit das für mich passt:

                            ! createState('GetAdmin.cmd', ''); createState('GetAdmin.Host', ''); createState('GetAdmin.Port', ''); var request = require('request'); ! on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) { if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendCmdGetAdmin(obj.newState.val,host,port); sendKeyGetAdmin(obj.newState.val,host,port); log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val); log('Отправляем команду GetAdmin - key: '+ obj.newState.val); }else{log('GetAdmin. Не задана команда.');} }); /***************************************************************************************/ function sendCmdGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?cmd='+value }; log('Отправляем команду GetAdmin - ' +options.url); request(options, function (error, response, body) { log('Ответ от сервера - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } ! function sendKeyGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?key='+value }; log('Отправляем команду GetAdmin - ' +options.url); request(options, function (error, response, body) { log('Ответ от сервера - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } !

                            1 Reply Last reply Reply Quote 0
                            • E
                              el-lutschi last edited by

                              Hallo,

                              ich habe das Ganze mit etherwake und net rpc gelöst.

                              etherwake: http://www.sonoya.com/anleitung-wakeonl … chten.html

                              net rpc: http://c64-online.com/?p=1471

                              Hier mein Blockly Skript

                              ! ````
                              <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="RTKmr6aH.kGo7~LdfyZL" x="238" y="13"><field name="OID">javascript.0.Eigene_Variablen.Computer_Steuerung.Computer</field>
                              <field name="CONDITION">ne</field>

                              <statement name="STATEMENT"><block type="controls_if" id="lJ.z9C}XK)TGc*@eT_]:"><mutation elseif="1"></mutation>
                                  <value name="IF0"><block type="logic_compare" id="j2meMpIh_+fIx#S?MZkj"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="|eO0yQORo{:0LILb9%O}"><field name="ATTR">val</field>
                                          <field name="OID">javascript.0.Eigene_Variablen.Computer_Steuerung.Computer</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="VzrUj,=,d*Gla?CuRypb"><field name="BOOL">TRUE</field></block></value></block></value> 
                                  <statement name="DO0"><block type="exec" id="Jd.]J]Dp0[7GCw,}2zUJ"><mutation with_statement="false"></mutation>
                                      <field name="WITH_STATEMENT">FALSE</field>
                                      <field name="LOG">log</field>
                                      <value name="COMMAND"><shadow type="text" id="1c2%luqw`IxJ^g%7]4l7"><field name="TEXT">sudo etherwake MACADRESSE</field></shadow></value></block></statement> 
                                  <value name="IF1"><block type="logic_compare" id=":88VcrB}yVEv:K+2wa27"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="lcI4AG-zHl_)%|j_R73t"><field name="ATTR">val</field>
                                          <field name="OID">javascript.0.Eigene_Variablen.Computer_Steuerung.Computer</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="Z7riQ%`,tT/F22E6t5t%"><field name="BOOL">FALSE</field></block></value></block></value> 
                                  <statement name="DO1"><block type="exec" id="?MgGT%{twh?k+dlvpC.h"><mutation with_statement="false"></mutation>
                                      <field name="WITH_STATEMENT">FALSE</field>
                                      <field name="LOG">log</field>
                                      <value name="COMMAND"><shadow type="text" id="!U@GsvYzqK!~I4yvdeH~"><field name="TEXT">sudo net rpc -S 10.22.22.221 -U user%pw shutdown -t 30</field></shadow></value></block></statement></block></statement></block></xml> 
                              
                              [3950_pc.png](/assets/uploads/files/3950_pc.png)
                              1 Reply Last reply Reply Quote 0
                              • A
                                Arnulf last edited by

                                @Arnulf:

                                danke für die super Zusammenfassung.

                                Shutdown hatte ich schon hin bekommen. So, wie du es auch beschrieben hattest.

                                Bin jetzt allerdings auf ein Problem getroffen.

                                Mein DELL-PC hat die Option WOL im BIOS deaktiviert und es ist nicht zum Aktivieren auswählbar.

                                Beim Googeln im Internet bin ich an mehreren Stellen auf etwas gestoßen, das wahrscheinlich der Grund sein könnte:

                                Ab Windows 8 funktioniert WOL nur noch, wenn der PC in der Hybernate geschaltet wurde.

                                Seit Windows 10 geht das sogar nur noch, wenn er maximal im Sleep-Modus ist.

                                (Stichwort S3-S5)

                                Das ist besonders doof, weil ich ja danach auch den Strom abschalten wollte und das im Sleep eher doof ist.

                                Auch Boot on Power Up habe ich im BIOS nicht aktivieren können.

                                Ich habe einen DELL XPS 8390.

                                Wenn einer dazu eine Idee hat, wäre ich dankbar.

                                Erstens, wie man das BIOS überlisten könnte oder wie man den PC zumindest remote in den Sleep schickt. `

                                Kaum zu glauben, aber wahr. Ich habe tatsächlich die Lösung gefunden….

                                Ich hatte für mich selbst noch einmal dieses alte Thema heraus gefischt, weil es mich genervt hat (aus Prinzip), weil ich zwar den PC aus- aber nicht einschalten konnte.

                                Es scheiterte ja eigentlich daran, dass die Option WOL im BIOS deaktiviert und ausgegraut war. Damit hat auch Win 10 die entsprechende Einstellung der Netzwerkkarte verweigert.

                                Die Lösung ist eigentlich ganz einfach: Es gibt auf der gleichen Seite der BIOS-Einstellungen einen Eintrag für das "Deep Sleep Management". Ich hatte immmer gedacht, man müsste hier S4 und/oder S5 einstellen. Eine Deaktivierung wäre hier ganz falsch,

                                Weit gefehlt.

                                Hier MUSS gerade dektiviert werden. Denn dann kann man plötzlich WOL im BIOS aktivieren und damit auch der Neztwerkkarte unter Windows einen entsprechenden Haken machen (wenn nötig. Bei mir war er bereits gesetzt)

                                Tadaaaa... jetzt startet auch der Computer, wenn ich es Alexa sage.

                                🙂

                                1 Reply Last reply Reply Quote 0
                                • J
                                  josef.steinergmx.de last edited by

                                  Hallo zusammen,

                                  ich hätte noch eine Frage zu diesem Thema:

                                  Ich habe mir mit Hilfe dieses Forums ein skript zusammengebastelt mit dem ich meinen PC über wol starten und auch in den sleep modus schicken kann. so oft ich will (kein shutdown) Ich nutze außerdem noch ein zusätzliches tool das auf meinem Rechner installiert ist.

                                  Im iobroker werden zwei neue Objekte im OrdnerJavascriptmenu erzeugt.

                                  javascript.0.PCstarten und javascript.0.PCherunterfahren

                                  Suche ich nun mit der Alexa app neue Geräte so finde ich zwei neue Geräte mit genau diesen Namen.

                                  Ich kann die Geräte umbenennen in PC ON in PC OFF

                                  Beide "Geräte" haben einen ON und OFF button. Ich kann im jeweiligen skript mit dem ON button den Befehl ausführen einmal für ON und einmal für OFF…Funzt top.

                                  Leider funktioniert die Sprachsteuerung hier nicht da Alexa meckert weil der Name PC doppelt vergeben ist und ich sagen soll WELCHEN ich meine.

                                  Man könnte das ganze mit einer Routinesteuerung umgehen -> funktioniert aber ist eigentlich unsauber gelöst.

                                  Ich hätte aber gerne nur ein "Gerät" bzw Objekt mit einem ON button für starten und OFF button für herunterfahren.

                                  Welche Möglichkeiten habe ich?

                                  • dieses Skript hier ändern

                                  • ein "skript für ein skript" z.b. blockly erstellen

                                  Ich bitte um Hilfe

                                  Danke!

                                  Hier mein Skript

                                  createState("javascript.0.PCstarten",{

                                  type: 'boolean',

                                  def: false

                                  });

                                  createState("javascript.0.PCherunterfahren",{

                                  type: 'boolean',

                                  def: true

                                  });

                                  var wol = require('wake_on_lan');

                                  var myPC = "MEINE MAC ADRESSE";

                                  on("javascript.0.PCstarten", function (obj) {

                                  if (obj.state.val) {

                                  wol.wake(myPC);

                                  setState("javascript.0.PCstarten", true);

                                  setState("javascript.0.PCherunterfahren", false);

                                  log("Script WOL - PC aufgeweckt", "info");

                                  }

                                  });

                                  on("javascript.0.PCherunterfahren", function (obj) {

                                  if (obj.state.val) {

                                  console.log('curl -L http://192.168.0.56:7760/hibernate');

                                  exec('curl -L http://192.168.0.56:7760/hibernate');

                                  setState("javascript.0.PCherunterfahren", true);

                                  setState("javascript.0.PCstarten", false);

                                  log("PC wird in 10 sec. heruntergefahren", "info");

                                  }

                                  });

                                  Ja ich weiß 🙂 ich muss noch testen ob es der console.log oder der exec Befehl ist, welcher wirklich den Befehl für herunterfahren/Standby ausführt.

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    josef.steinergmx.de last edited by

                                    ich muss dazu sagen ich habe die Logik des skripts nicht ganz verstanden:

                                    z.B.

                                    setState("javascript.0.PCstarten", true);

                                    setState("javascript.0.PCherunterfahren", false);

                                    ich muss immer den darauffolgenden Befehl auf "false" setzten damit ich diesen mit der Alexa app auf TRUE bzw auf ON setzen kann.

                                    Ist die zweite Zeile nicht im skript muss ich in der App zuerst manuell den OFF button drücken und dann geht erst der ON button.

                                    und weiter:

                                    createState("javascript.0.PCherunterfahren",{

                                    type: 'boolean',

                                    def: true

                                    Was definiere ich mit type und def?

                                    ich hätte gedacht:

                                    on("javascript.0.PCstarten", function (obj) {

                                    on("javascript.0.PCherunterfahren", function (obj) {

                                    Ich ändere hier einfach um in:

                                    OFF("javascript.0.PCherunterfahren", function (obj) {

                                    und belege dann den OFF button mit der folgenden Funktion.

                                    mir fehlt hier irgendwie eine "if else" Funktion also WO definiere ich die ON und OFF buttons in diesem virtuellen Geräte und welche Anweisungen stecken dann dahinter. Das kann ich irgendwie nicht wirklich erkennen.

                                    Bin in programmieren leider nur Laie.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    482
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    12
                                    19
                                    6857
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo