Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Remote Raspberry herunterfahren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    916

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Remote Raspberry herunterfahren

Geplant Angeheftet Gesperrt Verschoben JavaScript
16 Beiträge 5 Kommentatoren 1.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Thomas BraunT Thomas Braun

    @tiego
    Wie eingetragen?
    Das Modul nennt sich wohl node-ssh

    T Offline
    T Offline
    tiego
    schrieb am zuletzt editiert von
    #3

    @thomas-braun sagte in Remote Raspberry herunterfahren:

    as Modul nennt sich wohl node-ss

    hallo, danke.
    ja das Module ist node-ssh
    leider steht dazu im log nichts, vorhin hatte ich nur zum testetn den - mit _ ersetzt.

    Thomas BraunT 1 Antwort Letzte Antwort
    0
    • T tiego

      @thomas-braun sagte in Remote Raspberry herunterfahren:

      as Modul nennt sich wohl node-ss

      hallo, danke.
      ja das Module ist node-ssh
      leider steht dazu im log nichts, vorhin hatte ich nur zum testetn den - mit _ ersetzt.

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #4

      @tiego
      Was steht denn im Log, wenn das Modul mit Bindestrich geschrieben wird?

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      T 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @tiego
        Was steht denn im Log, wenn das Modul mit Bindestrich geschrieben wird?

        T Offline
        T Offline
        tiego
        schrieb am zuletzt editiert von
        #5

        @thomas-braun
        leider nichts, es bleibt leer

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • T tiego

          @thomas-braun
          leider nichts, es bleibt leer

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #6

          @tiego Keine Meldung ist in der Regel positiv. Wird wohl dann funktionieren.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          T 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @tiego Keine Meldung ist in der Regel positiv. Wird wohl dann funktionieren.

            T Offline
            T Offline
            tiego
            schrieb am zuletzt editiert von
            #7

            @thomas-braun leider nicht,
            im Log, steht wenn ich das script starte:

            Zeit
            	
            Nachricht
            javascript.0
            	2021-11-15 22:08:07.957	error	at processImmediate (internal/timers.js:461:21)
            javascript.0
            	2021-11-15 22:08:07.956	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
            javascript.0
            	2021-11-15 22:08:07.956	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
            javascript.0
            	2021-11-15 22:08:07.956	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
            javascript.0
            	2021-11-15 22:08:07.955	error	at Object.<anonymous> (script.js.common.Octoprint_shutdown:7:19)
            javascript.0
            	2021-11-15 22:08:07.949	error	script.js.common.Octoprint_shutdown: TypeError: node_ssh is not a constructor
            
            HomoranH ChaotC 2 Antworten Letzte Antwort
            0
            • T tiego

              @thomas-braun leider nicht,
              im Log, steht wenn ich das script starte:

              Zeit
              	
              Nachricht
              javascript.0
              	2021-11-15 22:08:07.957	error	at processImmediate (internal/timers.js:461:21)
              javascript.0
              	2021-11-15 22:08:07.956	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
              javascript.0
              	2021-11-15 22:08:07.956	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
              javascript.0
              	2021-11-15 22:08:07.956	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
              javascript.0
              	2021-11-15 22:08:07.955	error	at Object.<anonymous> (script.js.common.Octoprint_shutdown:7:19)
              javascript.0
              	2021-11-15 22:08:07.949	error	script.js.common.Octoprint_shutdown: TypeError: node_ssh is not a constructor
              
              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #8

              @tiego sagte in Remote Raspberry herunterfahren:

              im Log, steht wenn ich das script starte:

              @tiego sagte in Remote Raspberry herunterfahren:

              at Object.<anonymous> (script.js.common.Octoprint_shutdown:7:19)

              und was steht da im Script?

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              T 1 Antwort Letzte Antwort
              0
              • T tiego

                @thomas-braun leider nicht,
                im Log, steht wenn ich das script starte:

                Zeit
                	
                Nachricht
                javascript.0
                	2021-11-15 22:08:07.957	error	at processImmediate (internal/timers.js:461:21)
                javascript.0
                	2021-11-15 22:08:07.956	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41)
                javascript.0
                	2021-11-15 22:08:07.956	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
                javascript.0
                	2021-11-15 22:08:07.956	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38)
                javascript.0
                	2021-11-15 22:08:07.955	error	at Object.<anonymous> (script.js.common.Octoprint_shutdown:7:19)
                javascript.0
                	2021-11-15 22:08:07.949	error	script.js.common.Octoprint_shutdown: TypeError: node_ssh is not a constructor
                
                ChaotC Offline
                ChaotC Offline
                Chaot
                schrieb am zuletzt editiert von Chaot
                #9

                @tiego
                Sieht bei mir so aus:

                on({id: 'javascript.0.Vis.MonitorReload', val: true}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                
                node_ssh = require('node-ssh');
                
                ssh = new node_ssh();
                
                ssh.connect({
                
                  host: '192.168.8.15',
                
                  username: '***i',
                
                  password: '****'
                
                }).then(() => {
                
                  ssh.execCommand("DISPLAY=:0 xdotool key F5");
                
                })
                });
                

                Ist bei Zeile 7 anders ausgeführt (ohne var)

                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                T 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @tiego sagte in Remote Raspberry herunterfahren:

                  im Log, steht wenn ich das script starte:

                  @tiego sagte in Remote Raspberry herunterfahren:

                  at Object.<anonymous> (script.js.common.Octoprint_shutdown:7:19)

                  und was steht da im Script?

                  T Offline
                  T Offline
                  tiego
                  schrieb am zuletzt editiert von
                  #10

                  @homoran
                  node_ssh = require('node-ssh');

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • ChaotC Chaot

                    @tiego
                    Sieht bei mir so aus:

                    on({id: 'javascript.0.Vis.MonitorReload', val: true}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                    
                    node_ssh = require('node-ssh');
                    
                    ssh = new node_ssh();
                    
                    ssh.connect({
                    
                      host: '192.168.8.15',
                    
                      username: '***i',
                    
                      password: '****'
                    
                    }).then(() => {
                    
                      ssh.execCommand("DISPLAY=:0 xdotool key F5");
                    
                    })
                    });
                    

                    Ist bei Zeile 7 anders ausgeführt (ohne var)

                    T Offline
                    T Offline
                    tiego
                    schrieb am zuletzt editiert von
                    #11

                    @chaot ???

                    1 Antwort Letzte Antwort
                    0
                    • T tiego

                      @homoran
                      node_ssh = require('node-ssh');

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #12

                      @tiego sagte in Remote Raspberry herunterfahren:

                      @homoran
                      node_ssh = require('node-ssh');

                      das ist nicht Zeile 7

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      T 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @tiego sagte in Remote Raspberry herunterfahren:

                        @homoran
                        node_ssh = require('node-ssh');

                        das ist nicht Zeile 7

                        T Offline
                        T Offline
                        tiego
                        schrieb am zuletzt editiert von
                        #13

                        @homoran
                        hallo, doch. oder wird die erste zeile als 0 gezählt?

                        1 Antwort Letzte Antwort
                        0
                        • HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #14

                          @tiego sagte in Remote Raspberry herunterfahren:

                          @homoran
                          hallo, doch. oder wird die erste zeile als 0 gezählt?

                          das ist dein gepostetes Skript:
                          ausnahmsweise als Screenshot
                          Screenshot_20211116-204749_Firefox.jpg

                          in zeile 7 steht was anderes

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • T tiego

                            Hallo,
                            ich habe im Forum folgendes Script zum Herunterfahren eines Remote RPIs gefunden.

                            on({id: 'admin.0.Octoprint_Shutdown', change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if ((obj.state ? obj.state.val : "") == true) {
                                    setStateDelayed('admin.0.Octoprint_Shutdown', false, false, parseInt(((0) || "").toString(), 10), false);
                                    node_ssh = require('node-ssh');
                                    var ssh = new node_ssh();
                                    ssh.connect({
                                        host: '192.168.170.25',
                                        username: 'pi',
                                        password: 'xyz'
                                    }).then(() => {
                                        ssh.execCommand("sudo shutdown");
                                    })
                            
                                }
                            });
                            

                            leider funktioniert es nicht.
                            das Packet "node_ssh" habe ich beim Javascript Kontroller hinzugefügt und neu gestartet, leider ohne erfolg. Ich erhalte immer folgende Fehler im Log.

                            javascript.0
                            	2021-11-15 21:40:32.984	error	Cannot install npm packet: node_ssh
                            javascript.0
                            	2021-11-15 21:40:32.983	error	Cannot install node_ssh: 1
                            javascript.0
                            	2021-11-15 21:40:32.963	error	npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-11-15T20_40_32_949Z-debug.log
                            javascript.0
                            	2021-11-15 21:40:32.949	error	npm ERR! 404 tarball, folder, http url, or git url.
                            javascript.0
                            	2021-11-15 21:40:32.947	error	ERR! 404 Not Found - GET https://registry.npmjs.org/node_ssh - Not found npm ERR! 404 npm ERR! 404 'node_ssh@latest' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a
                            javascript.0
                            	2021-11-15 21:40:32.945	error	npm
                            javascript.0
                            	2021-11-15 21:40:32.934	error	ERR! code E404
                            javascript.0
                            	2021-11-15 21:40:32.931	error	npm
                            javascript.0
                            	2021-11-15 21:40:30.810	error	Cannot install node_ssh: 1
                            javascript.0
                            	2021-11-15 21:40:30.796	error	npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-11-15T20_40_30_782Z-debug.log
                            javascript.0
                            	2021-11-15 21:40:30.794	error	
                            javascript.0
                            	2021-11-15 21:40:30.781	error	ERR! 404 Not Found - GET https://registry.npmjs.org/node_ssh - Not found npm ERR! 404 npm ERR! 404 'node_ssh@latest' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url.
                            javascript.0
                            	2021-11-15 21:40:30.779	error	npm
                            javascript.0
                            	2021-11-15 21:40:30.770	error	ERR! code E404
                            javascript.0
                            	2021-11-15 21:40:30.768	error	
                            javascript.0
                            	2021-11-15 21:40:30.766	error	npm
                            

                            könntet Ihr mir bitte helfen das Problem zu lösen? Ich steh seit über 2h auf der Leitung
                            danke euch.

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #15

                            @tiego Ehrlich gesagt verstehe ich nicht warum hier so ein Aufwand betrieben wird?

                            Ich würde einen ssh Zugang ohne Passwort ermöglichen. Hier zu gibt es genügend Anleitungen und ich nutze das auch und funktioniert:

                            https://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

                            Dann kann man mit einem einfach EXEC Befehl das entfernte System runterfahren ohne irgendwelche Bibliotheken etc.

                            user@host:~$ ssh remoteuser@remotehost.com sudo poweroff
                            

                            Ich habe es gerade nochmal getest - bei mir wurde der Zugriff von iobroker System auf mein GW über meinen FHEM Account:

                            fhem@MWHome:/home/pi$ ssh pi@192.168..xxx.xxx sudo reboot
                            bash: warning: setlocale: LC_ALL: cannot change locale (de_DE.UTF-8)
                            Connection to 192.168..xxx.xxx closed by remote host.
                            

                            Reboot funktioniert. ;)

                            Auch andere Kommandos

                            fhem@MWHome:/home/pi$ ssh pi@192.168.xxx.xxx uname -a
                            bash: warning: setlocale: LC_ALL: cannot change locale (de_DE.UTF-8)
                            Linux MWIPv6GW 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
                            

                            MWHome ist das lokale iobroker System
                            MWIPv6GW ist das remote System

                            Sprich das Ganze (also ssh Zugriff ohne PW) muss man halt in diesem Fall unter der iobroker Kennung machen - dann funktioniert das auch aus dem Skript. Die ssh Schlüssel müssen also alle im iobroker Home Verzeichnis /home/iobroker/.ssh liegen.

                            Zusätzlicher Vorteil: In den Skripten sieht man keine Passwörter etc. da man sich ohne PW anmeldet - aber eben nur mit einem bestimmten User und nur von einer bestimmten Maschine und unter bestimmter Userkennung.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            ChaotC 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @tiego Ehrlich gesagt verstehe ich nicht warum hier so ein Aufwand betrieben wird?

                              Ich würde einen ssh Zugang ohne Passwort ermöglichen. Hier zu gibt es genügend Anleitungen und ich nutze das auch und funktioniert:

                              https://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

                              Dann kann man mit einem einfach EXEC Befehl das entfernte System runterfahren ohne irgendwelche Bibliotheken etc.

                              user@host:~$ ssh remoteuser@remotehost.com sudo poweroff
                              

                              Ich habe es gerade nochmal getest - bei mir wurde der Zugriff von iobroker System auf mein GW über meinen FHEM Account:

                              fhem@MWHome:/home/pi$ ssh pi@192.168..xxx.xxx sudo reboot
                              bash: warning: setlocale: LC_ALL: cannot change locale (de_DE.UTF-8)
                              Connection to 192.168..xxx.xxx closed by remote host.
                              

                              Reboot funktioniert. ;)

                              Auch andere Kommandos

                              fhem@MWHome:/home/pi$ ssh pi@192.168.xxx.xxx uname -a
                              bash: warning: setlocale: LC_ALL: cannot change locale (de_DE.UTF-8)
                              Linux MWIPv6GW 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
                              

                              MWHome ist das lokale iobroker System
                              MWIPv6GW ist das remote System

                              Sprich das Ganze (also ssh Zugriff ohne PW) muss man halt in diesem Fall unter der iobroker Kennung machen - dann funktioniert das auch aus dem Skript. Die ssh Schlüssel müssen also alle im iobroker Home Verzeichnis /home/iobroker/.ssh liegen.

                              Zusätzlicher Vorteil: In den Skripten sieht man keine Passwörter etc. da man sich ohne PW anmeldet - aber eben nur mit einem bestimmten User und nur von einer bestimmten Maschine und unter bestimmter Userkennung.

                              ChaotC Offline
                              ChaotC Offline
                              Chaot
                              schrieb am zuletzt editiert von
                              #16

                              @mickym Er muss ja eigentlich nur die Zeile 7 ändern.
                              Aber deine Methode funktioniert auch recht interessant.

                              ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              355

                              Online

                              32.6k

                              Benutzer

                              82.2k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe