Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly und exec

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Blockly und exec

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @AndreB last edited by

      @andreb sagte in Blockly und exec:

      machen soll er ja "sudo /home/pi/uhubclt -l 2 -a 0"

      das macht er ja auch - im angegebenen Verzeichnis

      Was erwartest du denn dann?

      1 Reply Last reply Reply Quote 0
      • A
        AndreB last edited by

        Macht er nicht, wenn ich es auf der Console aufrufe das schaltet er die USBPower aus macht er über exec aber nicht und ich bekomme ja auch keine rückgabewerte

        Homoran paul53 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @AndreB last edited by Homoran

          @andreb sagte in Blockly und exec:

          ch bekomme ja auch keine rückgabewerte

          die forderst du ja auch nicht an.

          Variable 'result' anlegen, dann mit dieser weiterarbeiten.
          zb. erst einmal debug-Baustein zum anzeigen von result

          @andreb sagte in Blockly und exec:

          Macht er nicht, wenn ich es auf der Console aufrufe das schaltet er die USBPower aus macht er über exec aber nicht

          wahrscheinlich darf der User ioBroker das nicht

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @AndreB last edited by

            @andreb sagte: bekomme ja auch keine rückgabewerte

            exec() funktioniert und gibt auch das Ergebnis in der lokalen Variablen result zurück.

            Bild_2021-03-02_212405.png

            1 Reply Last reply Reply Quote 0
            • A
              AndreB last edited by

              probiere ich mal, den gedanken mit den berechtigungen hatte ich auch schon ging aber davon aus das der iobroker sudo kann.

              A 1 Reply Last reply Reply Quote 0
              • A
                aleks-83 @AndreB last edited by aleks-83

                Ich klinke mich mal ein da ich ein ähnliches Problem habe.

                Und zwar möchte ich bei einer Störung, per exec einen Adapter neu starten.

                Wenn ich "iobroker restart sonos.0" in der Konsole direkt unter Windows eingebe, funktioniert der Befehl.
                Wie kann ich den auch durch JavaScript ausführen lassen?

                9353d1f6-23e1-4310-ab43-4cfc6a2dc42f-image.png

                javascript.0	2021-03-04 11:05:34.367	warn	(6216) script.js.Xiaomi.SonosDurchBWMschalten: exec: iobroker restart sonos.0
                javascript.0	2021-03-04 11:05:34.416	warn	(6216) script.js.Xiaomi.SonosDurchBWMschalten: *** Error. Please start the ioBroker commandline with the correct Windows startmenu shortcut. Aborting...
                

                b8508f92-aead-412e-9f81-131b76bea734-image.png

                A O 2 Replies Last reply Reply Quote 0
                • A
                  aleks-83 @aleks-83 last edited by aleks-83

                  Ich habe einen Blog-Eintrag gefunden in dem jemand dem iobroker user sudo Rechte verleiht.
                  Mit dem Hinweis dass dies nicht der sicherste Weg sei.

                  Was spricht denn dagegen, dem iobroker sudo zu verleihen?
                  Würde das hier bei meiner Fehlermeldung überhaupt helfen?

                  1 Reply Last reply Reply Quote 0
                  • E
                    ente34 last edited by

                    @aleks-83
                    Ich würde das zuerst über /etc/sudoers versuchen. Dort eine neue Datei anlegen (nicht iobroker benutzen!) und in dieser neuen Datei dem User iobroker die Rechte für das spezielle Kommando geben (vgl auch hier)

                    A 1 Reply Last reply Reply Quote 1
                    • A
                      aleks-83 @ente34 last edited by aleks-83

                      @ente34
                      Den Post habe ich mir angesehen.
                      Leider läuft ioBroker bei mir unter Windows, sodass ich hier andere Befehle und Verzeichnisse nutzen muss.
                      (Which scp funktioniert z.b. nicht)
                      Diese kenn ich aber nicht.

                      AlCalzone 1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer @aleks-83 last edited by

                        @aleks-83 Du meinstest nicht zufällig where scp? which ist ein Linux-Befehl.

                        Bei mir geht's einwandfrei unter Windows:

                        exec("ping 127.0.0.1", (err, stdout, stderr) => {
                            log(`err: ${err}`);
                            log(`stdout: ${stdout}`);
                            log(`stderr: ${stderr}`);
                        })
                        

                        Log:

                        javascript.0	2021-03-15 16:06:52.603	info	Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
                        javascript.0	2021-03-15 16:06:52.603	info	Ca. Zeitangaben in Millisek.:
                        javascript.0	2021-03-15 16:06:52.603	info	(0% Verlust),
                        javascript.0	2021-03-15 16:06:52.603	info	Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
                        javascript.0	2021-03-15 16:06:52.603	info	Ping-Statistik f�r 127.0.0.1:
                        javascript.0	2021-03-15 16:06:52.603	info	
                        javascript.0	2021-03-15 16:06:52.603	info	Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
                        javascript.0	2021-03-15 16:06:52.603	info	Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
                        javascript.0	2021-03-15 16:06:52.603	info	Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
                        javascript.0	2021-03-15 16:06:52.603	info	Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
                        javascript.0	2021-03-15 16:06:52.603	info	Ping wird ausgef�hrt f�r 127.0.0.1 mit 32 Bytes Daten: 
                        
                        1 Reply Last reply Reply Quote 0
                        • O
                          oFbEQnpoLKKl6mbY5e13 @aleks-83 last edited by

                          @aleks-83 sagte in Blockly und exec:

                          Und zwar möchte ich bei einer Störung, per exec einen Adapter neu starten.

                          Das geht doch mit dem Datenpunkt system.adapter.sonos.0.alive. Wozu da ein exec benutzen?

                          A 1 Reply Last reply Reply Quote 1
                          • A
                            aleks-83 @oFbEQnpoLKKl6mbY5e13 last edited by

                            Oh cool. Das wusste ich gar nicht.
                            Wieder was gelernt. Danke.

                            Das löst zwar mein aktuelles Problem, aber wenn ich irgendwann mal wieder exec() ausführen will, habe ich das eigentliche Problem immer noch.
                            Obwohl @AlCalzone mir ja schon einen anderen Tipp gegeben hat um exec() mit ioBroker Befehlen auszuführen.

                            Danke euch.

                            AlCalzone 1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer @aleks-83 last edited by

                              @aleks-83 sagte in Blockly und exec:

                              aber wenn ich irgendwann mal wieder exec() ausführen will, habe ich das eigentliche Problem immer noch.

                              Nein, nur wenn du iobroker-Befehle ausführen willst (was eigentlich nicht nötig sein dürfte).

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              896
                              Online

                              31.6k
                              Users

                              79.5k
                              Topics

                              1.3m
                              Posts

                              7
                              18
                              2544
                              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