NEWS
CONTROME JSON Script zum auslesen von sensoren und Zuständen
-
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.
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".
-
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
-
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
-
DANKESCHÖN
-
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
-
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).
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 ?
-
Baue ich jetzt ein
Scheint wieder zu laufen das teil - Glück gehabt …
-
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.
-
Sind insgesamt 4 Warnungen drin.
Aber keine Fehlermeldungen. Mit den Warnungen kann ich erst mal nichts anfangen :oops:
-
OK ! Ich denke es kommt wieder in der Nacht
Morgen schaue ich wieder ins Log rein und dann sehen wir hoffentlich was …
-
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
-
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 ?
-
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
-
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 ...
-
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.
-
In dem kleinen Dreieck steht : too many errors, 90% scanned … `
Das ist ist ja "sehr informativ" :evil: So eine Warnung hatte ich noch nicht. -
Wenn Du da nix mit anfangen kannst … :lol: ignoriere ich das mal gepflegt ... :lol:
-
Ich bin auch gerade am überlegen die controme Fußbodenheizungssteuerung einzusetzen.
Mich würde mal interessieren ob ihr damit zufrieden seit?
Bzw. welche Erfahrungen ihr damit gemacht habt.
Als Antwort bzgl. der Verbindung habe ich auf Nachfrage folgende Antwort erhalten.
Controme hat eine API, die es erlaubt über verschlüsselte HTTP-Abfragen Daten von unserem System abzufragen und auch an unser System zu senden. Damit lassen sich im Prinzip alle Systeme, die auf dieser Ebene kommunizieren können verbinden. Zum Beispiel ist der Gira Homeserver ist mit unserem System kombinierbar. Mehr dazu finden Sie in dem folgenden Link. http://support.controme.com/api/
-
habe ich das so richtig gemacht ?
else if(body.indexOf('Bad Gateway') == -1) { log(body); var sensoren = JSON.parse(body)[0].sensoren; var solltemp = JSON.parse(body)[0];
Denn ich habe folgenden fehler im Log bekommen und es scheint als wäre danach der JavaAdapter abgeschmiert …
host.ioBroker-RasPi 2018-08-27 13:45:06.487 info Restart adapter system.adapter.javascript.0 because enabled host.ioBroker-RasPi 2018-08-27 13:45:06.487 error instance system.adapter.javascript.0 terminated with code 0 (OK) Caught 2018-08-27 13:45:06.486 error by controller[0]: at Object.onceWrapper (events.js:313:30) Caught 2018-08-27 13:45:06.486 error by controller[0]: at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12) Caught 2018-08-27 13:45:06.486 error by controller[0]: at Request.emit (events.js:211:7) Caught 2018-08-27 13:45:06.486 error by controller[0]: at emitOne (events.js:116:13) Caught 2018-08-27 13:45:06.486 error by controller[0]: at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10) Caught 2018-08-27 13:45:06.486 error by controller[0]: at Request.emit (events.js:214:7) Caught 2018-08-27 13:45:06.485 error by controller[0]: at emitTwo (events.js:126:13) Caught 2018-08-27 13:45:06.485 error by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22) Caught 2018-08-27 13:45:06.485 error by controller[0]: at Request._callback (script.js.Controme.Sensordaten:110:33) Caught 2018-08-27 13:45:06.485 error by controller[0]: at JSON.parse (<anonymous>:null:null) Caught 2018-08-27 13:45:06.484 error by controller[0]: SyntaxError: Unexpected token in JSON at position 0 javascript.0 2018-08-27 13:45:06.440 info terminating javascript.0 2018-08-27 13:45:06.431 error at Object.onceWrapper (events.js:313:30) javascript.0 2018-08-27 13:45:06.431 error at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12) javascript.0 2018-08-27 13:45:06.431 error at Request.emit (events.js:211:7) javascript.0 2018-08-27 13:45:06.431 error at emitOne (events.js:116:13) javascript.0 2018-08-27 13:45:06.431 error at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10) javascript.0 2018-08-27 13:45:06.431 error at Request.emit (events.js:214:7) javascript.0 2018-08-27 13:45:06.431 error at emitTwo (events.js:126:13) javascript.0 2018-08-27 13:45:06.431 error at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22) javascript.0 2018-08-27 13:45:06.431 error at Request._callback (script.js.Controme.Sensordaten:110:33) javascript.0 2018-08-27 13:45:06.431 error at JSON.parse (<anonymous>:null:null) javascript.0 2018-08-27 13:45:06.431 error SyntaxError: Unexpected token in JSON at position 0 javascript.0 2018-08-27 13:45:06.431 error uncaught exception: Unexpected token in JSON at position 0 javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info [Einstellungen](/config//) javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info * javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info [Raumtemperaturen](/) javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info * javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info [support@controme.com](mailto:support@controme.com?subject=Problem auf /get/json/v1/1/temps/2/) Sollte das Problem bestehen bleiben, wenden Sie javascript.0 2018-08-27 13:45:06.413 info Bitte versuchen Sie es später noch einmal. Unsere Techniker wurden bereits verständigt und werden sich umgehend des Problems annehmen. javascript.0 2018-08-27 13:45:06.413 info Ein unvorhergesehenes Problem ist aufgetreten. javascript.0 2018-08-27 13:45:06.413 info <center></center> javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info }); javascript.0 2018-08-27 13:45:06.413 info $.extend($.mobile.zoom, {locked:true,enabled:false}); javascript.0 2018-08-27 13:45:06.413 info $(document).bind( "mobileinit", function(event) { javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info }); javascript.0 2018-08-27 13:45:06.413 info }); javascript.0 2018-08-27 13:45:06.413 info ajaxEnabled: false javascript.0 2018-08-27 13:45:06.413 info linkBindingEnabled: false, javascript.0 2018-08-27 13:45:06.413 info $.extend($.mobile, { javascript.0 2018-08-27 13:45:06.413 info $(document).on("mobileinit", function () { javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info javascript.0 2018-08-27 13:45:06.413 info } javascript.0 2018-08-27 13:45:06.413 info src: url("/static/DroidSans.ttf") format('truetype'); javascript.0 2018-08-27 13:45:06.413 info local: 'Droid Sans'; javascript.0 2018-08-27 13:45:06.413 info font-family: 'Droid Sans'; javascript.0 2018-08-27 13:45:06.413 info @font-face { javascript.0 2018-08-27 13:45:06.413 info</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>
-
Ich bin auch gerade am überlegen die controme Fußbodenheizungssteuerung einzusetzen.
Mich würde mal interessieren ob ihr damit zufrieden seit?
Bzw. welche Erfahrungen ihr damit gemacht habt.
Als Antwort bzgl. der Verbindung habe ich auf Nachfrage folgende Antwort erhalten.
Controme hat eine API, die es erlaubt über verschlüsselte HTTP-Abfragen Daten von unserem System abzufragen und auch an unser System zu senden. Damit lassen sich im Prinzip alle Systeme, die auf dieser Ebene kommunizieren können verbinden. Zum Beispiel ist der Gira Homeserver ist mit unserem System kombinierbar. Mehr dazu finden Sie in dem folgenden Link. http://support.controme.com/api/ ` Ich habe die Steuerung der Fussbodenheizung seit 3 Jahren und bin sehr zufrieden.
Ich habe 1990 gebaut und die damalige Steuerung von Buderus hatte nie funktioniert. Vielleicht sind die Steuerungen heute besser? Mich hat jedenfalls die Messung der Rücklauftemperatur überzeugt.
Mit der Einbindung in den Iobroker über die API habe ich auch schon geliebäugelt, habe aber gezögert weil das 60€ kostet.
Gesendet von meinem HUAWEI VNS-L31 mit Tapatalk