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. Befehl wird im Skript nicht ausgeführt

NEWS

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

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

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

Befehl wird im Skript nicht ausgeführt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
13 Beiträge 5 Kommentatoren 1.7k Aufrufe
  • Ä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.
  • H Offline
    H Offline
    HMuser
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Bin Neuling im Gebrauch von ioBroker und habe folgende Frage:

    Ein Befehl soll bei Variablenänderung im Skript ausgeführt werden:

    on('hm-rega.0.2764', function (obj) {
    
    current_state = getState("hm-rega.0.2764").val;
    log(current_state)
    
    if (current_state == "true")
        {
            exec('sudo /raspberry-remote/./send 11101 1 1');
        }
    else
        {
            exec('sudo /raspberry-remote/./send 11101 1 0');
        }
    
    });
    

    In der Konsole ausgeführt funktioniert die Funktion send, aber aus dem Skript nicht.

    Das Skript selbst wird aber ausgeführt, habe ich über log geprüft.

    Danke für Tips!

    ModEdit: code bitte in code Blöcke

    Synology 713+
    IOBroker im Dockerumfeld auf Synology
    Raspimatic

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      RappiRN
      Most Active
      schrieb am zuletzt editiert von
      #2

      Für mich als Javascript-Laie sieht es so aus, als wenn dein Trigger nicht vollständig ist. Du triggerst ja scheinbar auf die Änderung der Variable hm-rega.0.2764. :?:

      on({id: "hm-rega.0.2764", change: "ne"}, function (obj) {
      

      So sieht der Trigger aus, wenn ich aus Blockly heraus mir den Code anzeigen lasse. Ob dann der Rest so funktioniert, weiß ich leider nicht. :(

      Enrico

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #3

        Der Trigger ist in Orndung, wenn man ohne das "id:" schreibt, wird auf change: ne geprüft meine ich.

        Das Problem dürfte sein, dass der hm-rega nicht ienen String wiedrgibt sondern einen boolschen Ausdruck.

        Daher rate ich mal, dass

         === true 
        

        geht. Also keine Anführungszeichen, drei Gleichzeichen

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          @HMuser:

          on('hm-rega.0.2764', function (obj) {
          
          current_state = getState("hm-rega.0.2764").val;
          log(current_state)
          
          if (current_state == "true")
              {
                  exec('sudo /raspberry-remote/./send 11101 1 1');
              }
          else
              {
                  exec('sudo /raspberry-remote/./send 11101 1 0');
              }
          
          });
          ```` `  
          

          dien script geht kuerzer da das geraet bereits durch die function obj weitergegeben wird:

          on('hm-rega.0.2764', function (obj) {
          
          current_state = obj.val;
          log(current_state)
          
          });
          

          was sagt dein log wen du das probierst

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            HMuser
            schrieb am zuletzt editiert von
            #5

            Hallo Dutchman,

            Wenn ich dein Skript einsetze kommt im log „undefined“

            Synology 713+
            IOBroker im Dockerumfeld auf Synology
            Raspimatic

            1 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              HMuser
              schrieb am zuletzt editiert von
              #6

              @tempestas:

              Daher rate ich mal, dass

               === true 
              

              geht. Also keine Anführungszeichen, drei Gleichzeichen `

              Danke für den Hinweis, ist möglicherweise richtig, habe ich mal geändert.

              Wenn die Bedingung nicht erfüllt ist müsste er allerdings in den Else-Teil springen und trotzdem die Funktion send ausführen. Macht er leider nicht…

              Synology 713+
              IOBroker im Dockerumfeld auf Synology
              Raspimatic

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tempestas
                schrieb am zuletzt editiert von
                #7

                dutch hatte einen kleinen FEhler:

                on('hm-rega.0.2764', function (obj) {
                
                current_state = obj.state.val;
                log(current_state)
                
                });
                

                das state fehlte

                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #8

                  Hallo,

                  Um es weiter abzukürzen, kannst du die Abfrage auf true dann so einbauen:

                  on('hm-rega.0.2764', function (obj) {
                  log(obj.state.val)
                  if (obj.state.val) exec('sudo /raspberry-remote/./send 11101 1 1');
                  else exec('sudo /raspberry-remote/./send 11101 1 0');
                  });
                  

                  Gruß

                  Pix

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Antwort Letzte Antwort
                  0
                  • H Offline
                    H Offline
                    HMuser
                    schrieb am zuletzt editiert von
                    #9

                    Danke für die Hinweise für schlanken Code!

                    Das eigentliche Problem ist aber halt dass ein Programm dass sich in der Konsole ausführen lässt bei Skript Aufruf nichts macht. Kann das an Dateirechten der Programms liegen?

                    Bin wirklich ratlos…

                    Synology 713+
                    IOBroker im Dockerumfeld auf Synology
                    Raspimatic

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #10

                      Stimmt denn der Pfad?

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • H Offline
                        H Offline
                        HMuser
                        schrieb am zuletzt editiert von
                        #11

                        Also die Datei liegt in /raspberry-remote/. Die Syntax mit ./send habe ich aus mehreren Tutorien so übernommen, funktioniert übrigens genau so in der Konsole nicht: Da muss der . vor den Anfang, also ./raspberry-remote/send/

                        Ich sehe auch keine Fehlermeldung. Kann ich Bei Skriptausführung entstehende Fehler sichtbar machen?

                        Synology 713+
                        IOBroker im Dockerumfeld auf Synology
                        Raspimatic

                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          HMuser
                          schrieb am zuletzt editiert von
                          #12

                          War doch der Pfad!

                          Echter Anfängerfehler… :oops:

                          Nachdem ich /home/pi/ davorgestellt habe funktioniert alles einwandfrei!

                          Danke!

                          Synology 713+
                          IOBroker im Dockerumfeld auf Synology
                          Raspimatic

                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            pix
                            schrieb am zuletzt editiert von
                            #13

                            @HMuser:

                            Also die Datei liegt in /raspberry-remote/. Die Syntax mit ./send habe ich aus mehreren Tutorien so übernommen, funktioniert übrigens genau so in der Konsole nicht: Da muss der . vor den Anfang, also ./raspberry-remote/send/

                            Ich sehe auch keine Fehlermeldung. Kann ich Bei Skriptausführung entstehende Fehler sichtbar machen? `
                            Ja, das geht.

                            Du müsstest der exec-Ausführung einen callback verpassen. Hier ist ein Beispiel von ruhr70: http://forum.iobroker.net/viewtopic.php … 935#p26547

                            ! Auszug aus dem Code:````
                            function abfrageConsole() {
                            exec(abfrage, function(err, stdout, stderr) { // <--------DAS IST DIE RELEVANTE ZEILE
                            if (err) {
                            log(err,"error");
                            return;
                            }
                            stdout = stdout.replace(/\n+/g, " "); // neue Zeile gegen Leerzeichen ersetzen
                            stdout = stdout.split(/ +/g); // array erstellen, Lerzeichen als Trenner

                                var anzProzesse = (stdout.length-1) / 11;
                            
                                //log(stdout);
                                //log("Anzahl laufender ioBroker Prozesse: " + anzProzesse);
                            
                                var jsonArr = createArrayJson(stdout);
                                var mem         = Math.floor(getMemAbsolut(jsonArr)/1024);
                                var cpu         = Math.floor(getCpu(jsonArr)*10)/10;
                                var memPercent  = Math.floor(getMem(jsonArr)*10)/10;
                            

                            ! setState(idProzesse ,writeJson(jsonArr));
                            setState(idMemAll ,mem);
                            setState(idAnzProzesse ,anzProzesse);
                            setState(idCpuAll ,cpu);
                            setState(idMemPercent ,memPercent);
                            });
                            }

                            
                            Gruß
                            
                            Pix

                            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                            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

                            809

                            Online

                            32.4k

                            Benutzer

                            81.6k

                            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