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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly und exec

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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

                            447
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

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