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. Script in einem Widget mit HTTP GET Befehl

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Script in einem Widget mit HTTP GET Befehl

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 2 Kommentatoren 3.0k 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.
  • blauholstenB Offline
    blauholstenB Offline
    blauholsten
    Developer
    schrieb am zuletzt editiert von
    #4

    @hg6806:

    Widget mit dem Script ID erstellt.

    Beim Klicken passiert nichts. Das Script geht danach wieder auf Deaktiviert. `

    Hi, bin jetzt leider nicht mehr am Rechner. Aber du darfst nicht als ID das Script benutzen. Du musst dort den Datenpunkt den du mit createState erstellt hast eintragen.

    Entwickler vom: - Viessman Adapter
    - Alarm Adapter

    1 Antwort Letzte Antwort
    0
    • hg6806H Offline
      hg6806H Offline
      hg6806
      Most Active
      schrieb am zuletzt editiert von
      #5

      OK, mit dem kreierten Datenpunkt wird der Befehl immerhin schon 1x ausgeführt statt 2x.

      Habe nach wie vor noch die Fehlermeldung, die ich oben schon genannte hatte und jetzt folgende im Log:

      ReferenceError: Datenpunkt_VIS is not defined at send (script.js.Lautstärke_hoch:15:19) at Object. (script.js.Lautstärke_hoch:22:7) at Object.subs.callback

      (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1324:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:584:48 at getObjectEnums

      (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3185:45) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:580:17) at Object.utils.adapter.stateChange

      (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:252:17) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2226:37) at Socket.

      (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)

      1 Antwort Letzte Antwort
      0
      • blauholstenB Offline
        blauholstenB Offline
        blauholsten
        Developer
        schrieb am zuletzt editiert von
        #6

        Hi,

        Bin komme leider noch nicht an den PC, aber bei:

         setState ('Datenpunkt_VIS', false)
        

        Muss natürlich auch dein erstellter Datenpunkt eingetragen werden.

        Entwickler vom: - Viessman Adapter
        - Alarm Adapter

        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #7

          Besser wäre dann aber vermutlich diese Schreibweise….

          var befehl = ""; //hier deine url eingeben
          var request = require('request');
          var counter = 2; //hier die Anzahl der Wiederholungen einstellen
          var idWidget = ""; //hier die ID deine erstellen Datenpunktes eintragen
          createState('Datenpunkt_VIS', false);
          
          function send(){
          
             for(var i = 0; i < counter; i++){
                request(befehl, function(error, response){
                    if(err){
                     log(error, 'error');
                    }
                })
                if(i+1 === counter){
                   setState(idWidget, false)
                }
             }
          }
          
          on(idWidget, function(obj){
             if(obj.newState.val){
                send();
             }
          });
          
          

          Dann brauchst du nur oben am Skript Anfang die Eintragungen zu tätigen.

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • hg6806H Offline
            hg6806H Offline
            hg6806
            Most Active
            schrieb am zuletzt editiert von
            #8

            Das Script sieht nun wie folgt aus:

            var befehl = "http://192.168.178.20/goform/formiPhoneAppDirect.xml?MVUP"; //hier deine url eingeben
            var request = require('request');
            var counter = 2; //hier die Anzahl der Wiederholungen einstellen
            var idWidget = "w00205"; //hier die ID deine erstellen Datenpunktes eintragen
            createState('Lautstärke_mehrfach_erhoehen', false);
            
            function send(){
            
               for(var i = 0; i < counter; i++){
                  request(befehl, function(error, response){
                      if(err){
                       log(error, 'error');
                      }
                  })
                  if(i+1 === counter){
                     setState(idWidget, false)
                  }
               }
            }
            
            on(idWidget, function(obj){
               if(obj.newState.val){
                  send();
               }
            });
            
            

            Wenn ich auf das Widget klicke passiert nichts, aber auch im Log keine Fehlermeldung.

            Aber noch immer die Warnings: "Don't make funktions with a loop" und "missing semikolon

            War das mit der Widget ID ok?

            1 Antwort Letzte Antwort
            0
            • blauholstenB Offline
              blauholstenB Offline
              blauholsten
              Developer
              schrieb am zuletzt editiert von
              #9

              Schau mal in dem Skript oben rechts steht ID einfügen. Dort suchst du den Datenpunkt den du erstellt hast. Den findest du unter deiner JavaScript Instanz. Der sollte bei dir vermutlich sowas wie "javascript.0.Lautstärke_mehrfach_erhöhen" sein.

              Da klickst du dann auf einfügen.

              Entwickler vom: - Viessman Adapter
              - Alarm Adapter

              1 Antwort Letzte Antwort
              0
              • hg6806H Offline
                hg6806H Offline
                hg6806
                Most Active
                schrieb am zuletzt editiert von
                #10

                Passiert wieder nichts, keine Fehlermeldung im Log, außer dem Warning im Script.

                var befehl = "http://192.168.178.20/goform/formiPhoneAppDirect.xml?MVUP"; //hier deine url eingeben
                var request = require('request');
                var counter = 2; //hier die Anzahl der Wiederholungen einstellen
                var idWidget = "javascript.0.Lautstaerke_mehrfach_erhoehen"; //hier die ID deine erstellen Datenpunktes eintragen
                createState('Lautstaerke_mehrfach_erhoehen', false);
                
                function send(){
                
                   for(var i = 0; i < counter; i++){
                      request(befehl, function(error, response){
                          if(err){
                           log(error, 'error');
                          }
                      })
                      if(i+1 === counter){
                         setState(idWidget, false)
                      }
                   }
                }
                
                on(idWidget, function(obj){
                   if(obj.newState.val){
                      send();
                   }
                });
                
                
                1 Antwort Letzte Antwort
                0
                • blauholstenB Offline
                  blauholstenB Offline
                  blauholsten
                  Developer
                  schrieb am zuletzt editiert von
                  #11

                  @hg6806:

                  Passiert wieder nichts, keine Fehlermeldung im Log, außer dem Warning im Script.

                  var befehl = "http://192.168.178.20/goform/formiPhoneAppDirect.xml?MVUP"; //hier deine url eingeben
                  var request = require('request');
                  var counter = 2; //hier die Anzahl der Wiederholungen einstellen
                  var idWidget = "javascript.0.Lautstaerke_mehrfach_erhoehen"; //hier die ID deine erstellen Datenpunktes eintragen
                  createState('Lautstaerke_mehrfach_erhoehen', false);
                  
                  function send(){
                     
                     for(var i = 0; i < counter; i++){
                        request(befehl, function(error, response){
                            if(err){
                             log(error, 'error');
                            }
                        })
                        if(i+1 === counter){
                           setState(idWidget, false)
                        }
                     }
                  }
                  
                  on(idWidget, function(obj){
                     if(obj.newState.val){
                        send();
                     }
                  });
                  
                  ```` `  
                  

                  Ich probiere es wenn ich zuhause bin.

                  Entwickler vom: - Viessman Adapter
                  - Alarm Adapter

                  1 Antwort Letzte Antwort
                  0
                  • hg6806H Offline
                    hg6806H Offline
                    hg6806
                    Most Active
                    schrieb am zuletzt editiert von
                    #12

                    OK, danke!

                    Ich nehme übrigens das hqwidgets - on/off und trage bei Objekt ID den Datenpunkt ein unter "javascript.0" und nicht den von scriptEnabled.

                    1 Antwort Letzte Antwort
                    0
                    • blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      schrieb am zuletzt editiert von
                      #13

                      @hg6806:

                      OK, danke!

                      Ich nehme übrigens das hqwidgets - on/off und trage bei Objekt ID den Datenpunkt ein unter "javascript.0" und nicht den von scriptEnabled. `
                      So habe es bei mir kurz ausprobiert. Allerdings ohne request! Bei mir haut das soweit hin. Ich habe den Code nochmal etwas abgeändert und zum testen ob dein Datenpunkt im VIS richtig konfiguriert ist, ein Log eingefügt.

                      Das mit der Meldung dürfte nur eine Warnung sein, lasse mich aber gerne berichtigen!

                      var befehl = "http://192.168.178.20/goform/formiPhoneAppDirect.xml?MVUP"; //hier deine url eingeben
                      var request = require('request');
                      var counter = 2; //hier die Anzahl der Wiederholungen einstellen
                      var idWidget = "javascript.2.Lautstaerke_mehrfach_erhoehen"; //hier die ID deine erstellen Datenpunktes eintragen
                      createState('Lautstaerke_mehrfach_erhoehen', false);
                      
                      function send(){
                         for(var i = 0; i < counter; i++){
                            request.get(befehl).on('error', function(error){
                                if(error){log(error, 'error');} })
                            if(i+1 === counter){setState(idWidget, false);}
                         }
                      }
                      
                      on(idWidget, function(obj){
                          log("Tastendruck erkannt"); //Nur zum Test ob deine Zuordnung stimmt
                         if(obj.newState.val){
                            send();
                         }
                      });
                      

                      Entwickler vom: - Viessman Adapter
                      - Alarm Adapter

                      1 Antwort Letzte Antwort
                      0
                      • hg6806H Offline
                        hg6806H Offline
                        hg6806
                        Most Active
                        schrieb am zuletzt editiert von
                        #14

                        Jetzt geht es halbwegs.

                        Sind immer noch 2 Warnings drin.

                        Wenn ich 2 Schleifendurchgänge einstelle, wird nur um 0,5dB erhöht, bei 4 Durchgängen wird um 1dB erhöht. Irgendwas stimmt da mit der Schleife wohl noch nicht. Mir reicht es aber so, ich werde es einfach so einstellen, dass sich pro Tastendruck um 1,5dB erhöht.

                        Danke nochmals!

                        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

                        746

                        Online

                        32.5k

                        Benutzer

                        81.7k

                        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