Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. CONTROME JSON Script zum auslesen von sensoren und Zuständen

NEWS

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

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

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

CONTROME JSON Script zum auslesen von sensoren und Zuständen

Scheduled Pinned Locked Moved Skripten / Logik
38 Posts 7 Posters 4.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #2

    Du möchtest aus diesem JSON 4 Datenpunkte beschreiben ? Z.B.

    Controme.Küche.RL-Temperatur

    Controme.Küche.RL-Aktualisiert

    Controme.Küche.FRT-Temperatur

    Controme.Küche.FRT-Aktualisiert

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • M Offline
      M Offline
      meicker
      wrote on last edited by
      #3

      Richtig !

      RL ist die Rücklauftemperatur

      FRT ist das Funk-Raum-Thermostat

      Die letzte aktualisierung und den entsprechenden Namen des Sensors.

      Ich habe insgesamt 8 Heizplatten mit Sensoren sowie noch vor und Rücklauf aus dem Heizkreisverteiler. Alles kann über den einen Typ von Json ausgelesen werden, es ist immer ein neuer Link zum nächsten Raum einzutragen für die Abfrage.

      Für die Erstellung des datenpunktes kann man ja den Namen in eine Variable packen und dem Bezeichner Controme.variable anhängen, oder ?

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #4

        Nach dem Error-Log und mit log() anstelle setState():

                    var sensoren = JSON.parse(body)[0].sensoren;
                    var rlt;
                    if(sensoren[0].raumtemperatursensor) rlt = sensoren[0].wert.Temperatur;
                    else rlt = sensoren[0].wert;
                    log(rlt); 
                    var rldate = sensoren[0].letzte_uebertragung;
                    log(rldate);
                    var frtt;
                    if(sensoren[1].raumtemperatursensor) frtt = sensoren[1].wert.Temperatur;
                    else frtt = sensoren[1].wert;
                    log(frtt);
                    var frtdate = sensoren[1].letzte_uebertragung;
                    log(frtdate);
        
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #5

          @meicker:

          Für die Erstellung des datenpunktes kann man ja den Namen in eine Variable packen und dem Bezeichner Controme.variable anhängen, oder ?

          Man kann. Das macht das Skript allerdings aufwändiger. Du wirst sicherlich wissen, welche Namen Du vergeben hast ?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • M Offline
            M Offline
            meicker
            wrote on last edited by
            #6

            OK - Ich glaube jetzt habe ich den Aufbau soweit kapiert :-)

            setstate() kann ich ja vor log() wieder einbauen und packe das ganze dann in eine eigene Funktion …

            Ich bin mal gespannt ob ich den javascript Adapter gleich wieder zum abrauchen bringe :lol: Habe ich bis jetzt jedes mal geschafft ...

            Jetzt werde ich mich gleich erst einmal dran geben und schreiben ... melde mich wieder wenn ich fertig bin ! Vielen Dank Paul !

            1 Reply Last reply
            0
            • paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #7

              @meicker:

              Ich glaube jetzt habe ich den Aufbau soweit kapiert

              Es gibt einen Link, der dabei hilft, die Objekt-Struktur zu erkennen.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • M Offline
                M Offline
                meicker
                wrote on last edited by
                #8

                @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
                0
                • M Offline
                  M Offline
                  meicker
                  wrote on last edited by
                  #9

                  @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
                  0
                  • M Offline
                    M Offline
                    meicker
                    wrote on last edited by
                    #10

                    @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
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #11

                      @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".

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        meicker
                        wrote on last edited by
                        #12

                        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
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by paul53
                          #13

                          @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
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            meicker
                            wrote on last edited by
                            #14

                            DANKESCHÖN :-)

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              meicker
                              wrote on last edited by
                              #15

                              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
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by paul53
                                #16

                                @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 ?

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  meicker
                                  wrote on last edited by
                                  #17

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

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    meicker
                                    wrote on last edited by
                                    #18

                                    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
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by paul53
                                      #19

                                      @meicker:

                                      Sind insgesamt 4 Warnungen drin.

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

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        meicker
                                        wrote on last edited by
                                        #20

                                        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
                                        0
                                        • M Offline
                                          M Offline
                                          meicker
                                          wrote on last edited by
                                          #21

                                          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
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          991

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe