Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ausführen von Befehlen mit exec

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Ausführen von Befehlen mit exec

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
13 Beiträge 6 Kommentatoren 1.5k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    Nas007
    schrieb am zuletzt editiert von Nas007
    #1

    Hallo zusammen,

    iIch versuche verzweifelt einen Consolen Befehl auf dem Raspberry pi abzusetzen, allerdings ohne Erfolg.

    Das einzige was ich will, ist das mein server per WoL geweckt wird. Via ssh kein Problem.

    Ich habe etherwake installiert. In der Console kann ich dann via

    sudo etherwake  -i eth0 aa:bb:cc:dd:ee:ff
    

    den Server starten.

    Bei blockly sieht mein "Skript" einfach nur so aus:

    exec('etherwake -i eth0 aa:bb:cc:dd:ee:ff');
    console.debug("exec: " + 'etherwake -i eth0 aa:bb:cc:dd:ee:ff');
    

    b6a129bd-0d72-4fe3-a97f-ee6dfdd5779f-grafik.png

    und in Java so:

    exec('etherwake -i eth0 aa:bb:cc:dd:ee:ff');
    

    41f4dde1-7f6d-44b9-ba34-180f1ace0fba-grafik.png

    ich habs mit und ohne sudo versucht. Im Adapter ist der notwendige Haken aus gesetzt.

    ebf19ccc-1cf0-4758-9f16-bd20907f6ccf-grafik.png

    Ich weiß gerade echt nicht, woran das noch liegen kann...

    Habt ihr eine Idee?!

    GlasfaserG 1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      hans_999
      Gesperrt
      schrieb am zuletzt editiert von
      #2

      @Nas007 said in Ausführen von Befehlen mit exec:

      Habt ihr eine Idee?!

      Unzureichende Berechtigungen zur Ausführung vvielleicht?
      Welche Berechtigungen unter welchem User hat das Skript?

      N AlCalzoneA 2 Antworten Letzte Antwort
      0
      • H hans_999

        @Nas007 said in Ausführen von Befehlen mit exec:

        Habt ihr eine Idee?!

        Unzureichende Berechtigungen zur Ausführung vvielleicht?
        Welche Berechtigungen unter welchem User hat das Skript?

        N Offline
        N Offline
        Nas007
        schrieb am zuletzt editiert von
        #3

        @hans_999 das könnte eine Idee sein. Leider steck ich nicht gnaz so tief in der Materie.

        Wie kann ich das kontrollieren?

        1 Antwort Letzte Antwort
        0
        • TeNNo2k5T Offline
          TeNNo2k5T Offline
          TeNNo2k5
          schrieb am zuletzt editiert von
          #4

          Lege die Variablen so wie im Screenshot zu sehen an, dann bekommst du die Informationen im log

          6e2dd800-0cc1-4829-9c76-7b2b884d1a3c-grafik.png

          Der Befehl wird aber vermutlich vom iobroker User abgesetzt, und diesem fehlen die nötigen Rechte.

          Du kannst aber auch einfach direkt Javascript benutzen, Wake on Lan ist im Javascript Adapter default mit dabei und aktiv einfach mal im Forum für Script Beispiele suchen.

          Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
          ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

          N 1 Antwort Letzte Antwort
          0
          • TeNNo2k5T TeNNo2k5

            Lege die Variablen so wie im Screenshot zu sehen an, dann bekommst du die Informationen im log

            6e2dd800-0cc1-4829-9c76-7b2b884d1a3c-grafik.png

            Der Befehl wird aber vermutlich vom iobroker User abgesetzt, und diesem fehlen die nötigen Rechte.

            Du kannst aber auch einfach direkt Javascript benutzen, Wake on Lan ist im Javascript Adapter default mit dabei und aktiv einfach mal im Forum für Script Beispiele suchen.

            N Offline
            N Offline
            Nas007
            schrieb am zuletzt editiert von Nas007
            #5

            @TeNNo2k5 danke für den Tipp. Ich würde es gerne so umsetzen.

            Das hier kam raus:

            javascript.0	2020-03-07 17:00:36.825	warn	(10083) script.js.common.Sonstiges.tet_wol2: {'killed':false,'code':1,'signal':null,'cmd':'sudo etherwake -i eth0 00:08:9B:E5:8A:BE'}
            javascript.0	2020-03-07 17:00:36.824	warn	(10083) script.js.common.Sonstiges.tet_wol2: Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die Regeln erklärt hat. Normalerweise läuft es auf drei Regeln hinaus: #1) Respektier
            javascript.0	2020-03-07 17:00:36.824	info	(10083) script.js.common.Sonstiges.tet_wol2: undefined
            javascript.0	2020-03-07 17:00:36.823	info	(10083) script.js.common.Sonstiges.tet_wol2: 
            

            Das hört sich so an, als ob die Berechtigung fehlen. Wie kann ich diese denn Zuweisen?

            1 Antwort Letzte Antwort
            0
            • N Nas007

              Hallo zusammen,

              iIch versuche verzweifelt einen Consolen Befehl auf dem Raspberry pi abzusetzen, allerdings ohne Erfolg.

              Das einzige was ich will, ist das mein server per WoL geweckt wird. Via ssh kein Problem.

              Ich habe etherwake installiert. In der Console kann ich dann via

              sudo etherwake  -i eth0 aa:bb:cc:dd:ee:ff
              

              den Server starten.

              Bei blockly sieht mein "Skript" einfach nur so aus:

              exec('etherwake -i eth0 aa:bb:cc:dd:ee:ff');
              console.debug("exec: " + 'etherwake -i eth0 aa:bb:cc:dd:ee:ff');
              

              b6a129bd-0d72-4fe3-a97f-ee6dfdd5779f-grafik.png

              und in Java so:

              exec('etherwake -i eth0 aa:bb:cc:dd:ee:ff');
              

              41f4dde1-7f6d-44b9-ba34-180f1ace0fba-grafik.png

              ich habs mit und ohne sudo versucht. Im Adapter ist der notwendige Haken aus gesetzt.

              ebf19ccc-1cf0-4758-9f16-bd20907f6ccf-grafik.png

              Ich weiß gerade echt nicht, woran das noch liegen kann...

              Habt ihr eine Idee?!

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von
              #6

              @Nas007 sagte in Ausführen von Befehlen mit exec:

              etherwake

              Schau mal hier : Link Text

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              N 1 Antwort Letzte Antwort
              0
              • TeNNo2k5T Offline
                TeNNo2k5T Offline
                TeNNo2k5
                schrieb am zuletzt editiert von TeNNo2k5
                #7

                Der iobroker User ist bestimmt nicht ohne Grund Rechte Technisch eingeschränkt, ich würde da lieber nicht zu viel an den Rechten rumschrauben.

                Wenn ich raten soll denke ich das es am sudo liegt, wenn du unbedingt diese WOL Variante nutzen möchtest kannst du probieren mit visudo deinen Befehl für den iobroker User ohne Passwort Eingabe freizugeben: https://kofler.info/sudo-ohne-passwort/

                PS: Mit "whereis etherwake" bekomsmt du den kompletten Programmpfad..

                Edit: Während ich den Text verfasst habe, hat Glasfaser schon die Antwort verlinkt :blush:, hatte wohl richtig geraten.

                Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
                ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

                1 Antwort Letzte Antwort
                0
                • GlasfaserG Glasfaser

                  @Nas007 sagte in Ausführen von Befehlen mit exec:

                  etherwake

                  Schau mal hier : Link Text

                  N Offline
                  N Offline
                  Nas007
                  schrieb am zuletzt editiert von Nas007
                  #8

                  @Glasfaser und @TeNNo2k5
                  Vielen dank für die Hilfe.

                  @TeNNo2k5
                  Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren. Ich habe da eben nichts gefunden beim suchen.

                  Ich habe jetzt das gefunden. Das Skript verwendet die mitgebrachte bib:
                  https://forum.iobroker.net/topic/8018/gelöst-wol-als-magicpaket-an-nas-per-blockly-script/13

                  Das hat als in java auch funktioniert.

                  Wie kann ich das denn in Blockly nachbauen? Mir fehlt bspw. diese require also Befehl.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • N Nas007

                    @Glasfaser und @TeNNo2k5
                    Vielen dank für die Hilfe.

                    @TeNNo2k5
                    Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren. Ich habe da eben nichts gefunden beim suchen.

                    Ich habe jetzt das gefunden. Das Skript verwendet die mitgebrachte bib:
                    https://forum.iobroker.net/topic/8018/gelöst-wol-als-magicpaket-an-nas-per-blockly-script/13

                    Das hat als in java auch funktioniert.

                    Wie kann ich das denn in Blockly nachbauen? Mir fehlt bspw. diese require also Befehl.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @Nas007 sagte:

                    Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren.

                    Die Funktion require('wake_on_lan') gibt es in Blockly nicht.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    TeNNo2k5T 1 Antwort Letzte Antwort
                    0
                    • H hans_999

                      @Nas007 said in Ausführen von Befehlen mit exec:

                      Habt ihr eine Idee?!

                      Unzureichende Berechtigungen zur Ausführung vvielleicht?
                      Welche Berechtigungen unter welchem User hat das Skript?

                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von AlCalzone
                      #10

                      @hans_999 sagte in Ausführen von Befehlen mit exec:

                      Welche Berechtigungen unter welchem User hat das Skript?

                      Das läuft als User iobroker. Wenn das Kommando auf der Kommandozeile root-Rechte benötigt, muss

                      1. der Befehl mittels sudo ausgeführt werden und
                      2. dem User erlaubt werden, etherwake als Root auszuführen.

                      Letzteres wurde hier im Forum schon mehrfach beschrieben, wie es geht.

                      Edit: mist, zu langsam :duck:

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA AlCalzone

                        @hans_999 sagte in Ausführen von Befehlen mit exec:

                        Welche Berechtigungen unter welchem User hat das Skript?

                        Das läuft als User iobroker. Wenn das Kommando auf der Kommandozeile root-Rechte benötigt, muss

                        1. der Befehl mittels sudo ausgeführt werden und
                        2. dem User erlaubt werden, etherwake als Root auszuführen.

                        Letzteres wurde hier im Forum schon mehrfach beschrieben, wie es geht.

                        Edit: mist, zu langsam :duck:

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von
                        #11

                        @AlCalzone sagte in Ausführen von Befehlen mit exec:

                        Edit: mist, zu langsam :duck:

                        Echt süß die Ente :sunglasses:

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @Nas007 sagte:

                          Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren.

                          Die Funktion require('wake_on_lan') gibt es in Blockly nicht.

                          TeNNo2k5T Offline
                          TeNNo2k5T Offline
                          TeNNo2k5
                          schrieb am zuletzt editiert von TeNNo2k5
                          #12

                          @paul53 sagte in Ausführen von Befehlen mit exec:

                          @Nas007 sagte:

                          Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren.

                          Die Funktion require('wake_on_lan') gibt es in Blockly nicht.

                          Man könnte die wake on lan Funktion, per Javascript Funktions Block laden, aber es muss ja nicht immer alles zwingend via Blockly gelöst werden.

                          Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
                          ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

                          N 1 Antwort Letzte Antwort
                          0
                          • TeNNo2k5T TeNNo2k5

                            @paul53 sagte in Ausführen von Befehlen mit exec:

                            @Nas007 sagte:

                            Wie würde es denn per Blockly mit dem Wake on Lan ist im Javascript Adapter funktionieren.

                            Die Funktion require('wake_on_lan') gibt es in Blockly nicht.

                            Man könnte die wake on lan Funktion, per Javascript Funktions Block laden, aber es muss ja nicht immer alles zwingend via Blockly gelöst werden.

                            N Offline
                            N Offline
                            Nas007
                            schrieb am zuletzt editiert von
                            #13

                            @TeNNo2k5

                            Danke für den hinweis. Natürlich muss nicht alles in Blockly umgesetzt werden, aber mich hat interessiert wie man das umsetzen kann.

                            Hat funktioniert. Vielen Dank an alle!

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            667

                            Online

                            32.7k

                            Benutzer

                            82.4k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe