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. JavaScript
  5. [gelöst] Exec Befehl im Multihost

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] Exec Befehl im Multihost

Geplant Angeheftet Gesperrt Verschoben JavaScript
16 Beiträge 2 Kommentatoren 1.2k Aufrufe 1 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.
  • paul53P paul53

    @bonafide sagte:

    was ich Falsch mache?

    Keine eigenen Datenpunkte unter javascript.1.scriptEnabled anlegen, sondern direkt unter javascript.1 !!

    B Offline
    B Offline
    bonafide
    schrieb am zuletzt editiert von bonafide
    #3

    @paul53

    Wenn ich im JavaScript Adapter einen neues Skript anlege habe ich keine andere Verzeichnis-Ebene gewählt, es kommt nur die Auswahl "Root-Verzeichnis"

    alt text

    alt text
    alt text

    Die ablage in Enabled erfolgt automatisch.

    Kann ich das ändern, und wenn ja wie?

    Danke!

    paul53P 1 Antwort Letzte Antwort
    0
    • B bonafide

      @paul53

      Wenn ich im JavaScript Adapter einen neues Skript anlege habe ich keine andere Verzeichnis-Ebene gewählt, es kommt nur die Auswahl "Root-Verzeichnis"

      alt text

      alt text
      alt text

      Die ablage in Enabled erfolgt automatisch.

      Kann ich das ändern, und wenn ja wie?

      Danke!

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

      @bonafide sagte in Exec Befehl im Multihost:

      Die ablage in Enabled erfolgt automatisch.
      Kann ich das ändern, und wenn ja wie?

      Nein. Der Datenpunkt unter scriptEnabled wird automatisch erzeugt und dient zum Starten und Stoppen des Skripts. Dieser Datenpunkt darf nicht zum Triggern innerhalb des Skriptes verwendet werden ! Erzeuge einen eigenen Trigger-Datenpunkt innerhalb des Skripts mit dem Block Datenpunkt erzeugen und verwende diesen Datenpunkt als Trigger.

      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

      B 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @bonafide sagte in Exec Befehl im Multihost:

        Die ablage in Enabled erfolgt automatisch.
        Kann ich das ändern, und wenn ja wie?

        Nein. Der Datenpunkt unter scriptEnabled wird automatisch erzeugt und dient zum Starten und Stoppen des Skripts. Dieser Datenpunkt darf nicht zum Triggern innerhalb des Skriptes verwendet werden ! Erzeuge einen eigenen Trigger-Datenpunkt innerhalb des Skripts mit dem Block Datenpunkt erzeugen und verwende diesen Datenpunkt als Trigger.

        B Offline
        B Offline
        bonafide
        schrieb am zuletzt editiert von
        #5

        @paul53

        Vielen Dank für Deine Unterstützung, aber ich bekomme es nicht hin.
        Irgendwie habe ich ein Brett vor dem Kopf.

        Ich habe jetzt folgendes versucht:

        alt text

        Das hat aber nicht geklappt.

        Ich habe Dich schon richtig verstanden das ich in Blockly einen DP erzeugen soll?

        Das Projekt lief bisher ohne Probleme auf einem Standalone PI problemlos.
        Erst jetzt im Multihost bekomme ich es nicht hinh.

        Tobias

        paul53P 1 Antwort Letzte Antwort
        0
        • B bonafide

          @paul53

          Vielen Dank für Deine Unterstützung, aber ich bekomme es nicht hin.
          Irgendwie habe ich ein Brett vor dem Kopf.

          Ich habe jetzt folgendes versucht:

          alt text

          Das hat aber nicht geklappt.

          Ich habe Dich schon richtig verstanden das ich in Blockly einen DP erzeugen soll?

          Das Projekt lief bisher ohne Probleme auf einem Standalone PI problemlos.
          Erst jetzt im Multihost bekomme ich es nicht hinh.

          Tobias

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

          @bonafide sagte:

          das ich in Blockly einen DP erzeugen soll?

          Ja, den zum Triggern (Licht true/false).

          Blockly_Exec_RPi.JPG

          Ob sudo in exec funktioniert, weiß ich 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

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            bonafide
            schrieb am zuletzt editiert von bonafide
            #7

            Es ist mir fast schon peinlich.....
            In Deinem Beispiel sind jetzt zwei Variablen, Wert und cmd.

            Ich habe versucht diese nachzustellen:

            alt text

            Der Datenpunkt ist auch jetzt in der Übersicht richtig eingeordnet, wenn ich jetzt hier den Wert ändere tut sich jedoch nichts....

            alt text

            var Wert, cmd;
            
            
            createState("Test_L1", function () {
            });
            // Test_L1
            on({id: "Object ID", change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (Wert) {
                cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
              } else {
                cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
              }
              exec(cmd);
              console.log("exec: " + cmd);
            });
            

            Heute klappt irgendwie gar nichts, an einer anderen Baustelle (Conbee Stick) geht auch nichts....

            paul53P 1 Antwort Letzte Antwort
            0
            • B bonafide

              Es ist mir fast schon peinlich.....
              In Deinem Beispiel sind jetzt zwei Variablen, Wert und cmd.

              Ich habe versucht diese nachzustellen:

              alt text

              Der Datenpunkt ist auch jetzt in der Übersicht richtig eingeordnet, wenn ich jetzt hier den Wert ändere tut sich jedoch nichts....

              alt text

              var Wert, cmd;
              
              
              createState("Test_L1", function () {
              });
              // Test_L1
              on({id: "Object ID", change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (Wert) {
                  cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
                } else {
                  cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
                }
                exec(cmd);
                console.log("exec: " + cmd);
              });
              

              Heute klappt irgendwie gar nichts, an einer anderen Baustelle (Conbee Stick) geht auch nichts....

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

              @bonafide Wert ist keine Variable, sondern eine Eigenschaft des Triggerdatenpunktes (unter Blöcke Trigger) ! Hat leider die gleiche Farbe :white_frowning_face:

              Weshalb befindet sich der Datenpunkt Test_L1 unter scriptEnabled ? createState() legt ihn direkt unter javascript.1 an.

              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

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                bonafide
                schrieb am zuletzt editiert von
                #9

                Ok die Eigenschaft habe ich gefunden und getauscht.
                Damit das ganze übersichtlicher wird habe ich die alten "Test-Skripts" gelöscht und ein neues erstellt.
                Dieses wird wieder an dieser Stelle abgelegt:

                alt text

                Allerdings nicht im Ordner "Enabled"

                var cmd;
                
                
                createState("Neuer_Test", function () {
                });
                // Neuer_Test
                on({id: "Object ID", change: "ne"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if ((obj.state ? obj.state.val : "")) {
                    cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
                  } else {
                    cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
                  }
                  exec(cmd);
                  console.log("exec: " + cmd);
                });
                

                Wenn ich jetzt manuell den Wert ändere passiert nichts, auch kein Log-Eintrag.

                paul53P 1 Antwort Letzte Antwort
                0
                • B bonafide

                  Ok die Eigenschaft habe ich gefunden und getauscht.
                  Damit das ganze übersichtlicher wird habe ich die alten "Test-Skripts" gelöscht und ein neues erstellt.
                  Dieses wird wieder an dieser Stelle abgelegt:

                  alt text

                  Allerdings nicht im Ordner "Enabled"

                  var cmd;
                  
                  
                  createState("Neuer_Test", function () {
                  });
                  // Neuer_Test
                  on({id: "Object ID", change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if ((obj.state ? obj.state.val : "")) {
                      cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
                    } else {
                      cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
                    }
                    exec(cmd);
                    console.log("exec: " + cmd);
                  });
                  

                  Wenn ich jetzt manuell den Wert ändere passiert nichts, auch kein Log-Eintrag.

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

                  @bonafide sagte:

                  on({id: "Object ID",

                  Ja, es muss auch erst die Datenpunkt-ID "javascript.1.Neuer_Test" zugeordnet werden, damit der Trigger darauf reagieren kann.

                  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

                  B 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @bonafide sagte:

                    on({id: "Object ID",

                    Ja, es muss auch erst die Datenpunkt-ID "javascript.1.Neuer_Test" zugeordnet werden, damit der Trigger darauf reagieren kann.

                    B Offline
                    B Offline
                    bonafide
                    schrieb am zuletzt editiert von
                    #11

                    @paul53

                    Ok das habe ich angepasst:
                    alt text

                    var cmd;
                    
                    
                    createState("Neuer_Test", function () {
                    });
                    // Neuer_Test
                    on({id: "javascript.1.Neuer_Test"/*Neuer_Test*/, change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if ((obj.state ? obj.state.val : "")) {
                        cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
                      } else {
                        cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
                      }
                      exec(cmd);
                      console.log("exec: " + cmd);
                    });
                    

                    Bin ich richtig damit das wenn ich in den "Objekten" hier den Wert ändere zum. ein Log-Eintrag entstehen sollte?

                    alt text

                    Vielen vielen Dank für Deine Geduld!

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • B bonafide

                      @paul53

                      Ok das habe ich angepasst:
                      alt text

                      var cmd;
                      
                      
                      createState("Neuer_Test", function () {
                      });
                      // Neuer_Test
                      on({id: "javascript.1.Neuer_Test"/*Neuer_Test*/, change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if ((obj.state ? obj.state.val : "")) {
                          cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 1';
                        } else {
                          cmd = 'sudo /home/pi/raspberry-remote/./send 11110 5 0';
                        }
                        exec(cmd);
                        console.log("exec: " + cmd);
                      });
                      

                      Bin ich richtig damit das wenn ich in den "Objekten" hier den Wert ändere zum. ein Log-Eintrag entstehen sollte?

                      alt text

                      Vielen vielen Dank für Deine Geduld!

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

                      @bonafide sagte:

                      Bin ich richtig damit das wenn ich in den "Objekten" hier den Wert ändere zum. ein Log-Eintrag entstehen sollte?

                      Ja.

                      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

                      B 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @bonafide sagte:

                        Bin ich richtig damit das wenn ich in den "Objekten" hier den Wert ändere zum. ein Log-Eintrag entstehen sollte?

                        Ja.

                        B Offline
                        B Offline
                        bonafide
                        schrieb am zuletzt editiert von
                        #13

                        @paul53

                        Es passiert nichts, der Log bleibt leer.....

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • B bonafide

                          @paul53

                          Es passiert nichts, der Log bleibt leer.....

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

                          @bonafide sagte:

                          der Log bleibt leer

                          Kein Log-Eintrag im Reiter "Log" ?
                          Die Logs unter dem Skript sind immer leer, wenn man den Reiter wechselt.

                          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

                          1 Antwort Letzte Antwort
                          0
                          • B Offline
                            B Offline
                            bonafide
                            schrieb am zuletzt editiert von bonafide
                            #15

                            BINGO!!!

                            Ich bin ein Idiot!!
                            Arbeite mit zwei Bildschirmen und habe jeweils auf einem IOBroker geöffnet.
                            Bei Änderungen entstand so kein Log-Eintag auf dem anderen.

                            Dein Tipp mit Sudo war dann auch absolut Richtig, das weggenommen und schon schalten die Stecker wieder!

                            Vielen vielen Dank für Deine Hilfe!!
                            Mach jetzt ein Bier auf Dich auf, und schreibe Skripte für meine 15 Steckdosen!

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • B bonafide

                              BINGO!!!

                              Ich bin ein Idiot!!
                              Arbeite mit zwei Bildschirmen und habe jeweils auf einem IOBroker geöffnet.
                              Bei Änderungen entstand so kein Log-Eintag auf dem anderen.

                              Dein Tipp mit Sudo war dann auch absolut Richtig, das weggenommen und schon schalten die Stecker wieder!

                              Vielen vielen Dank für Deine Hilfe!!
                              Mach jetzt ein Bier auf Dich auf, und schreibe Skripte für meine 15 Steckdosen!

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

                              @bonafide sagte:

                              schon schalten die Stecker

                              Bitte noch [gelöst] in der Überschrift eintragen.

                              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

                              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

                              913

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              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