Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Script 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

    Script wird nicht ausgeführt

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

      Hallo zusammen,

      über Blockly mit dem Exec Baustein, möchte ich das Skript "Markise.sh" ausführen lassen.
      Inhalt der Markise.sh Datei ist folgender:

      case $1 in
      rein)aircontrol -r reinneu.asd;;
      raus)aircontrol -r rausneu.asd;;
      stop)aircontrol -r stopneu.asd;;
      esac
      

      Aufgerufen wird das Script in Blockly mit "bash /home/pi/smarthome/markise.sh raus"

      Händisch klappt dies auch, nur nicht über Blockly.
      Der IoBroker User hat Zugriff auf das Verzeichnis und mittels "chmod 777", sowie "chmod a+x" habe ich den Dateien entsprechende Rechte gegeben - ohne Erfolg.

      Ich erhalte auch keine Fehlermeldung oder ähnliches.

      Hat jemand eine Idee, was ich falsch mache?

      Versionen:
      RaspberryPi4
      js-controller: 3.3
      node.js: 12.22.1
      NPM: 6.14.12
      JavaScript Adapter: 5.2.8

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

        @holle91

        Mahlzeit!
        Wie sieht denn das ganze Blockly aus?

        H 1 Reply Last reply Reply Quote 0
        • H
          Holle91 @haselchen last edited by

          @haselchen Bildschirmfoto 2021-08-21 um 17.18.15.png
          Anbei ein Screenshot vom Script.

          Thomas Braun haselchen 2 Replies Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @Holle91 last edited by Thomas Braun

            @holle91

            Der user 'iobroker' dürfte das skript an der Stelle vermutlich nicht ausführen, da fehlem ihm die Rechte.
            Die sind in den sudoers noch eingeschränkt. Leg das skript in /home/iobroker ab.

            H 1 Reply Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @Holle91 last edited by

              @holle91

              Und zudem:

              Hast du im Javascript Adaper exec ausführen angehakt?

              1 Reply Last reply Reply Quote 0
              • H
                Holle91 @Thomas Braun last edited by

                @thomas-braun der iobroker User hat %iobroker ALL=(ALL:ALL) ALL in der sudoers Datei..

                @haselchen Ja, andere Scripte klappen auch, wie bspw. das Steuern meines AV-Receivers über Blokly und die Shell. Die Datei dazu liegt im selben Verzeichnis.

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

                  @holle91

                  Muss/Darf das raus hinter .sh stehen?

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Holle91 @haselchen last edited by Holle91

                    @haselchen Ja und Ja, das Raus ist in dem Fall für die Case abfrage. Das funktioniert bei meinem vorherigen Beispiel des AV-Receivers ebenfalls ohne Probleme.

                    @thomas-braun Das habe ich auch schon ausprobiert in dem Verzeichnis - gleiches Fehlerbild.

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

                      @holle91

                      ich weiss das sudo böse ist. Zur Probe:

                      was wenn du sudo bash......dahin schreibst?

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        Holle91 @haselchen last edited by

                        @haselchen Leider auch schon ohne Erfolg ausprobiert

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

                          @holle91

                          Ist von 2019, aber das Einzige, was ich dazu gefunden habe

                          https://github.com/ioBroker/ioBroker.javascript/issues/292

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Holle91 @haselchen last edited by

                            @haselchen Leider ist da auch nichts weiteres drin. Ich habe das Gefühl, dass dies an dem Programm liegt.

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              fastfoot @Holle91 last edited by

                              @holle91 sagte in Script wird nicht ausgeführt:

                              @haselchen Leider ist da auch nichts weiteres drin. Ich habe das Gefühl, dass dies an dem Programm liegt.

                              lass mal das bash vorne weg

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

                                @fastfoot

                                dann müsste er aber nen Punkt vorm Schrägstrich machen oder nicht?

                                ./ ?

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  fastfoot @haselchen last edited by

                                  @haselchen sagte in Script wird nicht ausgeführt:

                                  @fastfoot

                                  dann müsste er aber nen Punkt vorm Schrägstrich machen oder nicht?

                                  ./ ?

                                  nein, die Angabe von /home/......... ist ja ok.

                                  ich habe gerade festgestellt dass man bash so kein Kommando (mehr???) übergeben kann. ohne die Angabe von bash wird aber der Standard-Kommandointerpreter für die xxx.sh genommen, oder die welche im Skript steht (#!/bin/bash)

                                  mit /bin/bash -c 'befehl' sollte es aber auch funktionieren

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

                                    @fastfoot

                                    Naja, eine #shebang sollte man halt in seinen Skripten schon drin haben. Hatte gedacht das da oben sollte ein Auszug des skripts sein...

                                    F H 2 Replies Last reply Reply Quote 0
                                    • F
                                      fastfoot @Thomas Braun last edited by

                                      @thomas-braun sagte in Script wird nicht ausgeführt:

                                      @fastfoot

                                      Naja, eine #shebang sollte man halt in seinen Skripten schon drin haben. Hatte gedacht das da oben sollte ein Auszug des skripts sein...

                                      na ja, nur wenn man eine bestimmte Shell bevorzugen will. Ansonsten wird halt die Standardshell genommen. und mit bash -c wird sie auch überlesen, denke ich

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Holle91 @Thomas Braun last edited by

                                        @thomas-braun auch mit "#!/bin/bash" im Skript, funktioniert es nicht. Andere Skripte funktionieren auf gleiche Weise allerdings.
                                        Auch das "bash" wegzulassen, hat nichts gebracht - in anderen Befehlen klappt es jedoch mit dem bash weiterhin.

                                        Das Tool aircontrol greift auf einen Sender, welcher an nem GPIO angeschlossen ist, zu. Kann es hier noch permission Probleme geben?
                                        Auch ein "mkdir" wird nicht ausgeführt, trotz dessen, dass das Skript in "home/iobroker" liegt..

                                        Ich kann nicht nachvollziehen, wieso es nicht klappt. Über die Shell direkt funktioniert es ja auch..

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        472
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        18
                                        282
                                        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