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. ioBroker Allgemein
  4. Unerklärliche Fehlermeldung von socketio / javascript

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Unerklärliche Fehlermeldung von socketio / javascript

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
18 Beiträge 5 Kommentatoren 1.4k 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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #2

    Das ist wegen deinen Skript.

    at Object. (script.js.TTS_Mediaplayer.SZ_Strom_TV:8:13)
    ReferenceError:   2017-01-03 16:36:27.040   error   Url is not defined
    

    Wenn immer noch nicht klar ist, dann poste dein Skript hier.

    1 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      Nordlicht
      schrieb am zuletzt editiert von
      #3

      @Bluefox:

      Das ist wegen deinen Skript.

      at Object. (script.js.TTS_Mediaplayer.SZ_Strom_TV:8:13)
      ReferenceError:   2017-01-03 16:36:27.040   error   Url is not defined
      

      Wenn immer noch nicht klar ist, dann poste dein Skript hier. `

      Dass es von diesem Skript kommt ist schon klar. Nur nicht warum, da das Skript ausgeführt wird.

      var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
      
      subscribe({id: idButton, val: true}, function (obj) { 
         log("Strom SZ wurde aktiviert");
      
      var request = require("request");
      
          request(Url);
          Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
          request(Url);
      });
      
      1 Antwort Letzte Antwort
      0
      • blauholstenB Offline
        blauholstenB Offline
        blauholsten
        Developer
        schrieb am zuletzt editiert von
        #4

        Ich würde sagen, beim ersten request, ist die var Url noch leer.

        Warum überhaupt 2mal der request? Der erste wird wohl zuviel sein, oder?

        Entwickler vom: - Viessman Adapter
        - Alarm Adapter

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          Nordlicht
          schrieb am zuletzt editiert von
          #5

          @blauholsten:

          Ich würde sagen, beim ersten request, ist die var Url noch leer.

          Warum überhaupt 2mal der request? Der erste wird wohl zuviel sein, oder? `

          Welchen request genau meinst Du als zuviel?

          Bzw. würdest Du das Skript ggf. generell anders machen?

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

            @Nordlicht:

            @blauholsten:

            Ich würde sagen, beim ersten request, ist die var Url noch leer.

            Warum überhaupt 2mal der request? Der erste wird wohl zuviel sein, oder? `

            Welchen request genau meinst Du als zuviel?

            Bzw. würdest Du das Skript ggf. generell anders machen? `
            Hi,

            In deinem Skript steht vor Url=…....., request (Url);

            Da steht aber bestimmt aber noch nichts in Url drin.

            Und falls du Url nicht woanders deklariert hast, musst du auch noch var Url schreiben, statt nur Url.

            Entwickler vom: - Viessman Adapter
            - Alarm Adapter

            1 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              Nordlicht
              schrieb am zuletzt editiert von
              #7

              @blauholsten:

              Hi,

              In deinem Skript steht vor Url=…....., request (Url);

              Da steht aber bestimmt aber noch nichts in Url drin. `

              Wenn ich es richtig verstanden habe wäre es so dann besser bzw. richtig:

              var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
              
              subscribe({id: idButton, val: true}, function (obj) { 
                 log("Strom SZ wurde aktiviert");
              
              var request = require("request");   
              
                  Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
                  request(Url);
              });
              

              Gruß

              Thomas

              1 Antwort Letzte Antwort
              0
              • htreckslerH Offline
                htreckslerH Offline
                htrecksler
                Forum Testing
                schrieb am zuletzt editiert von
                #8

                Url wird er immer noch nicht kennen.

                Du musst:

                var Url = ...
                
                

                schreiben

                Gruss Hermann

                ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  Nordlicht
                  schrieb am zuletzt editiert von
                  #9

                  @htrecksler:

                  Url wird er immer noch nicht kennen.

                  Du musst:

                  var Url = ...
                  
                  

                  schreiben `

                  Ich habe aus diesem Beitrag das Beispiel genommen http://forum.iobroker.net/viewtopic.php?p=43367#p43367.

                  Solche Beispiele sind natürlich immer so ne Sache wenn man etwas anpasst oder eben anpassen muss.

                  Und als "Skript-Laie" führt das oftmals ins verderben.

                  Also dann so:

                  var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
                  
                  subscribe({id: idButton, val: true}, function (obj) { 
                     log("Strom SZ wurde aktiviert");
                  
                  var request = require("request");   
                  
                  var Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
                      request(Url);
                  });
                  

                  Nehmt es mir nicht übel wenn ich hier auf dem Schlauch stehe bitte.

                  1 Antwort Letzte Antwort
                  0
                  • htreckslerH Offline
                    htreckslerH Offline
                    htrecksler
                    Forum Testing
                    schrieb am zuletzt editiert von
                    #10

                    Dir nimmt hier keiner irgendwas übel. Ganz bestimmt nicht.

                    Ganz im Gegenteil. Durch solche Fragen lernen hier sehr viele sehr viel (mich eingeschlossen) :D

                    Gruss Hermann

                    ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                    1 Antwort Letzte Antwort
                    0
                    • htreckslerH Offline
                      htreckslerH Offline
                      htrecksler
                      Forum Testing
                      schrieb am zuletzt editiert von
                      #11

                      eines noch, damit Scripte halbwegs lesbar sind sollte man auf das korrekte Einrücken achten:

                      var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
                      
                      subscribe({id: idButton, val: true}, function (obj) { 
                      	log("Strom SZ wurde aktiviert");
                      	var request = require("request");   
                      	var Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
                      	request(Url);
                      });
                      
                      

                      Gruss Hermann

                      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                      1 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        Nordlicht
                        schrieb am zuletzt editiert von
                        #12

                        @htrecksler:

                        Dir nimmt hier keiner irgendwas übel. Ganz bestimmt nicht.

                        Ganz im Gegenteil. Durch solche Fragen lernen hier sehr viele sehr viel (mich eingeschlossen) :D `

                        Schön zu lesen….

                        Was mir und zig anderen fehlt ist einfach ein Leitfaden für so gewisse "Grundaufrufe" in den Skripten wie z.B. Home24 Mediaplayer. Durch das Zusammengestöpsle von vielen Zeilen die man so findet kommt nicht immer das richtig dabei herum.

                        Aber da muss man wohl durch.

                        Danke für Deine Ausführungen.

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

                          Ich empfehle dir deinen Code wie folgt zu erweitern:

                          var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
                          
                          subscribe({id: idButton, val: true}, function (obj) { 
                             log("Strom SZ wurde aktiviert");
                             var request = require("request");   
                             var Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
                             request(Url).on ('error', function  (e) { console.error (e);});
                          });
                          
                          

                          sonst startet deine dein JS-Instanz neu durch, wenn z.B. das Gerät auf dem der M24-Player läuft nicht erreichbar ist.

                          Entwickler vom: - Viessman Adapter
                          - Alarm Adapter

                          1 Antwort Letzte Antwort
                          0
                          • frankjokeF Offline
                            frankjokeF Offline
                            frankjoke
                            schrieb am zuletzt editiert von
                            #14

                            Würde aus technischen Gründen das Script umstallen und zwar:

                            var idButton = "hm-rpc.0.LTK0019323.1.PRESS_SHORT"/*SZ Taster 1.PRESS_SHORT*/; 
                            var request = require("request");   
                            var Url = "http://192.168.178.58:50000/tts=Anlage in Betrieb.";
                            
                            subscribe({id: idButton, val: true}, function (obj) { 
                               log("Strom SZ wurde aktiviert");
                               request(Url).on ('error', function  (e) { console.error (e);});
                            });
                            

                            request braucht nicht immer neu 'nachgeladen' werden (im subscribe-Teil), auch die URL ändert sich ja nicht.

                            Warum verwendest du subscribe(xxx) on nicht on(xxx)?

                            Jedenfalls sollten in der Eventfunktion nur Programmteile vorkommen die zwingend dann ausgeführt werden müsssen.

                            p.s.: Wenn du nodejs >=4 verwendest kannst die 'var' auch gegen 'const' tauschen wenn sie sich im Programmverlauf nicht ändern sollen…

                            Frank,

                            NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                            Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                            1 Antwort Letzte Antwort
                            0
                            • N Offline
                              N Offline
                              Nordlicht
                              schrieb am zuletzt editiert von
                              #15

                              Vielen Dank, ich werde das so übernehmen und den Fehler beobachten. Sollte nun ja nicht mehr auftreten.

                              Und genau dieses "Baukastenprinzip" bzw. dessen richtige Anordnung…. dort liegen meine Verständnisprobleme wenn ich etwas konstruieren möchte.
                              > Warum verwendest du subscribe(xxx) on nicht on(xxx)?
                              Der einzige Grund ist nur, weil ich es hier im Forum so gesehen habe, frag mich jetzt bitte nicht wo genau.

                              Welchen genauen Unterschied es macht ist mir ehrlich gesagt nicht bewusst. Das es die gewünschte Funktion ausgelöst hat war ich der Ansicht, dass es nicht falsch sein kann.

                              Deine Nachfrage aber zeigt mir, dass hier auch etwas im Argen sein muss…. zumindest teilweise.

                              > p.s.: Wenn du nodejs >=4 verwendest kannst die 'var' auch gegen 'const' tauschen wenn sie sich im Programmverlauf nicht ändern sollen..
                              Hier läuft die Version 4.7.0

                              Dieses "Tausch" betrifft dann alle var-Positionen in einem Skript die unverändert bleiben?

                              Bringt das Vorteile oder ist es "nur" eine Neuerung ohne besondere Auswirkungen?

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

                                Hi,

                                Kannst du deinen letzten Post bitte ändern, du hast beim Zitat beides mal mich zitiert. Es war aber fsjoke der dies geschrieben hat. Danke

                                Entwickler vom: - Viessman Adapter
                                - Alarm Adapter

                                1 Antwort Letzte Antwort
                                0
                                • frankjokeF Offline
                                  frankjokeF Offline
                                  frankjoke
                                  schrieb am zuletzt editiert von
                                  #17

                                  @Nordlicht:

                                  Vielen Dank, ich werde das so übernehmen und den Fehler beobachten. Sollte nun ja nicht mehr auftreten.

                                  Und genau dieses "Baukastenprinzip" bzw. dessen richtige Anordnung…. dort liegen meine Verständnisprobleme wenn ich etwas konstruieren möchte.
                                  > Warum verwendest du subscribe(xxx) on nicht on(xxx)?
                                  Der einzige Grund ist nur, weil ich es hier im Forum so gesehen habe, frag mich jetzt bitte nicht wo genau.

                                  Welchen genauen Unterschied es macht ist mir ehrlich gesagt nicht bewusst. Das es die gewünschte Funktion ausgelöst hat war ich der Ansicht, dass es nicht falsch sein kann.

                                  Deine Nachfrage aber zeigt mir, dass hier auch etwas im Argen sein muss…. zumindest teilweise.

                                  > p.s.: Wenn du nodejs >=4 verwendest kannst die 'var' auch gegen 'const' tauschen wenn sie sich im Programmverlauf nicht ändern sollen..
                                  Hier läuft die Version 4.7.0

                                  Dieses "Tausch" betrifft dann alle var-Positionen in einem Skript die unverändert bleiben?

                                  Bringt das Vorteile oder ist es "nur" eine Neuerung ohne besondere Auswirkungen? `

                                  Hallo, war etwas busy die letzten Tage.. un habe nicht alle Antworten beobachtet.

                                  zu on(xxx) kann ich nur sagen dass es in Javascript instanzen glaub ich besser ist da diese subscriptions gelöscht werden wenn das script stoppt. Vielleicht macht es subscribe auch aber ich habe in Javascript-Adaptern eben nur on() verwendet da es in der Beschreibung so vorkommt.

                                  Das const anstatt var hilft nur Programmierfehlern vorzubeugen. Es gibt auch 'let' das anstatt var verwendet werden soll wenn die Variable nur in diesem Block verwendet werden soll.

                                  Damit kann man besser definieren ob man eine var-Variable (= änderbar), const-Konstante (= nicht änderbar) oder lokale let-Variable (änderbar aber nur im momentaner Klammer-Umgebung gültig). Es hilft auch ein wenig dem Speichermanagement, aber das ist kaum spürbar.

                                  Was allerdings dann möglich wird ist

                                  const i=1;
                                  for(let i of [1,2,3]) console.log(i);
                                  console.log(i);
                                  
                                  würde
                                  1
                                  2
                                  3
                                  1
                                  
                                  ausgeben
                                  
                                  

                                  Der Grund ist dass let i eine neue lokale Varieable erzeugt welche nur in der for-Anweisung gültig ist und nicht die Konstante i überschreibt.

                                  Ich kann jetzt auch nicht alle anderen Vorteile aufzählen (da ich auch nicht alle kenne).

                                  Frank,

                                  NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                                  Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                                  1 Antwort Letzte Antwort
                                  0
                                  • N Offline
                                    N Offline
                                    Nordlicht
                                    schrieb am zuletzt editiert von
                                    #18

                                    Jetzt muss ich noch einmal nachhaken, weil in einem anderen Skript die URL nicht immer gleich ist…..

                                    ! ````
                                    var Severity = "dwd.0.warning.severity"/Warning severity/;
                                    var request = require("request");
                                    var Url = "http://192.168.178.58:50000/track=gong.mp3";
                                    var ansage2 = "Eine bestehende Wetterwarnung wurde aufgehoben." ;
                                    !
                                    ! on(Severity, function (obj) {
                                    if (obj.newState.val !==0) {
                                    ! var End = getState("dwd.0.warning.end"/Warning end/).val;
                                    var Description = getState("dwd.0.warning.description"/Warning description/).val;

                                    		var ansage = "Der Deutsche Wetterdienst meldet. " + Description + " . Die Warnung gilt bis " + End ;          
                                    
                                    		request(Url);
                                    		Url = "http://192.168.178.58:50000/track=gong.mp3|tts=" + ansage ;
                                    		request(Url);
                                    

                                    ! }

                                    		if (obj.newState.val === 0) {
                                    
                                    		Url = "http://192.168.178.58:50000/tts=" + ansage2 ;
                                    		request(Url);
                                    	}
                                    
                                    });
                                    
                                    
                                    Irgendwo muss hier noch ein "Knopf" sein. Die __"Ansage 2"__ wird richtig ausgegeben. Bei der __"Ansage"__ werde die Teile __"Description"__ sowie __"End"__ nämlich nicht angesagt obwohl sie als Datenpunkte vorhanden sind.
                                    
                                    Gruß
                                    
                                    Thomas
                                    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
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    585

                                    Online

                                    32.7k

                                    Benutzer

                                    82.4k

                                    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