Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Einen PI3 durch ioBroker 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

    Einen PI3 durch ioBroker herunterfahren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Kusi last edited by

      @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

      @mickym sagte in Einen PI3 durch ioBroker herunterfahren?:

      @Kusi ....aber Du kannst doch eine Shell aufmachen und den Befehl testen?

      Gebe ich den Befehl in Putty als Pi auf dem Raspberry ein, dann funktioniert der Befehl einwandfrei.

      Mit Zertifikat meinst du den Key?
      Wenn ja, dies habe mit anhand folgender Anleitung gemacht:
      Link Text

      OK dann funktioniert es prinzipiell - aber Du willst es ja nicht mit dem User Pi auf dem Raspberry machen, sondern als User iobroker. Deswegen habe ich Dir das ja Step für Step aufgeschrieben.

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

        @mickym Jetzt verstehe ich was du meinst....
        Wenn ich mich mit Putty anmelde, dann bin ich mit dem User "pi" angemeldet.
        Wenn ich einen Befehl aus iobroker sende, dann bin ich als User "iobroker" angemeldet?

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Kusi last edited by

          @Kusi Richtig !!!

          Deswegen meine Anleitung - um es als iobroker User zu machen.

          Der ssh-copy-id Befehl muss dann lauten:

          ssh-copy-id admin@192.168.1.10
          
          K 1 Reply Last reply Reply Quote 0
          • K
            Kusi @mickym last edited by Kusi

            @mickym Wie kann ich alle ssh-keygen löschen und von vorne beginnen???

            Nach deiner Anleitung habe ich es nun gemacht und von Putty konnte ich wieder auf das NAS zugreifen. In ioBroker erhalte ich wieder Fehlermeldungen.

            Fehler "Error in callback: ReferenceError: ssh is not defined" wird angezeigt.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Kusi last edited by mickym

              @Kusi Schau Dir mal mein letztes ssh Command an - vielleicht ist das richtig:

              ssh.execCommand ("admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
              

              Ansonsten hast Du auf der Serverseite - also Deine Zielmaschine, wenn Du Dich als admin anmeldest im Homeverzeichnis ein .ssh Verzeichnis- Dort löscht Du die Datei authorized_keys. Also als admin auf deinem qnap und dann als admin

              rm ~/.ssh/authorized_keys
              

              Unter den Benutzern unter den Du den keygen hast laufen lassen, löscht Du im Homeverzeichnis das ganze Verzeichnis .ssh

              rm -f ~/.ssh
              

              oder auch nur die Dateien id_*

              rm ~/.ssh/id*
              
              K 1 Reply Last reply Reply Quote 0
              • K
                Kusi @mickym last edited by

                @mickym Vielen Dank, habe alles gelöscht und nochmals von vorne begonnen.

                Der Code lautet jetzt

                ssh.execCommand("admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
                

                Es kommt unter anderem der Fehler "Error in callback: ReferenceError: ssh is not defined".

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Kusi last edited by

                  @Kusi Wie gesagt - ich bin kein JAVA Script Mensch - aber habe das gerade mal in der iobroker Referenz nachgeschaut:

                  Da musst Du dem Adapter erlauben, dass er exec ausführen darf.

                  Ich weiß nur nicht ob die Callback Funktion erforderlich ist. Ansonsten wenn die nicht erforderlich ist müsste der Befehl doch nur lauten:

                  exec ("ssh admin@192.168.1.10 /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start");
                  
                  K mickym 2 Replies Last reply Reply Quote 0
                  • K
                    Kusi @mickym last edited by

                    @mickym Jetzt habe ich aber eine andere Frage... Du hast gesagt, wenn ich mich mit ioBroker anmelde, dann lautet mein Anmeldename "iobroker". Wenn ich aber unter Benutzer schaue, dann steht dort "admin".
                    Hat dies etwas damit zu tun?

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Kusi last edited by mickym

                      @Kusi Nein admin ist der Name unter dem Du im iobroker angemeldet bist. (das ist ein eigenes Benutzerverwaltungssystem und hat mit den Systembenutzern also LINUX nichts zu tun). Das ganze iobroker System läuft aber unter einem Linux User und der lautet iobroker. Deshalb musst Du auch das Zertifikat unter diesem User erstellen, damit der iobroker als System sein Zertifikat findet, mit dem es sich an Deimem qnas System anmeldet.

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

                        @mickym Und das Zertifikat wird mit diesem Keygen erstellt?

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Kusi last edited by mickym

                          @Kusi Genau. ssh-key-gen ist ein Linux Befehl. Du meldest Du ja als pi-User an und mit sudo -su iobroker wechselst Du Deine Kennung von pi auf iobroker. der ssh-key-gen befehl erstellt unter dem user in dessen Homeverzeichnis (~) ein Verzeichnis .ssh und dort 2 ID Dateien. Eine heißt standardmäßig id_rsa und eine heißt id_rsa.pub.

                          Die id_rsa Datei enthält den privaten Schlüssel, den öffentlichen Schlüssel id_rsa.pub wird in die authorized_keys Datei auf dem Server kopiert unter dem User mit dem man sich anmeldet.

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

                            @mickym super, Danke für deine Erklärungen, Unterstützung und Geduld.
                            Falls ich am NAS mal das Administratoren-Kennwort wechsel würde, muss ich den Keygen neu starten oder macht dieser unabhängig vom Kennwort die Kommunikation untereinander möglich?

                            Jetzt brauche ich somit nur noch die Hilfe beim Code.

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Kusi last edited by mickym

                              @Kusi Das ist unabhängig vom Kennwort - da die Authentifizierung ja über das Zertifikat erfolgt und die matchen ja weiter, da unter dem Administrator die authorized_keys Datei ja auch beim Kennwortwechsel nicht verändert wird.

                              Das mit dem exec Befehl hat nicht funktioniert?

                              Funktioniert den ein anderer Befehl - also kein Shellscript?

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

                                Vielleicht muss man den Pfad nochmals in Hochkomma setzen:

                                exec ("ssh admin@192.168.1.10 '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start'");
                                
                                

                                oder noch eine Shell starten:

                                exec ("ssh admin@192.168.1.10 sh '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start'");
                                
                                

                                Aber ansonsten müssen nun wirklich Fachleute helfen. 😉

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

                                  @mickym sagte in Einen PI3 durch ioBroker herunterfahren?:

                                  Vielleicht muss man den Pfad nochmals in Hochkomma setzen:

                                  exec ("ssh admin@192.168.1.10 '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/plex.sh start'");
                                  

                                  Das wars tatsächlich!!! Es funktioniert einwandfrei, vielen Dank.
                                  Kann man eigentlich das ganze auch in anderer Richtung machen, dass man in ioBroker sieht ob der Dienst gestartet oder gestoppt ist? Als Gegenkontrolle z.B...

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Kusi last edited by mickym

                                    @Kusi Du kannst dem Aufruf noch eine Callback Funktion mitgeben - initiativ bleibt aber Dein iobroker system

                                    Das heisst wenn Du

                                    exec(ssh admin@192.168.1.10 'systemctl status xxxx', function (error, stdout, stderr) { setState('Datenpunkte.0.Dienststatus',stdout); });
                                    

                                    xxxx ist halt der Dienst der auf dem Zielsystem laufen muss. Die Ausgabe dieses Befehls müsstest Du dann in einem Datenpunkt schreiben können - und mit grep filter usw. - bin auch kein Linux freak. 😉

                                    Diesen exec Befehl lässt Du halt zyklisch ausführen.

                                    Ansnsten wenn Du auf Deinem NAS system programmieren kannst - und Du bei Events aufmerksam wirst kannst DU über die simple api Schnittstelle Informationen an iobroker geben.

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

                                      @mickym das war jetzt zuviel für mein Wissen...

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Kusi last edited by mickym

                                        @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

                                        @mickym das war jetzt zuviel für mein Wissen...

                                        Nun wie überprüfst Du denn auf Deinem NAS ob Dein Dienst läuft?

                                        Normalerweise gibst Du doch auf der Befehlszeile

                                        systemctl status <Dienst>
                                        

                                        ein und Du siehst ob der aktiv ist.

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

                                          @mickym sagte in Einen PI3 durch ioBroker herunterfahren?:

                                          @Kusi said in Einen PI3 durch ioBroker herunterfahren?:

                                          @mickym das war jetzt zuviel für mein Wissen...

                                          Nun wie überprüfst Du denn auf Deinem NAS ob Dein Dienst läuft?

                                          Dies mache ich momentan gar nicht.
                                          Ich habe einen Switch auf der vis mit Aus - Ein.
                                          Wird dieser auf Aus gestellt, dann wird der Stop-Befehl gesendet, auf Ein der Start-Befehl.
                                          Mehr mache ich zur Zeit nicht.

                                          Die Funktion "systemctl status <Dienst>" kenne ich nicht.

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Kusi last edited by

                                            @Kusi Na vielleicht heisst Dein Dienst plex - oder Du schaust was in der plex.sh gestartet wird. Aber ohne zu wissen, was da gestartet wird, wird es auch schwierig sein zu kontrollieren .... 😵

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            680
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            87
                                            4974
                                            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