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.3k

[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.
  • 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

                            845

                            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