Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Python script über Blockly wird nicht ausgeführt

    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

    Python script über Blockly wird nicht ausgeführt

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pischleuder last edited by

      Nabend zusammen,

      ich benötige Hilfe, weil mein Python-script zwar auf der Konsole ordnungsgemäß funktioniert, nicht jedoch über blockly.

      Blockly sieht so aus:
      blockly.png

      das python script so:

      #!/usr/bin/python3.7
      from blinkpy import blinkpy
      blink = blinkpy.Blink(username='xxx@gmx.de', password='yyy', refresh_rate=30)
      blink.start()
      sync_module = blink.sync['Daheim']
      sync_module.arm = False
      
      • das script ist pi:pi zugeordnet und liegt unter /opt/iobroker
      • die Rechte sind 755
      • ein python3 /opt/iobroker/blink-disarm.py bring auch nicht das Ergebnis

      wie gesagt, auf der Konsole einwandfrei - über blockly nicht. Habe ich einen Gedankenfehler ?

      Gruß
      PiSchleuder

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Pischleuder last edited by

        @Pischleuder Wahrscheinlich fehlende Rechte? Gehört der User "iobroker" der Gruppe pi an? Blockly/JS wird unter dem User "iobroker" ausgeführt. Wenn dieser also nicht in der Gruppe "pi" ist, kann er auch nicht das Python-Skript ausführen.
        Test per Konsole:

        sudo -u iobroker python3 /opt/iobroker/blink-disarm.py
        

        Vermutliche Ausgabe: sudo: /opt/iobroker/blink-disarm.py kann nicht ausgeführt werden: Keine Berechtigung

        1 Reply Last reply Reply Quote 0
        • P
          Pischleuder last edited by Pischleuder

          Moin,

          dann kommt:

          $ sudo -u iobroker /opt/iobroker/blink-arm.py
          Traceback (most recent call last):
            File "/opt/iobroker/blink-arm.py", line 2, in <module>
              from blinkpy import blinkpy
          ModuleNotFoundError: No module named 'blinkpy'
          
          

          rufe ich allerdings so auf:

          $ sudo -u pi /opt/iobroker/blink-arm.py
          

          dann läuft das script ohne Fehler durch.

          Füge ich das so aber im blockly exec Aufruf ein, wird nichts gestartet.

          AlCalzone 1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active last edited by

            Zumindest ist dann klar warum es per Blockly nicht funktioniert. Testweise kannst du mal den User "iobroker" der Gruppe "pi" hinzufügen:

            usermod -aG pi iobroker
            
            1 Reply Last reply Reply Quote 0
            • P
              Pischleuder last edited by Pischleuder

              Hi,

              danke für Deine Mühe - funktioniert aber auch nicht.
              Habe den loglevel auf error gesetzt und das script wird rot angezeigt.
              Weiterhin habe ich auch keine Möglichkeit sh auszuführen - das hatte vorher einwandfrei funktioniert. Kann es sein, dass bei einem der adapter updates etwas schief gelaufen ist ?

              SBorg 1 Reply Last reply Reply Quote 0
              • SBorg
                SBorg Forum Testing Most Active @Pischleuder last edited by

                @Pischleuder sagte in Python script über Blockly wird nicht ausgeführt:

                dass bei einem der adapter updates etwas schief gelaufen ist ?

                Hi, kann natürlich immer mal sein, aber du hast eher ein Problem mit deinen Zugriffsrechten. Ich habe jetzt mal mit einem hochkomplexen Python-Skript getestet, funktioniert soweit... :
                Bild 1.png

                Ich habe es ebenfalls als normaler User angelegt, Rechte 755 und im "home"-Verzeichnis des Users "iobroker". Versuche mal so eine rudimentäre Python-Variante, ev. hat er kein Recht per Import Module nach zu laden.
                Bei "sh" gilt natürlich das gleiche, läuft nur wenn auch der User iobroker das Shell-Skript ausführen kann/darf.

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

                  @Pischleuder sagte in Python script über Blockly wird nicht ausgeführt:

                  Füge ich das so aber im blockly exec Aufruf ein, wird nichts gestartet
                  sudo -u pi /opt/iobroker/blink-arm.py

                  ioBroker darf nur bestimmte Sachen per sudo, und sich als pi ausgeben, gehört nicht dazu.

                  @Pischleuder sagte in Python script über Blockly wird nicht ausgeführt:

                  ModuleNotFoundError: No module named 'blinkpy'

                  Das solltest du beheben, dann läuft es auch aus Blockly heraus. Da ich davon ausgehe, dass du den Installationsbefehl

                  pip3 install blinkpy
                  

                  für das Modul als Pi ausgeführt hast, musst du es vermutlich als ioBroker nochmal wiederholen:

                  sudo -H -u iobroker pip3 install blinkpy
                  
                  P 1 Reply Last reply Reply Quote 1
                  • P
                    Pischleuder @AlCalzone last edited by Pischleuder

                    @AlCalzone said in Python script über Blockly wird nicht ausgeführt:

                    @Pischleuder sagte in Python script über Blockly wird nicht ausgeführt:

                    Füge ich das so aber im blockly exec Aufruf ein, wird nichts gestartet
                    sudo -u pi /opt/iobroker/blink-arm.py

                    für das Modul als Pi ausgeführt hast, musst du es vermutlich als ioBroker nochmal wiederholen:

                    sudo -H -u iobroker pip3 install blinkpy
                    

                    Moin,

                    Du bist mein Held 🙂
                    Das ist es gewesen, nun wird das script sauber ausgeführt - vielen Dank !

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    840
                    Online

                    31.7k
                    Users

                    79.8k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    1495
                    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