Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Remote Raspberry herunterfahren

    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

    Remote Raspberry herunterfahren

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tiego @Thomas Braun last edited by

      @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 Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @tiego last edited by

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

        T 1 Reply Last reply Reply Quote 0
        • T
          tiego @Thomas Braun last edited by

          @thomas-braun
          leider nichts, es bleibt leer

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @tiego last edited by

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

            T 1 Reply Last reply Reply Quote 0
            • T
              tiego @Thomas Braun last edited by

              @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
              
              Homoran Chaot 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @tiego last edited by

                @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 1 Reply Last reply Reply Quote 0
                • Chaot
                  Chaot @tiego last edited by 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 1 Reply Last reply Reply Quote 0
                  • T
                    tiego @Homoran last edited by

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

                    Homoran 1 Reply Last reply Reply Quote 0
                    • T
                      tiego @Chaot last edited by

                      @chaot ???

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @tiego last edited by

                        @tiego sagte in Remote Raspberry herunterfahren:

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

                        das ist nicht Zeile 7

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          tiego @Homoran last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            @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

                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @tiego last edited by 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.

                              Chaot 1 Reply Last reply Reply Quote 0
                              • Chaot
                                Chaot @mickym last edited by

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

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                562
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                5
                                16
                                793
                                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