Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. CONTROME JSON Script zum auslesen von sensoren und Zuständen

    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

    CONTROME JSON Script zum auslesen von sensoren und Zuständen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      meicker last edited by

      @paul53:

      @meicker:

      Ich glaube jetzt habe ich den Aufbau soweit kapiert Es gibt einen [http://jsonviewer.stack.hu/](http://jsonviewer.stack.hu/), der dabei hilft, die Objekt-Struktur zu erkennen.

      DANKE 🙂

      1 Reply Last reply Reply Quote 0
      • M
        meicker last edited by

        @Paul53

        klappt ganz gut 🙂 Ich habe allerdings eine kurze Frage:

        1. Ich hole die temperatur als String.Bei Number wird wild gemeckert und das Log geflutet 🙂 Jetzt wird die Temperatur bei Controme mit ganz vielen Stellen hinter dem Komma angegeben und mir würden 1 oder 2 Stellen schon reichen. Wie kann ich das umschreiben ?

        createState('Controme.schlafzimmer.frt_temp', 0, {type: 'string', unit: '°C'});

        var frt_temp = sensoren[1].wert.Temperatur;

        setState('Controme.kueche.frt_temp', frt_temp, true);

        Viele Grüße,

        Marc

        1 Reply Last reply Reply Quote 0
        • M
          meicker last edited by

          @Paul53

          und da ist noch etwas:

          Wrong type of javascript.0.Controme.schlafzimmer.solltemperatur: "number". Please fix, while deprecated and will not work in next versions.

          Das wurde im Forum 2016 schon mal behandelt, sollte doch behoben sein,oder ? Du warst da irgendwie involviert 🙂

          Ich habe das Problem mit den temperaturen. Die sind eigentlich als String angelegt und werden als number angemeckert … Ich dachte schon ich hätte den Log Eintrag falsch gedeutet und die mal auf Number gesetzt, aber da kommt der Fehler ebenfalls ...

          Was muss ich da anstellen ?

          Jetzt geh ich erstmal pennen 🙂

          Viele Grüße,

          Marc

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by paul53

            @meicker:

            Wrong type of javascript.0.Controme.schlafzimmer.solltemperatur: "number".

            Das sagt aus, dass mit setState() eine Zahl in einen Datenpunkt, der nicht vom Typ "number" ist, geschrieben wird.

            Alle Datenpunkte, die Temperaturen enthalten, müssen vom Typ "number" sein (unit: "°C"). Die CONTROME-Objekte enthalten Zahlen und müssen deshalb nicht mittels parseFloat() gewandelt werden.

            @meicker:

            Ich dachte schon ich hätte den Log Eintrag falsch gedeutet und die mal auf Number gesetzt, aber da kommt der Fehler ebenfalls …

            Wenn Du es im createState() änderst, hat es keine Auswirkung, wenn der Datenpunkt bereits existiert. Ändere es im Reiter "Objekte".

            1 Reply Last reply Reply Quote 0
            • M
              meicker last edited by

              Hi Paul,

              habe ich in Objekte geändert und scheint jetzt OK zu sein. Hier kann ich dann später weiter machen …

              Aber ich hatte 2 Posts gestern 🙂 Im ersten hatte ich gefragt ob ich die vielen Nachkommastellen bei den Temperaturen auch wegbekommen kann. Die nerven ein bisschen ...

              Vielen dank,

              Gruß,

              Marc

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by paul53

                @meicker:

                die vielen Nachkommastellen bei den Temperaturen auch wegbekommen kann. Die nerven ein bisschen

                Sorry, habe ich übersehen. Beispiel:

                setState('Controme.kueche.frt_temp', Math.round(10 * frt_temp) / 10, true); // 1 Nachkommastelle
                
                1 Reply Last reply Reply Quote 0
                • M
                  meicker last edited by

                  DANKESCHÖN 🙂

                  1 Reply Last reply Reply Quote 0
                  • M
                    meicker last edited by

                    Ich habe mir doch einen Bug reingehauen 🙂 Ich verstehe zwar nicht warum das falsch ist, aber es macht einen fehler im Log - Die Werte erscheinen aber …

                    2018-08-23 23:00:10.047  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:130:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.054  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.054  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:154:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.059  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.059  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:176:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.064  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.064  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:198:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.068  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.069  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:220:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.073  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.073  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:242:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.077  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.078  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:264:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)
                    
                    2018-08-23 23:00:10.081  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                    2018-08-23 23:00:10.082  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                        at JSON.parse (<anonymous>:null:null)
                        at Request._callback (script.js.Controme.Sensordaten:283:33)
                        at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        at emitTwo (events.js:126:13)
                        at Request.emit (events.js:214:7)
                        at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        at emitOne (events.js:116:13)
                        at Request.emit (events.js:211:7)
                        at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        at Object.onceWrapper (events.js:313:30)</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>
                    

                    Das sind die betreffenden Zeilen:

                    130: var solltemp = JSON.parse(body)[0];
                    154: var solltemp = JSON.parse(body)[0];
                    usw ...
                    
                    

                    Das ist das Script komplett:

                    const request = require('request');
                    const link_kueche = 'http://192.168.1.12/get/json/v1/1/temps/1/';
                    const link_schlafzimmer = 'http://192.168.1.12/get/json/v1/1/temps/2/';
                    const link_wohnzimmer = 'http://192.168.1.12/get/json/v1/1/temps/3/';
                    const link_abstellkammer = 'http://192.168.1.12/get/json/v1/1/temps/4/';
                    const link_badezimmer = 'http://192.168.1.12/get/json/v1/1/temps/5/';
                    const link_flur = 'http://192.168.1.12/get/json/v1/1/temps/6/';
                    const link_arbeitszimmer = 'http://192.168.1.12/get/json/v1/1/temps/7/';
                    const link_esszimmer = 'http://192.168.1.12/get/json/v1/1/temps/8/';
                    const link_hkv = 'http://192.168.1.12/get/json/v1/1/temps/9/';
                    const link_vsensor1 = 'http://192.168.1.12/get/json/v1/1/temps/10/';
                    
                    // Datenpunkte erzeugen
                    //Küche
                    createState('Controme.kueche.frt_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.kueche.rl_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.kueche.frt_akt', 0, {type: "string", unit: ''});
                    createState('Controme.kueche.rl_akt', 0, {type: "string", unit: ''});
                    createState('Controme.kueche.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Schlafzimmer
                    createState('Controme.schlafzimmer.frt_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.schlafzimmer.rl_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.schlafzimmer.frt_akt', 0, {type: "string", unit: ''});
                    createState('Controme.schlafzimmer.rl_akt', 0, {type: "string", unit: ''});
                    createState('Controme.schlafzimmer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Wohnzimmer
                    createState('Controme.wohnzimmer.frt_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.wohnzimmer.balkon_rl_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.wohnzimmer.mitte_rl_temp', 0, {type: "number", unit: '°C'});
                    createState('Controme.wohnzimmer.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.wohnzimmer.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.wohnzimmer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Abstellkammer
                    createState('Controme.abstellkammer.frt_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.abstellkammer.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.abstellkammer.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.abstellkammer.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.abstellkammer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Badezimmer
                    createState('Controme.badezimmer.frt_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.badezimmer.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.badezimmer.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.badezimmer.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.badezimmer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Flur
                    createState('Controme.flur.frt_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.flur.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.flur.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.flur.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.flur.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Arbeitszimmer
                    createState('Controme.arbeitszimmer.frt_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.arbeitszimmer.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.arbeitszimmer.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.arbeitszimmer.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.arbeitszimmer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //Esszimmer
                    createState('Controme.esszimmer.frt_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.esszimmer.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.esszimmer.frt_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.esszimmer.rl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.esszimmer.solltemperatur', 0, {type: "number", unit: '°C'});
                    
                    //HKV
                    createState('Controme.hkv.vl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.hkv.rl_temp', 0, {type: 'number', unit: '°C'});
                    createState('Controme.hkv.vl_akt', 0, {type: 'string', unit: ''});
                    createState('Controme.hkv.rl_akt', 0, {type: 'string', unit: ''});
                    
                    //Virtueller Sensor
                    createState('Controme.wohnung.vsensor1_temp', 0, {type: 'number', unit: '°C'});
                    
                    function controme_kueche() {
                        request(link_kueche, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.kueche.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.kueche.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.kueche.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.kueche.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.kueche.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_schlafzimmer() {
                        request(link_schlafzimmer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.schlafzimmer.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.schlafzimmer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.schlafzimmer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.schlafzimmer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.schlafzimmer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_wohnzimmer() {
                        request(link_wohnzimmer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.wohnzimmer.balkon_rl_temp', Math.round(10*rl_temp)/10, true);
                                var rl_temp1 = sensoren[1].wert;
                                setState('Controme.wohnzimmer.mitte_rl_temp', Math.round(10*rl_temp1)/10, true);
                                var frt_temp = sensoren[2].wert.Temperatur;
                                setState('Controme.wohnzimmer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.wohnzimmer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.wohnzimmer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.wohnzimmer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_abstellkammer() {
                        request(link_abstellkammer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.abstellkammer.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert;
                                setState('Controme.abstellkammer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.abstellkammer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.abstellkammer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.abstellkammer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_badezimmer() {
                        request(link_badezimmer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.badezimmer.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.badezimmer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.badezimmer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.badezimmer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.badezimmer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_flur() {
                        request(link_flur, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.flur.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.flur.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.flur.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.flur.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.flur.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_arbeitszimmer() {
                        request(link_arbeitszimmer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.arbeitszimmer.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.arbeitszimmer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.arbeitszimmer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.arbeitszimmer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.arbeitszimmer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_esszimmer() {
                        request(link_esszimmer, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                               	var solltemp = JSON.parse(body)[0];
                    
                                var rl_temp = sensoren[0].wert;
                                setState('Controme.esszimmer.rl_temp', Math.round(10*rl_temp)/10, true);
                                var frt_temp = sensoren[1].wert.Temperatur;
                                setState('Controme.esszimmer.frt_temp', Math.round(10*frt_temp)/10, true);
                                var rl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.esszimmer.rl_akt', rl_akt, true);
                                var frt_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.esszimmer.frt_akt', frt_akt, true);
                                var soll = solltemp.solltemperatur;
                                setState('Controme.esszimmer.solltemperatur', Math.round(10*soll)/10, true);
                                     }    
                        });
                    }
                    
                    function controme_hkv() {
                        request(link_hkv, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                    
                                var vl_temp = sensoren[0].wert;
                                setState('Controme.hkv.vl_temp', Math.round(10*vl_temp)/10, true);
                                var rl_temp = sensoren[1].wert;
                                setState('Controme.hkv.rl_temp', Math.round(10*rl_temp)/10, true);
                                var vl_akt = sensoren[0].letzte_uebertragung;
                                setState('Controme.hkv.vl_akt', vl_akt, true);
                                var rl_akt = sensoren[1].letzte_uebertragung;
                                setState('Controme.hkv.rl_akt', rl_akt, true);
                                     }    
                        });
                    }
                    
                    function controme_vsensor1() {
                        request(link_vsensor1, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                    
                            else {
                               	var sensoren = JSON.parse(body)[0].sensoren;
                    
                                var vsensor_temp = sensoren[0].wert;
                                setState('Controme.wohnung.vsensor1_temp', Math.round(10*vsensor_temp)/10, true);
                                     }    
                        });
                    }
                    
                    function alledaten() {
                        controme_kueche();
                        controme_schlafzimmer();
                        controme_wohnzimmer();
                        controme_abstellkammer();
                        controme_badezimmer();
                        controme_flur();
                        controme_arbeitszimmer();
                        controme_esszimmer();
                        controme_hkv();
                        controme_vsensor1();
                    }
                    schedule('* /15 * * * *', alledaten); // alle 15 Minuten
                    

                    Aber komischer Weise ist das kein Dauerfehler sondern er tritt sporadisch auf und nicht immer sind alle Datenpunkte betroffen. Mal sind es alle oder auch nur 3 - unlogisch …

                    Das einzige was mir dazu einfällt ist, dass der Controme Server zu gewissen Zeiten kein Ergebnis parat hat, dementsprechend der komplette Datenpunkt fehlt und nicht gefunden werden kann - kann das so sein ?

                    vg

                    Marc

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by paul53

                      @meicker:

                      Das sind die betreffenden Zeilen:

                      130: var solltemp = JSON.parse(body)[0];
                      154: var solltemp = JSON.parse(body)[0];
                      usw ...
                      

                      Das sind nicht die betreffenden Zeilen, sondern die Zeile davor der Befehl JSON.parse(body).

                      @meicker:

                      dass der Controme Server zu gewissen Zeiten kein Ergebnis parat hat, dementsprechend der komplette Datenpunkt fehlt und nicht gefunden werden kann - kann das so sein ?

                      Ja. Ich hätte allerdings erwartet, dass dann ein Fehler gemeldet wird mit dem entsprechenden Fehlerlog.

                      Bau mal vor die JSON.parse() ein Log ein

                      log(body);
                      

                      und schau, was der Log im Fehlerfall zeigt. Vielleicht kann man den Fehler abfangen ?

                      1 Reply Last reply Reply Quote 0
                      • M
                        meicker last edited by

                        Baue ich jetzt ein 🙂 Scheint wieder zu laufen das teil - Glück gehabt … 🙂

                        1 Reply Last reply Reply Quote 0
                        • M
                          meicker last edited by

                          Hier habe ich ein Ergebnis:

                          15:03:53.749	[info]	javascript.0 script.js.Controme.Sensordaten: registered 0 subscriptions and 1 schedule
                          15:03:54.627	[info]	javascript.0 Stop script script.js.Controme.Sensordaten
                          15:03:55.653	[info]	javascript.0 Start javascript script.js.Controme.Sensordaten
                          15:03:55.653	[info]	javascript.0 script.js.Controme.Sensordaten: schedule(cron=*/30 * * * * *)
                          15:03:55.653	[info]	javascript.0 script.js.Controme.Sensordaten: registered 0 subscriptions and 1 schedule
                          15:04:00.906	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": -0.4375, "solltemperatur": 18.0, "temperatur": 22.745098039215687, "name": "Schlafzimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": -0.0375, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_42_09_8f_09_00_00_3b", "wert": 26.12, "beschreibung": "(7) RL Schlafzimmer"}, {"raumtemperatursensor": true, "letzte_uebertragung": "24.08.2018 14:56", "name": "05:05:9b:58", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": 22.745098039215687}, "beschreibung": "FRT Schlafzimmer"}], "id": 2, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:00.906	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.schlafzimmer.rl_temp, state={"val":26.1,"ack":true})
                          15:04:00.906	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.schlafzimmer.frt_temp, state={"val":22.7,"ack":true})
                          15:04:00.906	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.schlafzimmer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:00.907	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.schlafzimmer.frt_akt, state={"val":"24.08.2018 14:56","ack":true})
                          15:04:00.907	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.schlafzimmer.solltemperatur, state={"val":18,"ack":true})
                          15:04:00.967	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.06999999999999995, "solltemperatur": 20.0, "temperatur": null, "name": "K\u00fcche", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.47, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_e2_4c_8e_09_00_00_d3", "wert": 25.81, "beschreibung": "(4) RL K\u00fcche"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:05:ff:c2", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT K\u00fcche"}], "id": 1, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:00.967	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.kueche.rl_temp, state={"val":25.8,"ack":true})
                          15:04:00.968	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.kueche.frt_temp, state={"val":0,"ack":true})
                          15:04:00.968	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.kueche.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:00.968	[warn]	javascript.0 at Request._callback (script.js.Controme.Sensordaten:96:13)
                          15:04:00.971	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.kueche.frt_akt, state={"val":null,"ack":true})
                          15:04:00.971	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.kueche.solltemperatur, state={"val":20,"ack":true})
                          15:04:01.171	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.07499999999999996, "solltemperatur": 18.0, "temperatur": 20.0, "name": "Abstellkammer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.475, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_dc_7d_8e_09_00_00_64", "wert": 26.12, "beschreibung": "(9) RL Kammer"}, {"raumtemperatursensor": true, "letzte_uebertragung": "24.08.2018 15:03", "name": "00_11_11_11_11_11_20_00", "wert": 20.0, "beschreibung": "SIM_Abstellkammer"}], "id": 4, "luftfeuchte": "kein Sensor vorhanden"}]
                          15:04:01.171	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.abstellkammer.rl_temp, state={"val":26.1,"ack":true})
                          15:04:01.171	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.abstellkammer.frt_temp, state={"val":20,"ack":true})
                          15:04:01.172	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.abstellkammer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.172	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.abstellkammer.frt_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.172	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.abstellkammer.solltemperatur, state={"val":18,"ack":true})
                          15:04:01.207	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.16999999999999998, "solltemperatur": 20.0, "temperatur": null, "name": "Wohnzimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.2, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.47, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_5e_07_90_09_00_00_1d", "wert": 25.56, "beschreibung": "(1) RL WZ Balkon"}, {"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_af_71_8f_09_00_00_0b", "wert": 25.75, "beschreibung": "(2) RL WZ Mitte"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:05:ff:4a", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT Wohnzimmer"}], "id": 3, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:01.207	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.balkon_rl_temp, state={"val":25.6,"ack":true})
                          15:04:01.208	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.mitte_rl_temp, state={"val":25.8,"ack":true})
                          15:04:01.208	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.frt_temp, state={"val":0,"ack":true})
                          15:04:01.208	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.209	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.frt_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.209	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnzimmer.solltemperatur, state={"val":20,"ack":true})
                          15:04:01.410	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.07499999999999996, "solltemperatur": 19.5, "temperatur": 22.588235294117645, "name": "Flur", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.475, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_86_9e_8f_09_00_00_9e", "wert": 26.31, "beschreibung": "(6) RL Flur"}, {"raumtemperatursensor": true, "letzte_uebertragung": "24.08.2018 14:59", "name": "05:05:9a:c3", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": 22.588235294117645}, "beschreibung": "FRT Flur"}], "id": 6, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:01.411	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.flur.rl_temp, state={"val":26.3,"ack":true})
                          15:04:01.411	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.flur.frt_temp, state={"val":22.6,"ack":true})
                          15:04:01.412	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.flur.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.412	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.flur.frt_akt, state={"val":"24.08.2018 14:59","ack":true})
                          15:04:01.412	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.flur.solltemperatur, state={"val":19.5,"ack":true})
                          15:04:01.466	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.175, "solltemperatur": 20.5, "temperatur": null, "name": "Badezimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.2, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.475, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_3b_30_90_09_00_00_e0", "wert": 26.31, "beschreibung": "(5) RL Bad"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:05:9a:d0", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT Badezimmer"}], "id": 5, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:01.467	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.rl_temp, state={"val":26.3,"ack":true})
                          15:04:01.467	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.frt_temp, state={"val":0,"ack":true})
                          15:04:01.467	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.468	[warn]	javascript.0 at Request._callback (script.js.Controme.Sensordaten:190:13)
                          15:04:01.472	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.frt_akt, state={"val":null,"ack":true})
                          15:04:01.472	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.solltemperatur, state={"val":20.5,"ack":true})
                          15:04:01.690	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.06999999999999995, "solltemperatur": 20.0, "temperatur": null, "name": "Arbeitszimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.47, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_ce_94_8d_09_00_00_f0", "wert": 25.94, "beschreibung": "(8) RL Arbeitszimmer"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:06:00:08", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT Arbeitszimmer"}], "id": 7, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:01.690	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.rl_temp, state={"val":25.9,"ack":true})
                          15:04:01.696	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.frt_temp, state={"val":0,"ack":true})
                          15:04:01.696	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.697	[warn]	javascript.0 at Request._callback (script.js.Controme.Sensordaten:236:13)
                          15:04:01.698	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.frt_akt, state={"val":null,"ack":true})
                          15:04:01.699	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.solltemperatur, state={"val":20,"ack":true})
                          15:04:01.723	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.07499999999999996, "solltemperatur": 20.0, "temperatur": null, "name": "Esszimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.475, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_fe_22_90_09_00_00_6b", "wert": 25.87, "beschreibung": "(3) RL Esszimmer"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:05:9a:b0", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT Esszimmer"}], "id": 8, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                          15:04:01.723	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.esszimmer.rl_temp, state={"val":25.9,"ack":true})
                          15:04:01.723	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.esszimmer.frt_temp, state={"val":0,"ack":true})
                          15:04:01.723	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.esszimmer.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.724	[warn]	javascript.0 at Request._callback (script.js.Controme.Sensordaten:259:13)
                          15:04:01.726	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.esszimmer.frt_akt, state={"val":null,"ack":true})
                          15:04:01.726	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.esszimmer.solltemperatur, state={"val":20,"ack":true})
                          15:04:01.783	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.0, "solltemperatur": 18.0, "temperatur": null, "name": "HKV", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.5, "haus": 0.0}, "Temperaturszenen": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_10_58_8d_09_00_00_24", "wert": 26.44, "beschreibung": "Vorlauftemperatur HKV"}, {"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:03", "name": "28_49_10_8e_09_00_00_c3", "wert": 25.87, "beschreibung": "R\u00fccklauftemperatur HKV"}], "id": 9, "luftfeuchte": "kein Sensor vorhanden"}]
                          15:04:01.783	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.hkv.vl_temp, state={"val":26.4,"ack":true})
                          15:04:01.783	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.hkv.rl_temp, state={"val":25.9,"ack":true})
                          15:04:01.784	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.hkv.vl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.784	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.hkv.rl_akt, state={"val":"24.08.2018 15:03","ack":true})
                          15:04:01.904	[info]	javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.0, "solltemperatur": 18.0, "temperatur": null, "name": "Virtuelle Sensoren", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.5, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "VSensor*2", "wert": null, "beschreibung": "Wohnungstemperatur"}], "id": 10, "luftfeuchte": "kein Sensor vorhanden"}]
                          15:04:01.905	[info]	javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.wohnung.vsensor1_temp, state={"val":0,"ack":true})
                          

                          Sind insgesamt 4 Warnungen drin.

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 last edited by paul53

                            @meicker:

                            Sind insgesamt 4 Warnungen drin.

                            Aber keine Fehlermeldungen. Mit den Warnungen kann ich erst mal nichts anfangen :oops:

                            1 Reply Last reply Reply Quote 0
                            • M
                              meicker last edited by

                              OK ! Ich denke es kommt wieder in der Nacht 🙂 Morgen schaue ich wieder ins Log rein und dann sehen wir hoffentlich was … 🙂

                              1 Reply Last reply Reply Quote 0
                              • M
                                meicker last edited by

                                Hallo Paul,

                                schau mal, irgend etwas mit object:

                                `2018-08-24 15:02:01.608  - [33mwarn[39m: javascript.0 Wrong type of javascript.0.Controme.badezimmer.frt_akt: "object". Please fix, while deprecated and will not work in next versions.
                                2018-08-24 15:02:01.610  - [33mwarn[39m: javascript.0     at Request._callback (script.js.Controme.Sensordaten:190:13)
                                2018-08-24 15:02:01.610  - [33mwarn[39m: javascript.0     at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                                2018-08-24 15:02:01.610  - [33mwarn[39m: javascript.0     at emitTwo (events.js:126:13)
                                2018-08-24 15:02:01.610  - [33mwarn[39m: javascript.0     at Request.emit (events.js:214:7)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at emitOne (events.js:116:13)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at Request.emit (events.js:211:7)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at Object.onceWrapper (events.js:313:30)
                                2018-08-24 15:02:01.611  - [33mwarn[39m: javascript.0     at emitNone (events.js:111:20)
                                2018-08-24 15:02:01.612  - [33mwarn[39m: javascript.0     at IncomingMessage.emit (events.js:208:7)
                                2018-08-24 15:02:01.612  - [33mwarn[39m: javascript.0     at endReadableNT (_stream_readable.js:1064:12)
                                2018-08-24 15:02:01.612  - [33mwarn[39m: javascript.0     at _combinedTickCallback (internal/process/next_tick.js:138:11)
                                2018-08-24 15:02:01.612  - [33mwarn[39m: javascript.0     at process._tickCallback (internal/process/next_tick.js:180:9)
                                2018-08-24 15:02:01.612  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.frt_akt, state={"val":null,"ack":true})
                                2018-08-24 15:02:01.613  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.badezimmer.solltemperatur, state={"val":20.5,"ack":true})
                                2018-08-24 15:02:01.844  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: [{"total_offset": 0.06999999999999995, "solltemperatur": 20.0, "temperatur": null, "name": "Arbeitszimmer", "offsets": {"Geolocation": {"raum": 0.0, "haus": -0.5}, "Wetter": {"raum": 0.1, "haus": 0.0}, "Heizfl\u00e4chenoptimierung": {"raum": 0.0, "haus": 0.0}, "Zeitschalter": {"raum": 0.0, "haus": 0.0}, "Timer": {"raum": 0.0, "haus": 0.0}, "Au\u00dfentemperaturkorrektur": {"raum": 0.47, "haus": 0.0}, "Kalender": {"raum": 0.0, "haus": 0.0}}, "sensoren": [{"raumtemperatursensor": false, "letzte_uebertragung": "24.08.2018 15:01", "name": "28_ce_94_8d_09_00_00_f0", "wert": 25.94, "beschreibung": "(8) RL Arbeitszimmer"}, {"raumtemperatursensor": true, "letzte_uebertragung": null, "name": "05:06:00:08", "wert": {"Helligkeit": null, "Relative Luftfeuchte": null, "Bewegung": null, "Temperatur": null}, "beschreibung": "FRT Arbeitszimmer"}], "id": 7, "luftfeuchte": "kein aktueller Wert vorhanden"}]
                                2018-08-24 15:02:01.845  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.rl_temp, state={"val":25.9,"ack":true})
                                2018-08-24 15:02:01.845  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.frt_temp, state={"val":0,"ack":true})
                                2018-08-24 15:02:01.850  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: setForeignState(id=javascript.0.Controme.arbeitszimmer.rl_akt, state={"val":"24.08.2018 15:01","ack":true})
                                2018-08-24 15:02:01.850  - [33mwarn[39m: javascript.0 Wrong type of javascript.0.Controme.arbeitszimmer.frt_akt: "object". Please fix, while deprecated and will not work in next versions.
                                2018-08-24 15:02:01.852  - [33mwarn[39m: javascript.0     at Request._callback (script.js.Controme.Sensordaten:236:13)
                                2018-08-24 15:02:01.852  - [33mwarn[39m: javascript.0     at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                                2018-08-24 15:02:01.852  - [33mwarn[39m: javascript.0     at emitTwo (events.js:126:13)
                                2018-08-24 15:02:01.852  - [33mwarn[39m: javascript.0     at Request.emit (events.js:214:7)
                                2018-08-24 15:02:01.852  - [33mwarn[39m: javascript.0     at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at emitOne (events.js:116:13)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at Request.emit (events.js:211:7)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at Object.onceWrapper (events.js:313:30)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at emitNone (events.js:111:20)
                                2018-08-24 15:02:01.853  - [33mwarn[39m: javascript.0     at IncomingMessage.emit (events.js:208:7)
                                2018-08-24 15:02:01.854  - [33mwarn[39m: javascript.0     at endReadableNT (_stream_readable.js:1064:12)
                                2018-08-24 15:02:01.854  - [33mwarn[39m: javascript.0     at _combinedTickCallback (internal/process/next_tick.js:138:11)
                                2018-08-24 15:02:01.854  - [33mwarn[39m: javascript.0     at process._tickCallback (internal/process/next_tick.js:180:9)[/code]</anonymous></anonymous></anonymous></anonymous>`
                                
                                und den anderen Fehler habe ich hier noch mal ganz kurz und auch nur an dieser Stelle:
                                
                                `~~[code]~~<title>502 Bad Gateway</title>
                                
                                <center>
                                
                                # 502 Bad Gateway
                                
                                </center>
                                
                                * * *
                                
                                <center>nginx/1.6.2</center>
                                
                                2018-08-25 04:15:02.263  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                                2018-08-25 04:15:02.263  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                                    at JSON.parse (<anonymous>:null:null)
                                    at Request._callback (script.js.Controme.Sensordaten:250:33)
                                    at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                                    at emitTwo (events.js:126:13)
                                    at Request.emit (events.js:214:7)
                                    at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                                    at emitOne (events.js:116:13)
                                    at Request.emit (events.js:211:7)
                                    at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                                    at Object.onceWrapper (events.js:313:30)
                                
                                2018-08-25 04:15:02.278  - [32minfo[39m: javascript.0 script.js.Controme.Sensordaten: 
                                <title>502 Bad Gateway</title>
                                
                                <center>
                                
                                # 502 Bad Gateway
                                
                                </center>
                                
                                * * *
                                
                                <center>nginx/1.6.2</center>
                                
                                2018-08-25 04:15:02.281  - [31merror[39m: javascript.0 uncaught exception: Unexpected token < in JSON at position 0
                                2018-08-25 04:15:02.282  - [31merror[39m: javascript.0 SyntaxError: Unexpected token < in JSON at position 0
                                    at JSON.parse (<anonymous>:null:null)
                                    at Request._callback (script.js.Controme.Sensordaten:227:33)
                                    at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                                    at emitTwo (events.js:126:13)
                                    at Request.emit (events.js:214:7)
                                    at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                                    at emitOne (events.js:116:13)
                                    at Request.emit (events.js:211:7)
                                    at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                                    at Object.onceWrapper (events.js:313:30)[/code]</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>`
                                
                                Sienht tatsächlich so aus als wäre der Controme Server nicht erreichbar ... oder ?
                                
                                vg
                                
                                Marc
                                
                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 last edited by paul53

                                  @meicker:

                                  Sienht tatsächlich so aus als wäre der Controme Server nicht erreichbar … oder ?

                                  Ja. Das lässt sich abfangen vor den JSON.parse().

                                  else if(body.indexOf('Bad Gateway') == -1) {
                                      var sensoren = JSON.parse(body)[0].sensoren;
                                      ...
                                  }
                                  

                                  Das kann ich nicht nachvollziehen:

                                  Wrong type of javascript.0.Controme.badezimmer.frt_akt: "object".
                                  

                                  Tritt es öfter auf ?

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    meicker last edited by

                                    Hi Paul,

                                    das konntest Du wirklich nicht nachvollziehen 🙂

                                    Ich versuche schon seit ein paar tagen Alexa nach der temperatur im Wohnzimmer zu fragen. Das beste Ergebnis bisher war: Dein Gerät unterstützt das nicht 😞

                                    Der Fehler den Du gesehen hast war ein fehler von mir, ich hatte versehentlich das Objekt geändert. Habe ich aber schon wieder zurückgesetzt … Hast Du ne Idee zum Alexa Temeratur abfragen ? Es gibt zwar hier im Forum schon den einen oder anderen beitrag aber ich finde nichts von Anfang an ...

                                    Dein addon schreibe ich mal davor !

                                    Danke, wie immer 🙂

                                    vg

                                    Marc

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      meicker last edited by

                                      8270_screenshot_2018-08-25_javascript_-iobroker_1.png

                                      In dem kleinen Dreieck steht : too many errors, 90% scanned … Ansonsten keinerlei Warnhinweise am Script in den Zeilennummern ... :?: Das hat aber nichts mit der Änderung von gerade zu tun, stand eben schon da ...

                                      1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 last edited by paul53

                                        @meicker:

                                        Hast Du ne Idee zum Alexa Temeratur abfragen ?

                                        Nein, mit Alexa habe ich nichts am Hut. Eine Quasselstrippe, die einen auch noch ständig belauscht, kommt mir nicht ins Haus.

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 last edited by

                                          @meicker:

                                          In dem kleinen Dreieck steht : too many errors, 90% scanned … `
                                          Das ist ist ja "sehr informativ" :evil: So eine Warnung hatte ich noch nicht.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            meicker last edited by

                                            Wenn Du da nix mit anfangen kannst … :lol: ignoriere ich das mal gepflegt ... :lol:

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            938
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            38
                                            3326
                                            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