Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. PC Booten / Herunterfahren und Befehle ausführen (v2)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    PC Booten / Herunterfahren und Befehle ausführen (v2)

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Grace13 @schreda last edited by Grace13

      @schreda
      Hey, könntest du das bitte etwas verständlicher für anfänger erklären.

      über WOL kann ich mein PC schon anmachen.
      Das ausmachen klappt leider nicht so..

      1.Ich habe den XAMPP Apache Server Installiert ( Hier in der installation bei service nur apache ausgewählt)
      2. Dann hab ich die index.php mit editor geändert so wies oben steht.
      Apache Server Starten
      3. Das Script in auf Common eingefügt ( IP und Mac vom PC eingetragen)
      Wenn ich das Script dann ausführe bekomme ich folgenden Fehler

      05:28:50.261	[error]	javascript.0 script.js.common.Shutdown: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/sync-request'
      05:28:50.261	[error]	javascript.0 at sendRequest (script.js.common.Shutdown:15:23)
      05:28:50.261	[error]	javascript.0 at updateState (script.js.common.Shutdown:32:21)
      05:28:50.261	[error]	javascript.0 at Object. (script.js.common.Shutdown:40:26)
      

      hat wahrscheinlich mit Punkt 4 zu tun
      4. "Ihr müsst die Module sync-request und wake_on_lan in den settings der Script Engine hinzufügen, damit sie auch geladen werden unverfügbar sind." steh hier iwie aufem schlauch? Wie muss ich das jetzt einfügen? werd bestimmt fündig aber dann erst nach 10 Stunden
      5.Das "Objekt" habe ich im IoBroker im Cloud Adapter angelegt hier dann das eingefügte Script aus Common ausgewählt. - in Alexa dann nach neue Geräten suchen und den Adapter ausprobieren-

      Wie füge ich weitere befehle ein?
      Wird mir irgendwie aus dem Script nicht ersichtlich wo ich da jetzt Beispielweise den Befehl für den Ruhezustand also "rundll32.exe powrprof.dll,SetSuspendState" einfügen soll?

      Danke für die Hilfe!!

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Grace13 last edited by

        @Grace13
        In den Einstellungen für den Script Adapter kannst du “zusätzliche Module” angeben, die dann in den Skripten genutzt werden können.

        A.

        G 1 Reply Last reply Reply Quote 0
        • G
          Grace13 @Asgothian last edited by

          @Asgothian
          Hmm meinst du jetzt bei Instanzen? Den Javascript Adapter? Hier finde ich nichts

          Bei Objekte dann das gewünschte JavaScript auf "Einstellungen" hier steht abee auch nur "Weitere" und "Raw"

          Wo muss ich denn hin 😅

          M 1 Reply Last reply Reply Quote 0
          • M
            mikiline @Grace13 last edited by mikiline

            @Grace13 sagte in PC Booten / Herunterfahren und Befehle ausführen:

            @Asgothian
            Hmm meinst du jetzt bei Instanzen? Den Javascript Adapter? Hier finde ich nichts

            Bei Objekte dann das gewünschte JavaScript auf "Einstellungen" hier steht abee auch nur "Weitere" und "Raw"

            Wo muss ich denn hin 😅

            js.PNG

            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @mikiline last edited by

              @mikiline na ja, da wo in hellgrau Modul hinzufügen steht. Reinblicken und die Namen der fehlenden Module eintippen

              A.

              1 Reply Last reply Reply Quote 1
              • G
                Grace13 last edited by

                hab die Module hinzugefügt.
                Wenn ich nun aber das Script ausführe bekomme ich

                javascript.0	2019-03-02 15:45:04.034	warn	at Object.<anonymous> (script.js.common.WoL:40:26)
                javascript.0	2019-03-02 15:45:04.034	warn	at updateState (script.js.common.WoL:36:9)
                javascript.0	2019-03-02 15:45:04.034	warn	State "pc.0.power" not found
                javascript.0	2019-03-02 15:45:04.034	warn	at Object.<anonymous> (script.js.common.WoL:40:26)
                javascript.0	2019-03-02 15:45:04.033	warn	at updateState (script.js.common.WoL:31:20)
                javascript.0	2019-03-02 15:45:04.032	warn	getState "pc.0.power" not found (3)
                

                Die Host IP ist die Ip meines PCs, Mac Adresse auch.

                In XAMPP habe ich die index nun in idex.php umgenannt. Hier werde ich jetzt auch im Browser weitergeleitet wenn ich auf Admin klicke. Muss ich hier noch irgendetwas einstellen?

                Wo liegt mein Fehler?

                Asgothian 1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @Grace13 last edited by

                  @Grace13
                  Du musst noch ein objekt anlegen mit dem du den aktuellen Zustand des Rechners steuerst. Im Script ist dazu pc.0.power vorgesehen.

                  Also - Objekt anlegen,Skript entsprechend anpassen das es dieses Objekt auch nutzt

                  var obj_root  = 'pc.0';
                  var obj_state = 'power';
                  
                  G 1 Reply Last reply Reply Quote 0
                  • G
                    Grace13 @Asgothian last edited by

                    @Asgothian
                    Also nochmal zusätzlich eins wo nur die zwei Zeilen drin stehn?

                    Das dann als Objekt auswählen.
                    Und das ist dann mein schalter?

                    Das ausgewählte Objekt ist dann sozusagen der Pc der im hauptsächlichen Skript das oben steht angegeben wurde?

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @Grace13 last edited by

                      @Grace13
                      Nein, die 2 Zeilen sollten in dem Script das du hast schon drin sein. Du musst sie ändern um das richtige Objekt anzusprechen. Ich würde das so machen:

                      Im Objektbaum unter JavaScript.0 ein Objekt „rechnerstatus“ anlegen (Art Status, Typ Zahl)

                      Dann musst du bei obj_root „javascript.0“ stehen und bei obj_state „rechnerstatus“.

                      A.

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • G
                        Grace13 last edited by

                        12:29:19.968	[warn]	javascript.0 at updateState (script.js.common.rechnerstatus:31:20)
                        12:29:19.968	[warn]	javascript.0 at Object. (script.js.common.rechnerstatus:40:26)
                        12:29:19.968	[warn]	javascript.0 at updateState (script.js.common.rechnerstatus:36:9)
                        12:29:19.968	[warn]	javascript.0 at Object. (script.js.common.rechnerstatus:40:26)
                        

                        Irgdnwie bin ich nicht viel weiter gekommen.

                        Ich hab die zwei Zeilen

                        var obj_root  = 'pc.0';
                        var obj_state = 'power';
                        
                        

                        in

                        var obj_root  = 'javascript.0;
                        var obj_state = 'rechnerstatus';
                        

                        geändert..

                        Damit keine Verständnissfehler aufkommen hab ich das gleiche nochmal als Skript in Common angelegt ( war mir nicht ersichtlich das direkt unter objektem - javascript.0 einzutragen)

                        könnte der fehler vll bei XAMPP liegen?

                        Wohl eher kaufm das Script kann ja nicht ausgeführt werden ?

                        1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Asgothian last edited by

                          @Asgothian sagte in PC Booten / Herunterfahren und Befehle ausführen:

                          Im Objektbaum unter JavaScript.0 ein Objekt „rechnerstatus“ anlegen (Art Status, Typ Zahl)

                          Das musst du auch machen - sonst geht es nicht.

                          Asgothian 1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @Asgothian last edited by

                            @Asgothian

                            Füge doch bitte in das script den Befehl

                            createState(obj_root+'.'+obj_state, false)
                            

                            ein, direkt unter den Zeilen wo du obj_root und obj_state gesetzt hast.

                            Dann sollte Ruhe sein.

                            1 Reply Last reply Reply Quote 1
                            • G
                              Grace13 last edited by

                              Ich schon wieder..

                              Ich hab was du gesagt hast in zeile 10 eingefügt? Oder soll ichs doch bei zeile 3 einfügen?

                              Der PC macht aber kein muchs
                              Liegt das vll am Appache?

                              Wo könnte der Fehler noch liegen?

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @Grace13 last edited by

                                @Grace13
                                Bei Zeile 10 ist schon einmal richtig.

                                Was hast du denn getan um den pc zu einer Aktion zu bewegen ?

                                A.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  Grace13 last edited by Grace13

                                  Also

                                  Ich hab das erste Script mit Editor in die.php vom xampp eingefügt.

                                  Das zwei im common eingefügt dann so geändert wie du gesagt hast.

                                  Ein Gerät im Cloud Adapter eingefügt und das geschrieben Java Script mit dem Namen rechnerstatus ausgewählt

                                  Dann bei alexa das übliche prozeder

                                  Nun kann ich auf An klicken hier bekomm ich im Log dann den Eintrag "javascript.js.common.rechnerstatus: registered 1 subscription and 0 schedules"
                                  Das wars.. Wenn ich auf aus klicke kommt wird das Script gestoppt.

                                  Bei im Objektbaum und JavaScript bei Vis hab wird mir "rechnerstatus" auch angezeigt kann es aber aus irgend einem Grund nicht im Cloud Adapter einfüge bzw wird mir nicht angezeigt

                                  Hab in nem anderen forum das hier
                                  "EDIT:

                                  Ich glaube es leigt daran, weil das Script nicht in javascript.0 liegt sondern in javascript.0->ScriptEnabled"

                                  Gefunden mal sehn obs was bringt wenn ichs ändere

                                  1 Reply Last reply Reply Quote 0
                                  • Asgothian
                                    Asgothian Developer last edited by Asgothian

                                    Immer mit dr Ruhe - teste mal bitte folgendes:

                                    • Script starten

                                    • Rechner starten (den du steuern willst

                                    • datenpunkt javascript.0.rechnerstatus im objektbaum auf true setzen.

                                    • datenpunkt javascript.0.rechnerstatus auf false setzen

                                    • ins log schauen - da müsste “powered off” auftauchen

                                    • Rechner beobachten - er sollte jetzt herunter gefahren werden wenn das kein offenes Programm blockiert. Wenn der Rechner nach 5 Minuten noch läuft bitte herunter fahren

                                    • wenn der Rechner aus ist den datenpunkt wieder auf wahr setzen - jetzt müsste der Rechner starten.

                                    • wieder ins log schauen - da müsste “powered on” auftauchen.

                                    A.

                                    Nachtrag - nur zur Sicherheit: du hast im Kopf des scriptes die pi und mac Adresse deines zu steuernden Rechners eingetragen ?

                                    var host_ip   = '192.168.X.X';
                                    var mac_addr  = 'XX:XX:XX:XX:XX:XX';
                                    
                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      Grace13 @Asgothian last edited by Grace13

                                      @Asgothian
                                      Ich probiers später mal aus

                                      Aber dir schonmal vielen Dank für die Mühe!!

                                      Mit rechner aus meinst du ganz normal herunterfahren?
                                      Das Script dann am besten über nen anderen Computer starte?

                                      Okay, guter Tipp werd drauf auchten das alle Programme zu sind.

                                      Mit Script false und true einfach nur die hacken bei setzen, hab ich das richtig verstanden?

                                      Asgothian 1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @Grace13 last edited by

                                        @Grace13 ja

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Hc-Yami last edited by

                                          Hey,
                                          generell eine coole Sache.
                                          Aber ist das ganze nicht mit dem GetAdmin wesentlich einfacher und schlanker?

                                          Grüße

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            schreda @Hc-Yami last edited by

                                            Ich habe nun das Script ein wenig angepasst.
                                            Es wird nun der State im Script erstellt und muss somit nicht mehr manuell erfolgen.
                                            Desweiteren wird ein Ping durchgeführt um den Online state des PC zu ermitteln. (Hierzu bitte ping zu den Modulen in der Instanz-Config hinzufügen)

                                            @Hc-Yami
                                            Mir hat das Russen-Tool leider nur Probleme beschert und ich wollte das Ganze gerne selber in die Hand nehmen.
                                            Ausserdem bin ich lieber vorsichtig mir solche Tools..

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            837
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            21
                                            2165
                                            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