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. Pythonscript eines entfernten Raspberrys aufrufen …

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    944

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Pythonscript eines entfernten Raspberrys aufrufen …

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 4 Kommentatoren 2.4k Aufrufe
  • Ä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.
  • ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von
    #13

    Servus Flyer,

    Danke für das Erweitern der Fehlerbehandlung…. zumindest keine DNS oder Passwort Probleme....

    Hinweis an Alle Script Junkies… "console.log('stderr: ' + stderr);" im Script hilft Probleme schneller zu finden.... :mrgreen:

    Du hast geschrieben das Du dich via dem root Konto vom IoBroker Host mit dem SSH befehl samt Scriptaufruf auf auf den Schildkröten Host verbinden kannst…Ja?

    Aber im Kontext vom ioBroker Konto geht das wohl nicht - korrekt?

    Das guckt nach der "requetterie" Sch.... in UX aus.... oder es fehlt wie schon oben beschrieben der Zugriff auf den Schlüssel im IoBroker User Context... auf dem Remote Host, weil der Kontextwechsel fehlschlägt.

    Nevertheless.... platt machen der "known hosts" ist nach einem Backup OK - dann aber bitte ssh-keygen -R hostname versuchen...

    Herzliche Grüße und viel Erfolg

    Equilora aka Harald

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      flyer99
      schrieb am zuletzt editiert von
      #14

      Harald,

      > Das guckt nach der "requetterie" Sch…. in UX aus.... oder es fehlt wie schon oben beschrieben der Zugriff auf den Schlüssel im IoBroker User Context... auf dem Remote Host, weil der Kontextwechsel fehlschlägt.

      Ich verstehe nicht wirklich was du meinst :lol: :roll:

      Habe nun auf dem Raspberry-iobroker und auf dem Raspberry-Schildkröten den Ordner .ssh in Verzeichnissen /root/ und /home/pi/ jeweils komplett gelöscht und erneut einen Schlüssel erzeugt. Wieder ohne Erfolg. über die Konsole geht es, über ioBroker nicht :evil:

      AN über Konsole …

      ~~![](</s><URL url=)https://up.picr.de/34849097se.png" />

      AUS über Konsole …

      ~~![](</s><URL url=)https://up.picr.de/34849099dd.png" />

      Beides ohne Passworteingabe …~~~~

      Raspberry 4, Bullseye, mit dem Raspi 7" Touchdisplay was ioBroker betrifft ...

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        flyer99
        schrieb am zuletzt editiert von
        #15

        Müssen meine Dateirechte des Pythonprogramms anderst aussehen ??

        ~~![](</s><URL url=)https://up.picr.de/34849103zr.png" />

        Das bringt mich bald zur Weißglut … Nen alten Viessmann Vitola Brenner per Raspberry und Platine über IR_Dioden auszulesen krieg ich hin, das dann 1,5 Jahre später in ioBroker einzubinden auch noch. Ne Schildisteuerung mit eigenem Platinenlayout und vollständiger Bedienung über HTML auch, aber ne verf..... LED einzuschalten von einem anderen Raspberry klappt nicht (zumindest über den ioBroker ...). Mann o Mann :evil:

        Geduld hab ich eigentlich, aber nach 21 Stunden effektivem Probieren bin ich leicht angekackt ....

        Soll ich mal noch das mit dem Terminal Adapter ausprobieren was du mal erwähnt hast ?~~

        Raspberry 4, Bullseye, mit dem Raspi 7" Touchdisplay was ioBroker betrifft ...

        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          flyer99
          schrieb am zuletzt editiert von
          #16

          Oder bin ich zu blöd das Script zu starten ??

          Ich drücke auf den roten Pfeil des entsprechenden Script's ?….

          ~~![](</s><URL url=)https://up.picr.de/34849119wf.png" />

          Hab noch nicht aufgegeben, freue mich auf jedwelche Info ….~~

          Raspberry 4, Bullseye, mit dem Raspi 7" Touchdisplay was ioBroker betrifft ...

          1 Antwort Letzte Antwort
          0
          • ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #17

            Nope Du bist entweder im Kontext vom Anwender PI oder oder Root….. das geht so nicht.... :mrgreen:

            PM gesendet...

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              flyer99
              schrieb am zuletzt editiert von
              #18

              Kann Benutzer root nicht mehr als Benutzer Pi ? Die Rechtehandhabung unter Linux is jetzt nicht so meine Spezialität, geb ich zu …

              Aber ich kann doch nicht der erste sein der das schalten eines GPIO's (indirekt durch ein PythonProgramm) auf einem entferntem Raspberry im eigenen Heimnetz bewerkstelligen will ??..

              Raspberry 4, Bullseye, mit dem Raspi 7" Touchdisplay was ioBroker betrifft ...

              1 Antwort Letzte Antwort
              0
              • ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #19

                Na ja.. seit Eward Sonwden sieht die Welt egal on UX oder Win etwas anders aus…der hat mit schlampigen SSH Keys mal schnell was gemacht.......

                1 Antwort Letzte Antwort
                0
                • andreaskosA Offline
                  andreaskosA Offline
                  andreaskos
                  schrieb am zuletzt editiert von
                  #20

                  Hi Flyer99!

                  Also die exec-Funktion führt zum Ausführen des übergebenen Kommandos mit dem Benutzer "root". Das kann man auch leicht ausprobieren, indem man das Kommando "whoami" ausführt und sich die Antwort anzeigen lässt. Siehe dazu das folgende Script:

                  ! // Script zum Anzeigen des Benutzernamens mit dem Shell-Command "whoami" ! var command = "whoami"; var answer = "Antwort von whoami:"; ! exec(command , function (error, stdout, stderr) { setTimeout(function() { if (stdout.length < 1) { //log( "KEINE DATEN!", 'error'); answer += "Fehlgeschlagen!"; console.log(answer); } else { //log( "Rückgabe:\n" + stdout); answer += stdout; console.log(answer); } }, 1000); }); !

                  Um jetzt Befehle über ssh auf einem anderen Rechner ausführen zu können gibt es zwei Wege:

                  1.) Verwendung des Moduls node-ssh wie von Jey Cee angegeben. Ohne Keys muss du dann allerdings dein Passwort im Klartext in das JS-Script hineinschreiben.

                  2.) ssh-Befehl über exec aufrufen. Das geht nur mit Key-Files, da ja keine interaktive Passworteingabe möglich ist.

                  Erstellung von Keys mit ssh-keygen und Übertragung des Keys mit ssh-copy-id auf den Ziel-Rechner. Die Keys musst du natürlich mit dem Benutzer root anlegen und übertragen. Am Ziel-Rechner kann es natürlich auch ein anderer Benutzer sein, der den Befehl dann lokal ausführt.

                  Falls du nicht als root ssh-Verbindungen machen möchtest, dann kannst du noch über den su-Befehl den ssh-Aufruf machen, also mit:

                  su localuser -c "ssh remoteuser@remoterechner 'Kommando'  "
                  

                  Da der su-Befehl über die exec-Funktion und damit als root aufgerufen wird, ist kein Passwort für das user-switchen notwendig.

                  Ach ja, im eigenen Heimnetz würde auch die Option StrictHostKeyChecking=no im ssh-Aufruf vertretbar sein, damit kann man sich auch lästige Verbindungsprobleme sparen. Also so:

                  ssh -o StrictHostKeyChecking=no remoteruser@remoterechner
                  

                  LG

                  Andreas

                  1 Antwort Letzte Antwort
                  0
                  • andreaskosA Offline
                    andreaskosA Offline
                    andreaskos
                    schrieb am zuletzt editiert von
                    #21

                    Noch zu den Screenshots in deinem Post vom 16.01.2019, 00:41

                    Das "sudo" in den ssh-Aufrufen ist eigentlich überflüssig, weil du dich ja ohnehin als SuperUser root verbindest, der braucht kein sudo mehr.

                    Bei den Strings, die du der exec-Funktion gibst, muss auch sehr aufgepasst werden mit den (verschachtelten) Anführungszeichen (je nach Kommandos die ausgeführt werden sollen).

                    Dieser String etwa ist für einen ssh-Befehl mit dem User localuser notwendig:

                    var command = "su localuser -c \"ssh -o StrictHostKeyChecking=no remoteuser@remoterechner 'KOMMANDO' \" "
                    
                    

                    Oder falls du eh - wie oben - direkt mit dem User root ausführst:

                    var command = "ssh -o StrictHostKeyChecking=no remoteuser@remoterechner 'KOMMANDO'  "
                    
                    
                    1 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      flyer99
                      schrieb am zuletzt editiert von
                      #22

                      Hallo Andreas,

                      Das komische ist/war ja das ich über die Konsole die Befehle ausführen konnte. Über ioBroker-Javascript bekam ich jedoch immer ein "failed Verification" … Ich weis nicht wieviel Möglichkeiten ich ausprobiert habe, alles ohne Erfolg.

                      Nach weiteren 3 Stunden der Erfolgslosigkeit bin ich nun auf das NPM-Modul ssh2 umgestiegen. Dazu das Script von paul53 aus diesem Post viewtopic.php?t=13739#p145734 –- Übrigens vielen Dank ;) und die Sache funktionierte sofort.

                      Über blockly wird nun beim Aufruf der Schildkrötenübersicht der Stream der RaspiKamera gestartet (sh-Script) und die LED kann Ein und Ausgeschaltet werden (python-script). Beim Verlassen der Seite wird der Stream beendet, alles funzt nun wie gewünscht ...

                      Bzgl. der Sicherheit hab ich eigentlich keine Bedenken da alles über pi ausgeführt werden kann. Zudem gibt es keine Portöffnung ins Internet, von Ausserhalb komme ich nur über eine VPN-Verbindung auf mein Netzwerk. Das sollte passen ...

                      Vielen Dank an alle die geholfen haben !!!

                      Raspberry 4, Bullseye, mit dem Raspi 7" Touchdisplay was ioBroker betrifft ...

                      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

                      511

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      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