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. Blockly
  5. [gelöst] blockly-request-seltsamer fehler

NEWS

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

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

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

[gelöst] blockly-request-seltsamer fehler

Geplant Angeheftet Gesperrt Verschoben Blockly
8 Beiträge 3 Kommentatoren 498 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.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von liv-in-sky
    #1

    ich habe einen node webserver auf meinem pc laufen. das blockly, um das es geht, sendet vom iobroker server über request die befehle an meinen pc

    das problem:

    • script startet - zum test wird nach 3 sekunden ein befehl gesendet
    • dann schalte ich das blockly ab (oder ich lasse es weiter laufen - passiert das selbe)
    • einige zeit später kommt dann der fehler - im log sieht man, dass das script nicht getriggert wird (ist ja auch aus) aber der request sendet einen fehler zurück

    Image 2.png

    Image 3.png

    was läuft da im request block schief ? hat jmd eine ahnung

    das ganze lief früher immer ohne probleme - ist also kein neues script

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #2

      @apollon77 , @AlCalzone

      ich schreib euch mal direkt an - evtl ist es ja ein javascript adapter problem ?

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #3

        hier noch ein bild über browsers mit antwort

        Image 4.png

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          Also was da kommt ist ein timeout. Auf den wartet das Skript auch wenn du es stoppst. Kannst ggf nur beim call einen timeout mitgeben (keine Ahnung ob blockly das kann)

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          liv-in-skyL 1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            Also was da kommt ist ein timeout. Auf den wartet das Skript auch wenn du es stoppst. Kannst ggf nur beim call einen timeout mitgeben (keine Ahnung ob blockly das kann)

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #5

            @apollon77 bedeutet das, dass der webserver auf der pc seite keine "richtige" antwort sendet ?

            ich wüßte nicht, wie ich bei blockly request sowas einstellen könnte - ich glaube, ich habe gelesen, dass der request intern auf axios umgestellt wurde

            ich könnte also nur auf der webserver seite etwas machen (evtl bei response.end - siehe code unten

            @bahnuhr du nutzt das doch auch - hast du damit kein problem ?

            der webserver ist so aufgebaut

            const http = require('http');
            const port = 3000;
            
            
            const requestHandler = (request, response) => {
              console.log(request.url);
              var payload = request.url;
              var arr = payload.split("/");
            
                if (arr[1] == "unmute") {
            		child = execFile('C:\\BATCH-FILES\\mutestop.cmd');
            		console.log('mute aus');
            		response.end('mute aus');
              };
            
            const server = http.createServer(requestHandler);
            server.listen(port, (err) => {
              if (err) {
                return console.log('something bad happened', err)
              }
              console.log(`server is listening on ${port}`)
            });
            

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            bahnuhrB 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @apollon77 bedeutet das, dass der webserver auf der pc seite keine "richtige" antwort sendet ?

              ich wüßte nicht, wie ich bei blockly request sowas einstellen könnte - ich glaube, ich habe gelesen, dass der request intern auf axios umgestellt wurde

              ich könnte also nur auf der webserver seite etwas machen (evtl bei response.end - siehe code unten

              @bahnuhr du nutzt das doch auch - hast du damit kein problem ?

              der webserver ist so aufgebaut

              const http = require('http');
              const port = 3000;
              
              
              const requestHandler = (request, response) => {
                console.log(request.url);
                var payload = request.url;
                var arr = payload.split("/");
              
                  if (arr[1] == "unmute") {
              		child = execFile('C:\\BATCH-FILES\\mutestop.cmd');
              		console.log('mute aus');
              		response.end('mute aus');
                };
              
              const server = http.createServer(requestHandler);
              server.listen(port, (err) => {
                if (err) {
                  return console.log('something bad happened', err)
                }
                console.log(`server is listening on ${port}`)
              });
              
              bahnuhrB Offline
              bahnuhrB Offline
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von bahnuhr
              #6

              @liv-in-sky

              Hallo,
              anbei mal ein Script Extract was einwandfrei funktioniert.
              Blockly hab ich leider nicht.

              var request = require('request'), IP_Tablet = "192.168.243.122";   
              
                  request("http://" + IP_Tablet + ":3000/key/shift", function (error, response, body) {
                  if (!error && response.statusCode == 200) { log ("Tablet Windows - Taste shift gesendet."); } 
                  }); 
              
              

              Und das Webserver script sieht so aus:

              /*
              Examples
              http://<ip>:3000/brightness/10  switches brightness of server display to 10%
              http://<ip>:3000/Lautstaerke/10  switches Lautstärke
              http://<ip>:3000/battery returns a number containing the battery level 0..1
              http://<ip>:3000/key/windows press win am pc
              */
              const batteryLevel = require('battery-level');
              const brightness = require('brightness');
              const laut = require('loudness');
              const ks = require('node-key-sender');
              var execFile = require('child_process').execFile, child;
              const http = require('http');
              const port = 3000;
              
              const requestHandler = (request, response) => {
                console.log(request.url);
                var payload = request.url;
                var arr = payload.split("/");
                if (arr[1] == "battery") {
                  batteryLevel().then(level => {
              		console.log(level*100);
              		response.end(''+level*100);
              	   });
                 } 
                if (arr[1] == "brightness") {
              	  var value = Number(arr[2])/100;
              	  brightness.set(value).then(() => {
              		console.log('Changed brightness to ' + value*100 + ' %');
              	   });
              	   response.end('Changed brightness to ' + value*100 + ' %');
                }
                if (arr[1] == "Lautstaerke") {
              	  var value = Number(arr[2]);
              	  laut.setVolume(value).then(() => {
              		console.log('Changed Lautstaeke to ' + value + ' %');
              	   });
              	   response.end('Changed Lautstaerke to ' + value + ' %');
                }
                if (arr[1] == "key") {
              		if (arr[2] == "windows") {
              			ks.sendKey(arr[2]).then(() => {
              			console.log('key ' + arr[2] + ' gesendet');
              			response.end('key ' + arr[2] + ' gesendet');
              			});
              		}
              		if (arr[2] == "shift") {
              			ks.sendKey(arr[2]).then(() => {
              			console.log('key ' + arr[2] + ' gesendet');
              			response.end('key ' + arr[2] + ' gesendet');
              			});
              		}
                }
                if (arr[1] == "aus") {
              		child = execFile('c:\\users\\dieter\\webserver\\turnoffmonitor.exe');
              		console.log('Display aus');
              		response.end('Display aus');
                };
              }
               
              const server = http.createServer(requestHandler);
              server.listen(port, (err) => {
                if (err) {
                  return console.log('something bad happened', err)
                }
                console.log(`server is listening on ${port}`)
              });
              

              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • bahnuhrB bahnuhr

                @liv-in-sky

                Hallo,
                anbei mal ein Script Extract was einwandfrei funktioniert.
                Blockly hab ich leider nicht.

                var request = require('request'), IP_Tablet = "192.168.243.122";   
                
                    request("http://" + IP_Tablet + ":3000/key/shift", function (error, response, body) {
                    if (!error && response.statusCode == 200) { log ("Tablet Windows - Taste shift gesendet."); } 
                    }); 
                
                

                Und das Webserver script sieht so aus:

                /*
                Examples
                http://<ip>:3000/brightness/10  switches brightness of server display to 10%
                http://<ip>:3000/Lautstaerke/10  switches Lautstärke
                http://<ip>:3000/battery returns a number containing the battery level 0..1
                http://<ip>:3000/key/windows press win am pc
                */
                const batteryLevel = require('battery-level');
                const brightness = require('brightness');
                const laut = require('loudness');
                const ks = require('node-key-sender');
                var execFile = require('child_process').execFile, child;
                const http = require('http');
                const port = 3000;
                
                const requestHandler = (request, response) => {
                  console.log(request.url);
                  var payload = request.url;
                  var arr = payload.split("/");
                  if (arr[1] == "battery") {
                    batteryLevel().then(level => {
                		console.log(level*100);
                		response.end(''+level*100);
                	   });
                   } 
                  if (arr[1] == "brightness") {
                	  var value = Number(arr[2])/100;
                	  brightness.set(value).then(() => {
                		console.log('Changed brightness to ' + value*100 + ' %');
                	   });
                	   response.end('Changed brightness to ' + value*100 + ' %');
                  }
                  if (arr[1] == "Lautstaerke") {
                	  var value = Number(arr[2]);
                	  laut.setVolume(value).then(() => {
                		console.log('Changed Lautstaeke to ' + value + ' %');
                	   });
                	   response.end('Changed Lautstaerke to ' + value + ' %');
                  }
                  if (arr[1] == "key") {
                		if (arr[2] == "windows") {
                			ks.sendKey(arr[2]).then(() => {
                			console.log('key ' + arr[2] + ' gesendet');
                			response.end('key ' + arr[2] + ' gesendet');
                			});
                		}
                		if (arr[2] == "shift") {
                			ks.sendKey(arr[2]).then(() => {
                			console.log('key ' + arr[2] + ' gesendet');
                			response.end('key ' + arr[2] + ' gesendet');
                			});
                		}
                  }
                  if (arr[1] == "aus") {
                		child = execFile('c:\\users\\dieter\\webserver\\turnoffmonitor.exe');
                		console.log('Display aus');
                		response.end('Display aus');
                  };
                }
                 
                const server = http.createServer(requestHandler);
                server.listen(port, (err) => {
                  if (err) {
                    return console.log('something bad happened', err)
                  }
                  console.log(`server is listening on ${port}`)
                });
                
                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #7

                @bahnuhr

                danke dir - das ist ja von dir kopiert :-)

                habe aber festgestellt, dass irgendwie die firewall rule nicht da war und der webserver nicht mehr erreichbar war - absolut keine ahnung warum ?
                habe die letzten tage meine fritzbox gewechselt bzw wechseln müssen - da war erstmal ein wenig chaos im netzwerk (ip adressen)

                jetzt läuft es wieder - firewall auf pc mit port 3000 wieder enabled

                @apollon77 - danke auch dir - war kein blockly problem sondern wie meist: ein user problem :-(

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                apollon77A 1 Antwort Letzte Antwort
                2
                • liv-in-skyL liv-in-sky

                  @bahnuhr

                  danke dir - das ist ja von dir kopiert :-)

                  habe aber festgestellt, dass irgendwie die firewall rule nicht da war und der webserver nicht mehr erreichbar war - absolut keine ahnung warum ?
                  habe die letzten tage meine fritzbox gewechselt bzw wechseln müssen - da war erstmal ein wenig chaos im netzwerk (ip adressen)

                  jetzt läuft es wieder - firewall auf pc mit port 3000 wieder enabled

                  @apollon77 - danke auch dir - war kein blockly problem sondern wie meist: ein user problem :-(

                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #8

                  @liv-in-sky sagte in [gelöst] blockly-request-seltsamer fehler:

                  @apollon77 - danke auch dir - war kein blockly problem sondern wie meist: ein user problem

                  All Fine, dazu sind wir alle hier um uns gegenseitig zu helfen

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  1
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  377

                  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