Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] wget funktioniert innerhalb Blockly-Skript nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] wget funktioniert innerhalb Blockly-Skript nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • ChrisPrefect
      ChrisPrefect @Glasfaser last edited by

      @glasfaser Ähm, nein ich bin eben genau NICHT root im Blockly-Kontext. Deshalb geht's ja anscheinend nicht. Wenn ich den exec-Befehl 1:1 in die root SSH Sitzung kopiere geht es. Auch ohne "" um den Pfad.

      Der Befehlt geht also. Es muss irgendwie an den Rechten vom iobroker-User liegen. Aber wie kann ich das beheben?

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

        @fastfoot Das ist es leider auch nicht. Ich habe bereits ein 2 Sekunden Timeout bevor ich die Nachricht mit dem Bild abschicke. Aber selbst eine Stunde Timeout würde nichts bringen, denn es wird gar kein neues Bild heruntergeladen und gespeichert. Der wget-Befehl wird gar nicht ausgeführt. Egal ob mit oder ohne sudo.

        Aber gut zu wissen dass ich es auch ohne Timeout machen kann und direkt synchron nach dem Ausführen des Befehls weitermachen kann. Das stelle ich noch um.

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

          @fastfoot wo darf der user iobroker denn überall hinspeichern? Ev. liegt da das Problem?

          Wie kann ich mich als user iobroker einloggen um den Befehl zu testen?

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

            @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

            @fastfoot wo darf der user iobroker denn überall hinspeichern? Ev. liegt da das Problem?

            Wie kann ich mich als user iobroker einloggen um den Befehl zu testen?

            iobroker darf 'überall' unter /opt/iobroker, meist verwende ich diesen Ordner direkt zum Testen.

            • ein iobroker fix könnte helfen Berechtigungen richtig zu setzen.
            • im Blockly Veariable result definieren und nach dem exec anzeigen lassen, Falls Fehler müsste wget den eig. da reinschreiben
            • mit su iobroker solltest du auch testen können
            ChrisPrefect 1 Reply Last reply Reply Quote 1
            • ChrisPrefect
              ChrisPrefect @fastfoot last edited by

              @fastfoot Merci für die Tipps.

              e5e1de5f-8070-427f-8e0d-028d5d790e94-image.png

              den fixer habe ich ausgeführt, hat leider nichts verändert.

              Ich habe den Ordner wieder von /home/iobroker/kamerabilder nach /opt/iobroker/kamerabilder verschoben.

              Das sehe ich im Logfile:

              d96fda6c-875e-4135-910b-3c01b5bbb1c4-image.png

              Jetzt wird leider noch nicht mal mehr das vorher manuell heruntergeladene Bild mit Telegram verschickt. Kann das an den falschen Rechten liegen? Vorher war das auf root:root, jetzt auf iobroker:iobroker. Unter welchem User läuft denn exec und Telegram?

              77203f29-a689-4ae2-a669-bbacd55ca31f-image.png

              F 2 Replies Last reply Reply Quote 0
              • F
                fastfoot @ChrisPrefect last edited by

                @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                @fastfoot Merci für die Tipps.

                e5e1de5f-8070-427f-8e0d-028d5d790e94-image.png

                den fixer habe ich ausgeführt, hat leider nichts verändert.

                Ich habe den Ordner wieder von /home/iobroker/kamerabilder nach /opt/iobroker/kamerabilder verschoben.

                Das sehe ich im Logfile:

                d96fda6c-875e-4135-910b-3c01b5bbb1c4-image.png

                Jetzt wird leider noch nicht mal mehr das vorher manuell heruntergeladene Bild mit Telegram verschickt. Kann das an den falschen Rechten liegen? Vorher war das auf root:root, jetzt auf iobroker:iobroker. Unter welchem User läuft denn exec und Telegram?

                77203f29-a689-4ae2-a669-bbacd55ca31f-image.png

                seltsam, im Docker container funktioniert su. mit chmod 777 /opt/iobroker/kamerabilder sollte das Herunterladen wieder funktionieren. Optional könntest du auch /home/kamerabilder so flaggen. im Blockly musst du natürlich auch mit Ergebnis anhaken und das Debug da dann rein

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

                  @chrisprefect noch eine Möglichkeit als iobroker zu agieren wäre die Installation des Terminaladapters

                  ChrisPrefect 1 Reply Last reply Reply Quote 1
                  • ChrisPrefect
                    ChrisPrefect @fastfoot last edited by

                    @fastfoot Es müsste doch auch so gehen? Ich bin ja nicht der Erste, der Bilder per Telegram verschickt? Wie kann ich rausfinden, was genau am exec-command nicht funktioniert?

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

                      @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                      @fastfoot Es müsste doch auch so gehen? Ich bin ja nicht der Erste, der Bilder per Telegram verschickt? Wie kann ich rausfinden, was genau am exec-command nicht funktioniert?

                      indem du es als iobroker ausführst und dir die Ausgabe von wget anschaust. Aus Blockly bist du immer der user iobroker. Du hast ja noch das Debug vom exec, wget muss ja was melden, aber nicht dass -q die Ausgabe unterdrückt, weiss ich nicht

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

                        @fastfoot Da kommt leider nichts raus. Oder mache ich das falsch?

                        5000c31e-159a-4604-808d-90feee9b31fb-image.png

                        .
                        .

                        Ich habe mir das Blockly-Skript mal als Code angeschaut. Kann es sein, dass das irgendwie falsch escapet ist?

                        F 2 Replies Last reply Reply Quote 0
                        • F
                          fastfoot @ChrisPrefect last edited by fastfoot

                          @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                          @fastfoot Da kommt leider nichts raus. Oder mache ich das falsch?

                          5000c31e-159a-4604-808d-90feee9b31fb-image.png

                          so passt es. probiere mal noch mit -vd, sollte irgendwas bringen. Ansonsten sehen warum su nicht funktioniert

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

                            @chrisprefect Unsinn gelöscht

                            ChrisPrefect 1 Reply Last reply Reply Quote 1
                            • ChrisPrefect
                              ChrisPrefect @fastfoot last edited by

                              @fastfoot OMG !!! Ich musste statt einfacher Anführungszeichen doppelte nehmen für die URL! ARGH!!! Und das hat mich jetzt sicher 3 Stunden Arbeit gekostet... Jetzt geht es!

                              Glasfaser 1 Reply Last reply Reply Quote 0
                              • ChrisPrefect
                                ChrisPrefect @fastfoot last edited by

                                @fastfoot Danke für die Hilfe!

                                Bitte noch das Bild im Zitat löschen in deiner vorletzen Antwort, da sind noch Logins sichtbar. Merci!

                                1 Reply Last reply Reply Quote 0
                                • Glasfaser
                                  Glasfaser @ChrisPrefect last edited by

                                  @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                                  OMG !!! Ich musste statt einfacher Anführungszeichen doppelte nehmen für die URL ...
                                  Und das hat mich jetzt sicher 3 Stunden Arbeit gekostet.

                                  Das habe ich dir ganz oben schon Mitgeteilt, inkl. einem Beispiel !!!!!

                                  @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                                  @glasfaser Ähm, nein ich bin eben genau NICHT root im Blockly-Kontext.

                                  Es ging um deine Sitzung root in der VM per Putty , was du oben in deine Screenshots gezeigt hast !

                                  ChrisPrefect 1 Reply Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @fastfoot last edited by Glasfaser

                                    @fastfoot

                                    das mit dem "root" ,war wegen seiner root Putty Sitzung 😉
                                    .... nicht wegen seinem Blockly

                                    1 Reply Last reply Reply Quote 0
                                    • ChrisPrefect
                                      ChrisPrefect @Glasfaser last edited by

                                      @glasfaser

                                      Das habe ich dir ganz oben schon Mitgeteilt, inkl. einem Beispiel !!!!!

                                      Ähm, ne, eben leider nicht 😄 Du hast gesagt, ich soll den Pfad einfassen in Anführungszeichen. Das wars aber nicht. 😉
                                      Die URL musste in doppelte statt einfache Anführungszeichen eingefasst werden.

                                      Es ging um deine Sitzung root in der VM per Putty , was du oben in deine Screenshots gezeigt hast !

                                      In Putty hatte ich den Befehl auf dem Blockly-Skript 1:1 übernommen zum Testen. Deshalb ist dort das sudo schon korrekt 😉

                                      Aber auch merci für die Hilfe! 😄

                                      1 Reply Last reply Reply Quote 0
                                      • Glasfaser
                                        Glasfaser @Glasfaser last edited by Glasfaser

                                        @glasfaser sagte in wget funktioniert innerhalb Blockly-Skript nicht:
                                        @chrisprefect

                                        Nimm mal das ,
                                        den Pfad in " "

                                        wget --output-document opt/iobroker/kamerabilder/vorplatz.jpg "http://192.168.178.78:80/tmpfs/auto.jpg?usr=admin&pwd=XXXX"
                                        

                                        @chrisprefect sagte in wget funktioniert innerhalb Blockly-Skript nicht:

                                        Ähm, ne, eben leider nicht

                                        Sorry halt auf die schnelle falsch ausgedrückt ,
                                        deshalb habe ich es dir als Code aber richtig dargestellt, inkl. deinem Dokumenten Pfad so das du Copy&Past machen kannst .

                                        Aber Egal .... hauptsache es funktioniert jetzt bei dir.

                                        Dann setzte das Thema auf [gelöst]

                                        ChrisPrefect 1 Reply Last reply Reply Quote 1
                                        • ChrisPrefect
                                          ChrisPrefect @Glasfaser last edited by

                                          @glasfaser Ah, ja, ich hatte nur den Pfad und nicht die URL angeschaut. 🙃 Ich bin gar nicht auf die Idee gekommen, dass Blockly die einfachen Anführungszeichen nicht richtig escapet. Das ist doch ein Bug? Blockly sollte doch eigentlich so Fehlertolerant sein, dass sowas eben genau nicht passiert. Und es sollte irgendwelche Debuggin-Tools für den Fall geben. Ich habe auf keine Weise eine Fehlermeldung generieren können.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          844
                                          Online

                                          32.0k
                                          Users

                                          80.4k
                                          Topics

                                          1.3m
                                          Posts

                                          blockly javascript
                                          3
                                          22
                                          1936
                                          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