Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Plötzlich ReferenceError: request is not defined

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Plötzlich ReferenceError: request is not defined

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 @XWing last edited by

      @xwing
      Hast du vor dem Update einer MAJOR Release den Changelog angesehen? MAJOR Release enthalten oft BREAKING changes...

      Wahrscheinlich nicht, denn dort ist klar dokumentiert, dass REQUEST nicht mehr standardmäig verfügbar ist:

      https://github.com/ioBroker/ioBroker.javascript/blob/master/CHANGELOG_OLD.md#800-2024-04-05

      Zitat:
      (klein0r) Breaking change: Removed support for binary states (deprecated since v6.2.0)
      (klein0r) Breaking change: Protected filesystem (iobroker-data/files) to prevent direct file writes
      (klein0r) Breaking change: request property has been removed of the sandbox (require the module if still needed)

      Das Verhalten ist also ein dokumentierter breaking change und kein Bug.
      Require request explizit oder wechsle auf axios / httpGet .

      Ansonsten empfehle ich mal di Suche hier im Forum. Da solltest du rasch zu diesem Thema fündig werden.

      X 1 Reply Last reply Reply Quote 2
      • X
        XWing @mcm1957 last edited by

        @mcm1957 said in Plötzlich ReferenceError: request is not defined:

        Require request

        Ich habe zwar wenig verstanden, von dem was Du mir als Gelegenheitsprogrammierer sagen wolltest.

        Die Zeile

        const request = require('request');
        

        oben in mein Script einzutragen hat geholfen.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @XWing last edited by Homoran

          @xwing sagte in Plötzlich ReferenceError: request is not defined:

          Die Zeile

          dann hast du es verstanden
          Trotzdem solltest du request durch httpGet ersetzen

          1 Reply Last reply Reply Quote 0
          • X
            XWing last edited by

            Ich habe mal versucht das mit httpGet umzusetzen. Die Dokumentation und Verwendung von Axios ist wohl nur was für Hardcore Entwickler. Da habe ich 0 verstanden.
            In Javascript bin ich nicht firm und habe mich an diversen Posts hier im Forum und im Netz versucht zu orientieren. Das Ursprungsscript habe ich, wie gesagt vor 4 Jahren im Forum gefunden und angepasst.
            Inzwischen bekomme ich bei meinen Versuchen zwar keine Fehlermeldungen mehr, aber es werden auch keine Werte in die Objekte geschrieben.

            const url="http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung";
            //const request = require('request');
            const idPath = '0_userdata.0.BHKW.';
            
            const idRLT = idPath + 'RL-Temperatur';
            
            const idBetrieb = idPath + 'Betriebsstunden';
            
            const idAT = idPath + 'Aussen-Temperatur';
            
            const idATh = idPath + 'Heizkreis-Energie';
            
            const idAEl = idPath + 'Elektroenergie';
            
            const idVLT = idPath + "VL-Temperatur";
            const idTF1 = idPath + "Temperatur_Fuehler_1";
            const idDZ = idPath + "Motordrehzahl";
            const idWN = idPath + "Wartung-notwendig";
            const idST = idPath + "Stoerung";
            const idWR = idPath + "Wartungsrelais";
            const idAKK = idPath + "Interne_Umwaelzpumpe";
            const idSNR = idPath + "Seriennummer";
            const idTNR = idPath + "Teilenummer";
            const idINB = idPath + "Inbetriebnahmedatum";
            const idWLZT = idPath + "Letzte_Wartung";
            const idWAM = idPath + "LWartung_am";
            const idWINT = idPath + "Wartungsinterval";
            const idALZ = idPath + "Motorlaufzeit-Start";
            const idUPV = idPath + "UP_Vordruck";
            const idWLST = idPath + "A_Wirkleistung";
            const idWAIN= idPath + "Wartung_in_h";
            const idTDA= idPath + "Abgastemp_Dachs";
            const idTMO= idPath + "Abgastemp_Motor";
            const idTKA= idPath + "Kapseltemperatur";
            const idTFR= idPath + "Freigabemodul";
            const idTEIN= idPath + "Dachs-Eintrittstemperatur";
            const idTKM= idPath + "Kuehlwasser-Motor";
            const idTIR= idPath + "Interne_Reglertemperatur";
            const idSOR= idPath + "Solltemperatur_Ruecklauf";
            const idSOV= idPath + "Solltemperatur_Vorlauf";
            const idSTAR= idPath + "Anzahl-Starts";
            const idSEL= idPath + "Erzeugte_elektrische_Arbeit";
            const idSWEN= idPath + "Erzeugte_thermische_Arbeit";
            const idSWEK= idPath + "Erzeugte_thermische_Arbeit_Kondenser";
            const idSEL31= idPath + "Erzeugte_elektrische_Arbeit_31_12";
            const idSWEN31= idPath + "Erzeugte_thermische_Arbeit_31_12";
            const idSWEK31= idPath + "Erzeugte_thermische_Arbeit_Kondenser_31_12";
            const idSTAR31= idPath + "Anzahl-Starts_31_12";
            const idBetrieb31 = idPath + 'Betriebsstunden_31_12';
            const idSTNR = idPath + 'Aktuelle_Stoerung_Nr';
            const idWARN = idPath + 'Aktueller_Warncode';
            const altzeit = idPath + 'Betriebsstunden-alt'
            //var neuzeit
            //neuzeit=getState(idBetrieb).val;
            
            function getBHKW() {
             //  httpGet('http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung', {timeout:2000},(err,response) => {
             httpGet('http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung', { timeout: 2000, responseType: 'arraybuffer' }, async (err, response) => {
              if (err) {
                console.error(err);
              }
            // });
            
            //request(url, function(error, response, body) {
            
            let arr = response;
            //  let arr = body.split('\n');
            
                for(let i = 0; i < arr.length; i++) {
            
                    let sensor = arr[i].split('=');
            
                    if(sensor[0].indexOf('Temp.sbRuecklauf') != -1) setState(idRLT, parseFloat(sensor[1]), true);
                    
                    if(sensor[0].indexOf('ulBetriebssekunden') != -1) setState(altzeit,parseFloat(sensor[1]), true ); // Stunden mit 2 Nachkommastellen
                    if(getState(idBetrieb).val<getState(altzeit).val) setState(idBetrieb, getState(altzeit).val, true); //nur höhere Werte loggen
                    if(sensor[0].indexOf('sbAussen') != -1) setState(idAT, parseFloat(sensor[1]), true);
            
                    if(sensor[0].indexOf('ulArbeitThermHka') != -1) setState(idATh, parseFloat(sensor[1]), true);
            
                    if(sensor[0].indexOf('ulArbeitElektr') != -1) setState(idAEl, parseFloat(sensor[1]), true);
                    
                    if(sensor[0].indexOf('Temp.sbVorlauf') != -1) setState(idVLT, parseFloat(sensor[1]), true);
            
                    if(sensor[0].indexOf('sbFuehler1') != -1) setState(idTF1, parseFloat(sensor[1]), true);
                    
                    if(sensor[0].indexOf('usDrehzahl') != -1) setState(idDZ, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('uchSeriennummer') != -1) setState(idSNR, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('uchTeilenummer') != -1) setState(idTNR, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('ulInbetriebnahmedatum') != -1) setState(idINB, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('ulBetriebssekundenBei') != -1) setState(idWLZT, parseFloat(sensor[1]), true);
            		if(sensor[0].indexOf('ulAnzahlStarts') != -1) setState(idSTAR, parseFloat(sensor[1]), true);
            		if(sensor[0].indexOf('ulZeitstempel') != -1) setState(idWAM, Math.round(parseFloat(sensor[1])), true);
                    if(sensor[0].indexOf('usIntervall') != -1) setState(idWINT, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('ulMotorlaufsekunden') != -1) setState(idALZ, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sWirkleistung') != -1) setState(idWLST, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sAbgasHKA') != -1) setState(idTDA, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sAbgasMotor') != -1) setState(idTMO, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sKapsel') != -1) setState(idTKA, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sbFreigabeModul') != -1) setState(idTFR, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sbGen') != -1) setState(idTEIN, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sbMotor') != -1) setState(idTKM, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('sbRegler') != -1) setState(idTIR, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Solltemp.sbRuecklauf') != -1) setState(idSOR, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Solltemp.sbVorlauf') != -1) setState(idSOV, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Hka_Bd.ulArbeitElektr') != -1) setState(idSEL, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Hka_Bd.ulArbeitThermHka') != -1) setState(idSWEN, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Hka_Bd.ulArbeitThermKon') != -1) setState(idSWEK, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitElektr') != -1) setState(idSEL31, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitThermHka') != -1) setState(idSWEN31, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitThermKon') != -1) setState(idSWEK31, parseFloat(sensor[1]), true);
            		if(sensor[0].indexOf('BD3112.Hka_Bd.ulAnzahlStarts') != -1) setState(idSTAR31, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('BD3112.Hka_Bd.ulBetriebssekunden') != -1) setState(idBetrieb31, parseFloat(sensor[1]), true);
                    if(sensor[0].indexOf('Hka_Bd.bStoerung') != -1) setState(idSTNR, parseFloat(sensor[1])+100, true);
                    if(sensor[0].indexOf('Hka_Bd.bWarnung') != -1) setState(idWARN, parseFloat(sensor[1])+600, true);
            
                    if(sensor[0].indexOf('fStehtAn') != -1) setState(idWN, toBoolean(sensor[1]), true); 
            
                    if(sensor[0].indexOf('fUPKuehlung') != -1) setState(idAKK, toBoolean(sensor[1]), true); 
                    if(sensor[0].indexOf('fStoerung') != -1) setState(idST, toBoolean(sensor[1]), true); 
                    if(sensor[0].indexOf('fWartung') != -1) setState(idWR, toBoolean(sensor[1]), true); 
                    if(sensor[0].indexOf('fUPVordruck') != -1) setState(idUPV, toBoolean(sensor[1]), true); 
            
            
                }
            
              });
            }
            getBHKW(); // Script start
            schedule('* * * * *', getBHKW); // jede Minute
            

            Ich habe es auch mit

            let arr = response.data;
            

            probiert. Auch da keine Fehlermeldung, aber auch keine Eintragungen in die Objekte.

            Wenn ich das richtig interpretiere wird mit dem httpGet eine Variable "response" erzeugt, die in die Variable "arr" kopierte wird. Die wird dann in einer Schleife aufgedröselt und die Ergebnisse landen dann in den Objekten. Richtig?

            Was mache ich da falsch?

            haus-automatisierung Homoran 2 Replies Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @XWing last edited by

              @xwing sagte in Plötzlich ReferenceError: request is not defined:

              Die Dokumentation und Verwendung von Axios ist wohl nur was für Hardcore Entwickler.

              Wenn Du httpGet nutzt, hast Du nichts mit axios zu tun. Das ist ja eine Alternative.

              1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active last edited by

                Gerne hinzufügen, was dir im Upgrade-Guide gefehlt hat:

                https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md

                So sollte es passen (auch, wenn ich nicht verstehe warum Du mit einem Array über den kompletten Text gehst?)

                const url = 'http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung';
                const idPath = '0_userdata.0.BHKW.';
                
                const idRLT = idPath + 'RL-Temperatur';
                
                const idBetrieb = idPath + 'Betriebsstunden';
                
                const idAT = idPath + 'Aussen-Temperatur';
                
                const idATh = idPath + 'Heizkreis-Energie';
                
                const idAEl = idPath + 'Elektroenergie';
                
                const idVLT = idPath + "VL-Temperatur";
                const idTF1 = idPath + "Temperatur_Fuehler_1";
                const idDZ = idPath + "Motordrehzahl";
                const idWN = idPath + "Wartung-notwendig";
                const idST = idPath + "Stoerung";
                const idWR = idPath + "Wartungsrelais";
                const idAKK = idPath + "Interne_Umwaelzpumpe";
                const idSNR = idPath + "Seriennummer";
                const idTNR = idPath + "Teilenummer";
                const idINB = idPath + "Inbetriebnahmedatum";
                const idWLZT = idPath + "Letzte_Wartung";
                const idWAM = idPath + "LWartung_am";
                const idWINT = idPath + "Wartungsinterval";
                const idALZ = idPath + "Motorlaufzeit-Start";
                const idUPV = idPath + "UP_Vordruck";
                const idWLST = idPath + "A_Wirkleistung";
                const idWAIN = idPath + "Wartung_in_h";
                const idTDA = idPath + "Abgastemp_Dachs";
                const idTMO = idPath + "Abgastemp_Motor";
                const idTKA = idPath + "Kapseltemperatur";
                const idTFR = idPath + "Freigabemodul";
                const idTEIN = idPath + "Dachs-Eintrittstemperatur";
                const idTKM = idPath + "Kuehlwasser-Motor";
                const idTIR = idPath + "Interne_Reglertemperatur";
                const idSOR = idPath + "Solltemperatur_Ruecklauf";
                const idSOV = idPath + "Solltemperatur_Vorlauf";
                const idSTAR = idPath + "Anzahl-Starts";
                const idSEL = idPath + "Erzeugte_elektrische_Arbeit";
                const idSWEN = idPath + "Erzeugte_thermische_Arbeit";
                const idSWEK = idPath + "Erzeugte_thermische_Arbeit_Kondenser";
                const idSEL31 = idPath + "Erzeugte_elektrische_Arbeit_31_12";
                const idSWEN31 = idPath + "Erzeugte_thermische_Arbeit_31_12";
                const idSWEK31 = idPath + "Erzeugte_thermische_Arbeit_Kondenser_31_12";
                const idSTAR31 = idPath + "Anzahl-Starts_31_12";
                const idBetrieb31 = idPath + 'Betriebsstunden_31_12';
                const idSTNR = idPath + 'Aktuelle_Stoerung_Nr';
                const idWARN = idPath + 'Aktueller_Warncode';
                const altzeit = idPath + 'Betriebsstunden-alt'
                  
                function getBHKW() {
                    httpGet(url, { timeout: 2000, responseType: 'text' }, async (err, response) => {
                        if (err) {
                            console.error(err);
                        } else {
                            const arr = response.data;
                
                            for (let i = 0; i < arr.length; i++) {
                                let sensor = arr[i].split('=');
                
                                if (sensor[0].indexOf('Temp.sbRuecklauf') != -1) setState(idRLT, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('ulBetriebssekunden') != -1) setState(altzeit,parseFloat(sensor[1]), true ); // Stunden mit 2 Nachkommastellen
                                if (getState(idBetrieb).val<getState(altzeit).val) setState(idBetrieb, getState(altzeit).val, true); //nur höhere Werte loggen
                                if (sensor[0].indexOf('sbAussen') != -1) setState(idAT, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('ulArbeitThermHka') != -1) setState(idATh, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('ulArbeitElektr') != -1) setState(idAEl, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('Temp.sbVorlauf') != -1) setState(idVLT, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('sbFuehler1') != -1) setState(idTF1, parseFloat(sensor[1]), true);
                
                                if (sensor[0].indexOf('usDrehzahl') != -1) setState(idDZ, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('uchSeriennummer') != -1) setState(idSNR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('uchTeilenummer') != -1) setState(idTNR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('ulInbetriebnahmedatum') != -1) setState(idINB, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('ulBetriebssekundenBei') != -1) setState(idWLZT, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('ulAnzahlStarts') != -1) setState(idSTAR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('ulZeitstempel') != -1) setState(idWAM, Math.round(parseFloat(sensor[1])), true);
                                if (sensor[0].indexOf('usIntervall') != -1) setState(idWINT, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('ulMotorlaufsekunden') != -1) setState(idALZ, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sWirkleistung') != -1) setState(idWLST, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sAbgasHKA') != -1) setState(idTDA, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sAbgasMotor') != -1) setState(idTMO, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sKapsel') != -1) setState(idTKA, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sbFreigabeModul') != -1) setState(idTFR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sbGen') != -1) setState(idTEIN, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sbMotor') != -1) setState(idTKM, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('sbRegler') != -1) setState(idTIR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Solltemp.sbRuecklauf') != -1) setState(idSOR, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Solltemp.sbVorlauf') != -1) setState(idSOV, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Hka_Bd.ulArbeitElektr') != -1) setState(idSEL, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Hka_Bd.ulArbeitThermHka') != -1) setState(idSWEN, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Hka_Bd.ulArbeitThermKon') != -1) setState(idSWEK, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitElektr') != -1) setState(idSEL31, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitThermHka') != -1) setState(idSWEN31, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('BD3112.Hka_Bd.ulArbeitThermKon') != -1) setState(idSWEK31, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('BD3112.Hka_Bd.ulAnzahlStarts') != -1) setState(idSTAR31, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('BD3112.Hka_Bd.ulBetriebssekunden') != -1) setState(idBetrieb31, parseFloat(sensor[1]), true);
                                if (sensor[0].indexOf('Hka_Bd.bStoerung') != -1) setState(idSTNR, parseFloat(sensor[1])+100, true);
                                if (sensor[0].indexOf('Hka_Bd.bWarnung') != -1) setState(idWARN, parseFloat(sensor[1])+600, true);
                
                                if (sensor[0].indexOf('fStehtAn') != -1) setState(idWN, toBoolean(sensor[1]), true); 
                
                                if (sensor[0].indexOf('fUPKuehlung') != -1) setState(idAKK, toBoolean(sensor[1]), true); 
                                if (sensor[0].indexOf('fStoerung') != -1) setState(idST, toBoolean(sensor[1]), true); 
                                if (sensor[0].indexOf('fWartung') != -1) setState(idWR, toBoolean(sensor[1]), true); 
                                if (sensor[0].indexOf('fUPVordruck') != -1) setState(idUPV, toBoolean(sensor[1]), true); 
                            }
                        }
                    });
                }
                
                getBHKW(); // Script start
                schedule('* * * * *', getBHKW); // jede Minute
                
                X 1 Reply Last reply Reply Quote 0
                • X
                  XWing @haus-automatisierung last edited by

                  @haus-automatisierung Danke!
                  Wenn ich das richtig sehe hast Du nur ein "let" durch ein "const" ersetzt?
                  Eine Fehlermeldung kommt nicht.

                  Aber leider werden auch hier die Objekte nicht geschrieben.

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @XWing last edited by

                    @xwing sagte in Plötzlich ReferenceError: request is not defined:

                    Die Dokumentation und Verwendung von Axios ist wohl nur was für Hardcore Entwickler.

                    richtig.
                    Deswegen ja nur suf httpGet und nicht auf axios umstellen.

                    Verständnisfrage:
                    was hat dich glauben gemacht axios verwenden zu müssen?

                    1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @XWing last edited by haus-automatisierung

                      @xwing sagte in Plötzlich ReferenceError: request is not defined:

                      Wenn ich das richtig sehe hast Du nur ein "let" durch ein "const" ersetzt?

                      Ne, das würde keinen Unterschied machen und ist nur Kosmetik. Du hast mit response gearbeitet und nicht mit response.data

                      X 1 Reply Last reply Reply Quote 0
                      • X
                        XWing @haus-automatisierung last edited by

                        @haus-automatisierung hatte ich, wie gesagt auch schon probiert. Bei beiden Wegen kommt zwar keine Fehlermeldung, aber es wird auch nichts in die Objekte geschrieben.

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @XWing last edited by

                          @xwing Ich sag ja ich verstehe die Schleife auf dem Text nicht. Kenne die Antwort vom Server ja auch nicht wie das aufgebaut ist. Damit nicht möglich zu helfen.

                          X 1 Reply Last reply Reply Quote 0
                          • X
                            XWing @haus-automatisierung last edited by

                            @haus-automatisierung said in Plötzlich ReferenceError: request is not defined:

                            Kenne die Antwort vom Server ja auch nicht wie das aufgebaut ist.

                            Das sollte die Webseite sein, die ich oben als Screenshot gepostet hatte.
                            Ich würde das gerne lösen und vor allem verstehen. Gibt es keine Möglichkeit sich die Inhalte einer Variablen beim debugen anzeigen zu lassen?

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @XWing last edited by Homoran

                              @xwing sagte in Plötzlich ReferenceError: request is not defined:

                              Das sollte die Webseite sein, die ich oben als Screenshot gepostet hatte.

                              nein, der Quelltext dazu.
                              Ausserdem

                              @xwing sagte in Plötzlich ReferenceError: request is not defined:

                              Gibt es keine Möglichkeit sich die Inhalte einer Variablen beim debugen anzeigen zu lassen?

                              genau darum geht es ja!
                              niemand weiß was da jetzt zurück kommt.

                              e7n debug log von response.data als Inhalt wäre sinnvoll

                              X 2 Replies Last reply Reply Quote 0
                              • X
                                XWing @Homoran last edited by

                                @homoran ich habe jetzt mal debug und protokollierung eingeschaltet.

                                090826fb-ded3-41d3-a75f-c5b18cc9c20c-grafik.png

                                Gibt es keine Möglichkeit sich den Inhalt der Variablen anzeigen zu lassen?

                                1 Reply Last reply Reply Quote 0
                                • X
                                  XWing @Homoran last edited by

                                  @homoran said in Plötzlich ReferenceError: request is not defined:

                                  e7n debug log von response.data als Inhalt wäre sinnvoll

                                  Wie ist das zu bewerkstelligen?
                                  Ich versuche das schon in Blockly nachzubauen, aber da komme ich auch nicht weiter.

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    TT-Tom @XWing last edited by

                                    @xwing

                                    setze mal das log dort ein, dann sollte etwas im log stehen.

                                    function getBHKW() {
                                        httpGet(url, { timeout: 2000, responseType: 'text' }, async (err, response) => {
                                            if (err) {
                                                console.error(err);
                                            } else {
                                                log(`Response.statusCode: ${response.statusCode}`);
                                                log(`Response.data: ${response.data}`);
                                                const arr = response.data;
                                    
                                    X 1 Reply Last reply Reply Quote 3
                                    • X
                                      XWing @TT-Tom last edited by

                                      @tt-tom said in Plötzlich ReferenceError: request is not defined:

                                      else {

                                      Danke für den Tip!
                                      Leider sieht die Ausgabe immer noch so aus wie im Screenshot 2 Posts vorher. Kann es sein, daß das Script gar nicht an den Punkt kommt?

                                      Ich habe jetzt mal ein Testscript erstellt, daß nur den besprochenen Punkt abfragt:

                                       httpGet('http://glt:ABCD@192.168.0.76:8080/getKey?k=Hka_Mw1.Temp.sbAussen&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulBetriebssekunden&k=Hka_Mw1.Temp.sbRuecklauf&k=Hka_Mw1.Temp.sbVorlauf&k=Wartung_Cache.fStehtAn&k=Hka_Mw1.Temp.sbFuehler1&k=Hka_Mw1.usDrehzahl&k=Hka_Mw1.Aktor.fUPKuehlung&k=Hka_Bd_Stat.uchSeriennummer&k=Hka_Bd_Stat.uchTeilenummer&k=Hka_Bd_Stat.ulInbetriebnahmedatum&k=Wartung_Cache.ulBetriebssekundenBei&k=Wartung_Cache.ulZeitstempel&k=Wartung_Cache.usIntervall&k=Hka_Mw1.ulMotorlaufsekunden&k=Hka_Mw1.Aktor.fStoerung&k=Hka_Mw1.Aktor.fWartung&k=Hka_Mw1.Aktor.fUPVordruck&k=Hka_Mw1.sWirkleistung&k=Hka_Mw1.Temp.sAbgasHKA&k=Hka_Mw1.Temp.sAbgasMotor&k=Hka_Mw1.Temp.sKapsel&k=Hka_Mw1.Temp.sbFreigabeModul&k=Hka_Mw1.Temp.sbGen&k=Hka_Mw1.Temp.sbMotor&k=Hka_Mw1.Temp.sbRegler&k=Hka_Mw1.Solltemp.sbRuecklauf&k=Hka_Mw1.Solltemp.sbVorlauf&k=Hka_Bd.ulAnzahlStarts&k=Hka_Bd.ulArbeitElektr&k=Hka_Bd.ulArbeitThermHka&k=Hka_Bd.ulArbeitThermKon&k=BD3112.Hka_Bd.ulBetriebssekunden&k=BD3112.Hka_Bd.ulAnzahlStarts&k=BD3112.Hka_Bd.ulArbeitElektr&k=BD3112.Hka_Bd.ulArbeitThermHka&k=BD3112.Hka_Bd.ulArbeitThermKon&k=Hka_Bd.bStoerung&k=Hka_Bd.bWarnung', { timeout: 2000, responseType: 'text' }, async (err, response) => {
                                        if (err) {
                                          console.error(err);
                                        }
                                        
                                        else {
                                      
                                                  log(`Response.statusCode: ${response.statusCode}`);
                                      
                                                  log(`Response.data: ${response.data}`);
                                      
                                       }});
                                      

                                      Die Ausgabe sieht so aus:

                                      a33445ac-d355-4da9-9403-5e05d0367b19-grafik.png

                                      Fehlen da Zeilensprünge?

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        TT-Tom @XWing last edited by TT-Tom

                                        @xwing

                                        Kannst du das bitten mal in codetags packen, sonst kann ich dir nicht weiterhelfen.

                                        Keine Screenshots vom log machen, immer kopieren und hier posten.

                                        X 1 Reply Last reply Reply Quote 0
                                        • X
                                          XWing @TT-Tom last edited by

                                          @tt-tom
                                          Meinst Du so?

                                          avascript.0	08:39:18.839	info	script.js.common.Senertec.Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                          javascript.0	08:39:19.175	info	script.js.common.Senertec.Test: Response.statusCode: 200
                                          javascript.0	08:39:19.175	info	script.js.common.Senertec.Test: Response.data: Hka_Bd.bWarnung=0 Hka_Bd.bStoerung=0 BD3112.Hka_Bd.ulArbeitThermKon=240600.516 BD3112.Hka_Bd.ulArbeitThermHka=1464918.500 BD3112.Hka_Bd.ulArbeitElektr=638439.188 BD3112.Hka_Bd.ulAnzahlStarts=65893 BD3112.Hka_Bd.ulBetriebssekunden=115983.219 Hka_Bd.ulArbeitThermKon=243102.344 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulAnzahlStarts=66375 Hka_Mw1.Solltemp.sbVorlauf=63 Hka_Mw1.Solltemp.sbRuecklauf=63 Hka_Mw1.Temp.sbRegler=29 Hka_Mw1.Temp.sbMotor=60 Hka_Mw1.Temp.sbGen=60 Hka_Mw1.Temp.sbFreigabeModul=127 Hka_Mw1.Temp.sKapsel=50.500 Hka_Mw1.Temp.sAbgasMotor=62.000 Hka_Mw1.Temp.sAbgasHKA=53.200 Hka_Mw1.sWirkleistung=0.000 Hka_Mw1.Aktor.fUPVordruck=false Hka_Mw1.Aktor.fWartung=false Hka_Mw1.Aktor.fStoerung=false Hka_Mw1.ulMotorlaufsekunden=2.884 Wartung_Cache.usIntervall=3500 Wartung_Cache.ulZeitstempel=756298868 Wartung_Cache.ulBetriebssekundenBei=115776.305 Hka_Bd_Stat.ulInbetriebnahmedatum=504147600 Hka_Bd_Stat.uchTeilenummer=4700046xxx Hka_Bd_Stat.uchSeriennummer=2209962114 Hka_Mw1.Aktor.fUPKuehlung=false Hka_Mw1.usDrehzahl=0 Hka_Mw1.Temp.sbFuehler1=74 Wartung_Cache.fStehtAn=false Hka_Mw1.Temp.sbVorlauf=76 Hka_Mw1.Temp.sbRuecklauf=44 Hka_Bd.ulBetriebssekunden=117681.539 Hka_Bd.ulArbeitElektr=647838.438 Hka_Bd.ulArbeitThermHka=1486528.625 Hka_Mw1.Temp.sbAussen=15
                                          
                                          
                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            TT-Tom @XWing last edited by TT-Tom

                                            @xwing
                                            ja so ist besser, so wie das aussieht ist das eine Textzeile.

                                            was kommt raus wenn du den responseType änderst.

                                            responseType: 'text' auf responseType: 'arraybuffer'
                                            
                                            haus-automatisierung X 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            75
                                            5564
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo