Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] Homepilot Umweltsensor mit Javascript auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [GELÖST] Homepilot Umweltsensor mit Javascript auslesen

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

      soooooooo !!!!! 🙂 Klappt 🙂 Javascript Adapter neu gestartet … VIELEN DANK SOWEIT !!!

      Ich müsste doch dann theoretisch auch die anderen Teile aus dem Link eingepflegt bekommen, oder ?

      { "response" : "get_meter_data", "status" : "ok", "data":[{"Lichtwert":"30000 lx"},{"Windgeschw.":"0 m/s"},{"Temperatur":"22.1 °C"},{"Regen":"Nicht erkannt"},{"Sonnenhöhe":"53°"},{"Sonnenrichtung":"Süd-Osten (165°)"},{"Aktualisiert":"15.08.18 - 13:17"}] }

      Das ° Zeichen bekomme ich weg indem ich unit mit '' schreibe ?

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

        @meicker:

        ich hatte das erste script doch gelöscht `
        Ist nicht noch etwas unter der Gruppe global ?

        Starte mal die Javascript-Instanz neu. Manchmal genügt das Löschen eines Skriptes nicht.

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

          lies mal einen über Deinem letzten - haben uns überschnitten

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

            @meicker:

            Klappt 🙂 Javascript Adapter neu gestartet `
            Schön, dass Du es selbst gelöst hast 😄
            @meicker:

            Ich müsste doch dann theoretisch auch die anderen Teile aus dem Link eingepflegt bekommen, oder ? `
            Ja, wie es geht, weißt Du jetzt.
            @meicker:

            {"Windgeschw.":"0 m/s"} `
            Da der Bezeichner ""Windgeschw." ein unzulässiges Zeichen (Punkt) enthält, muss der Zugriff so erfolgen:

                        var wind = parseFloat(data[1]['Windgeschw.']);
            
            

            @meicker:

            Das ° Zeichen bekomme ich weg indem ich unit mit '' schreibe ? `
            Nein, mit parseFloat() wird aus dem String "165°)" eine Zahl gemacht und dabei abgebrochen, wenn keine Ziffer mehr folgt.

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

              Wissen kann man noch nicht behaupten, aber ich reime mir das gerade mal zusammen 🙂 Will ja was lernen … 😄

              Ist data 1 nicht eigentlich LICHTWERT ? Und Wingeschwindigkeit 2 ??

              Anders gefragt zum ° - wie bekomme ich das weg ? Oder stört das nicht in einer Blocky Abfrage ?

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

                @meicker:

                Ist data 1 nicht eigentlich LICHTWERT ? Und Wingeschwindigkeit 2 ?? `
                Nein, die Zählung in Arrays beginnt mit 0.
                @meicker:

                Anders gefragt zum ° - wie bekomme ich das weg ? Oder stört das nicht in einer Blocky Abfrage ? `
                Das "°" ist im Datenpunktwert nicht enthalten, denn der Wert ist eine reine Zahl (durch parseFloat()).

                Mittels createState() wurde eine zusätzliche Datenpunkteigenschaft common.unit: "°" erzeugt, damit die Darstellung im Reiter "Objekte" ordentlich erfolgen kann.

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

                  Wieder ein Stück weiter 🙂

                  Jetzt hab ich noch zwei Sachen:

                  const request = require('request');
                  const link = 'http://192.168.1.180/deviceajax.do?meter=1010005';
                  
                  // Datenpunkte erzeugen
                  createState('Homepilot.Sonnenrichtung', 0, {type: 'number', unit: '°'});
                  createState('Homepilot.Sonnenhöhe', 0, {type: 'number', unit: '°'});
                  createState('Homepilot.Lichtwert', 0, {type: 'number', unit: 'lux'});
                  createState('Homepilot.Windgeschwindigkeit', 0, {type: 'number', unit: 'm/s'});
                  createState('Homepilot.Temperatur', 0, {type: 'number', unit: '°C'});
                  createState('Homepilot.Regen', 0, {type: 'boolean', unit: ''});
                  createState('Homepilot.Aktualisiert', 0, {type: 'string', unit: ''});
                  
                  function sensordaten() {
                      request(link, function(error,response, body) {
                          if(error) log('Fehler request: ' + error, 'error');
                          else {
                              var data = JSON.parse(body).data;
                              var dir = data[5].Sonnenrichtung;
                              dir = parseFloat(dir.substr(dir.indexOf('(') + 1));
                              setState('Homepilot.Sonnenrichtung', dir, true); 
                              var ele = parseFloat(data[4].Sonnenhöhe);
                              setState('Homepilot.Sonnenhöhe', ele, true); 
                              var lux = parseFloat(data[0].Lichtwert);
                              setState('Homepilot.Lichtwert', lux, true);
                              var wind = parseFloat(data[1]['Windgeschw.']);
                              setState('Homepilot.Windgeschwindigkeit', wind, true);
                              var temp = parseFloat(data[2].Temperatur);
                              setState('Homepilot.Temperatur', temp, true);
                              var regen = parseFloat(data[3].Regen);
                              setState('Homepilot.Regen', regen, true);
                              var aktualisiert = parseFloat(data[6].Aktualisiert);
                              setState('Homepilot.Aktualisiert', aktualisiert, true);
                          }    
                      });
                  }
                  schedule('*/30 * * * * *', sensordaten); // alle 30 Sekunden
                  

                  Regen soll true/false liefern -> boolean -> habe ich im datenpunkt eingetragen - wirkt nicht …

                  Aktualisiert zeigt nur das datum ohne Zeit. war bei number schon so, habe ich auf String gesetzt - wirkt auch nicht ...

                  Was mache ich da für einen Denkfehler ? 😄

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

                    unit macht bei Datenpunkten vom Typ "string" und "boolean" keinen Sinn.

                    createState('Homepilot.Regen', false, {type: 'boolean'});
                    createState('Homepilot.Aktualisiert', 'Init', {type: 'string'});
                    
                    

                    @meicker:

                    Regen soll true/false liefern -> boolean -> habe ich im datenpunkt eingetragen - wirkt nicht … `

                    var regen = data[3].Regen; // Das ist ein String !
                    if(regen == 'Nicht erkannt') setState('Homepilot.Regen', false, true);
                    else setState('Homepilot.Regen', true, true);
                    

                    @meicker:

                    Aktualisiert zeigt nur das datum ohne Zeit. war bei number schon so, habe ich auf String gesetzt - wirkt auch nicht … `

                                var aktualisiert = data[6].Aktualisiert; // Das ist ein String !
                    
                    

                    parseFloat() wandelt einen String in eine Zahl, wenn möglich !

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

                      DANKESCHÖN !!! Klappt alles wie gewünscht und ich habe eine Vorlage für weitere Schandtaten :lol:

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

                        @paul53

                        Ich habe das Script jetzt erweitert und einen weitern Sensor hinzugefügt der über zwei verschiedene Links aufgerufen wird.

                        das was ich da gebastelt habe bringt allerdings den Javascript Adapter zum Absturz 😞 Hättest Du, oder jemand anders Lust da mal kurz drüber zu schauen ? Kannst Du die Fehler entdecken ? Habe ich den Aufbau soooo falsch gemacht ? 🙂

                        const request = require('request');
                        const link = 'http://192.168.1.180/deviceajax.do?meter=1010005';
                        const linkfsupunten = 'http://192.168.1.180/deviceajax.do?meter=1010009';
                        const linkfsupoben = 'http://192.168.1.180/deviceajax.do?meter=1010008';
                        
                        // Datenpunkte erzeugen
                        createState('Homepilot.Sonnenrichtung', 0, {type: 'number', unit: '°'});
                        createState('Homepilot.Sonnenhöhe', 0, {type: 'number', unit: '°'});
                        createState('Homepilot.Lichtwert', 0, {type: 'number', unit: 'lux'});
                        createState('Homepilot.Windgeschwindigkeit', 0, {type: 'number', unit: 'm/s'});
                        createState('Homepilot.Temperatur', 0, {type: 'number', unit: '°C'});
                        createState('Homepilot.Regen', 0, {type: 'boolean', unit: ''});
                        createState('Homepilot.Aktualisiert', 0, {type: 'string', unit: ''});
                        createState('Homepilot.balkontüreoben', 0, {type: 'boolean', unit: ''});
                        createState('Homepilot.balkontüreobenaktualisiert', 0, {type: 'string', unit: ''});
                        createState('Homepilot.balkontüreunten', 0, {type: 'boolean', unit: ''});
                        createState('Homepilot.balkontüreuntenaktualisiert', 0, {type: 'string', unit: ''});
                        
                        function sensordaten() {
                            request(link, function(error,response, body) {
                                if(error) log('Fehler request: ' + error, 'error');
                                else {
                                    var data = JSON.parse(body).data;
                                    var dir = data[5].Sonnenrichtung;
                                    dir = parseFloat(dir.substr(dir.indexOf('(') + 1));
                                    setState('Homepilot.Sonnenrichtung', dir, true); 
                                    var ele = parseFloat(data[4].Sonnenhöhe);
                                    setState('Homepilot.Sonnenhöhe', ele, true); 
                                    var lux = parseFloat(data[0].Lichtwert);
                                    setState('Homepilot.Lichtwert', lux, true);
                                    var wind = parseFloat(data[1]['Windgeschw.']);
                                    setState('Homepilot.Windgeschwindigkeit', wind, true);
                                    var temp = parseFloat(data[2].Temperatur);
                                    setState('Homepilot.Temperatur', temp, true);
                                   // var regen = parseFloat(data[3].Regen);
                                    var regen = data[3].Regen; // Das ist ein String !
                                        if(regen == 'Nicht erkannt') setState('Homepilot.Regen', false, true);
                                        else setState('Homepilot.Regen', true, true);
                                   // setState('Homepilot.Regen', regen, true);
                                    //var aktualisiert = parseFloat(data[6].Aktualisiert);
                                    var aktualisiert = data[6].Aktualisiert; // Das ist ein String !
                                    setState('Homepilot.Aktualisiert', aktualisiert, true);
                                }    
                            });
                        }
                        
                        function balkontuere() {
                            request(linkfsupunten, function(error,response, body) {
                                if(error) log('Fehler request: ' + error, 'error');
                                else {
                                    var schliesserunten = data[0].Schliesser; // Das ist ein String !
                                        [u]if(schliesserunten == 'Geöffnet') setState('Homepilot.balkontüreunten', false, true);[/u]
                                        else setState('Homepilot.balkontüreunten', true, true);
                                    var aktualisiertunten = data[1].Aktualisiert; // Das ist ein String !
                                    setState('Homepilot.balkontüreuntenaktualisiert', aktualisiert, true);
                                }    
                            });
                            request(linkfsupoben, function(error,response, body) {
                                if(error) log('Fehler request: ' + error, 'error');
                                else {
                                    var schliesseroben = data[0].Schliesser; // Das ist ein String !
                                        [u]if(schliesseroben == 'Geöffnet') setState('Homepilot.balkontüreoben', false, true);[/u]
                                        else setState('Homepilot.balkontüreoben', true, true);
                                    var aktualisiertoben = data[1].Aktualisiert; // Das ist ein String !
                                    setState('Homepilot.balkontüreobenaktualisiert', aktualisiert, true);
                                }    
                            });
                        }
                        schedule('*/30 * * * * *', sensordaten); // alle 30 Sekunden
                        schedule('*/30 * * * * *', balkontuere); // alle 30 Sekunden
                        

                        Diese fehlermeldung habe ich aus dem Log sobald ich das Script laufen lasse:

                        host.ioBroker-RasPi	2018-08-16 13:37:30.320	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.320	error	Caught by controller[1]: at emitNone (events.js:111:20)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.319	error	Caught by controller[1]: at Object.onceWrapper (events.js:313:30)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.319	error	Caught by controller[1]: at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.319	error	Caught by controller[1]: at Request.emit (events.js:211:7)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.319	error	Caught by controller[1]: at emitOne (events.js:116:13)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.318	error	Caught by controller[1]: at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.318	error	Caught by controller[1]: at Request.emit (events.js:214:7)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.318	error	Caught by controller[1]: at emitTwo (events.js:126:13)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.318	error	Caught by controller[1]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        [u]host.ioBroker-RasPi	2018-08-16 13:37:30.317	error	Caught by controller[1]: at Request._callback (script.js.Homepilot.Sensordaten:52:35)[/u]
                        host.ioBroker-RasPi	2018-08-16 13:37:30.317	error	Caught by controller[1]: ReferenceError: data is not defined
                        host.ioBroker-RasPi	2018-08-16 13:37:30.316	error	Caught by controller[0]: at emitNone (events.js:111:20)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.316	error	Caught by controller[0]: at Object.onceWrapper (events.js:313:30)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.308	error	Caught by controller[0]: at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/request/request.js:1085:12)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.308	error	Caught by controller[0]: at Request.emit (events.js:211:7)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.307	error	Caught by controller[0]: at emitOne (events.js:116:13)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.307	error	Caught by controller[0]: at Request. <anonymous>(/opt/iobroker/node_modules/request/request.js:1163:10)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.306	error	Caught by controller[0]: at Request.emit (events.js:214:7)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.306	error	Caught by controller[0]: at emitTwo (events.js:126:13)
                        host.ioBroker-RasPi	2018-08-16 13:37:30.305	error	Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
                        [u]host.ioBroker-RasPi	2018-08-16 13:37:30.305	error	Caught by controller[0]: at Request._callback (script.js.Homepilot.Sensordaten:62:34)[/u]
                        host.ioBroker-RasPi	2018-08-16 13:37:30.304	error	Caught by controller[0]: ReferenceError: data is not defined</anonymous></anonymous></anonymous></anonymous>
                        

                        Die beiden unterstrichenen Zeilen sind vom Script - habe ich im Scriptcode ebenfalls unterstrichen.

                        Kann mir jemand einen Tip geben ?

                        Viele grüße,

                        Marc

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

                          @meicker:

                          Die beiden unterstrichenen Zeilen sind vom Script - habe ich im Scriptcode ebenfalls unterstrichen. `
                          Unterstreichen funktioniert in Skripten und Code tags nicht. Lösche die wieder raus.
                          @meicker:

                          var aktualisiertunten = data[1].Aktualisiert; // Das ist ein String ! 
                          setState('Homepilot.balkontüreuntenaktualisiert', aktualisiert, true);
                          ```` `  
                          

                          aktualisiert ist nicht deklariert. Da die Variablen lokal sind, kann der gleiche Name mehrfach verwendet werden.

                          var aktualisiert = data[1].Aktualisiert; // Das ist ein String ! 
                          setState('Homepilot.balkontüreuntenaktualisiert', aktualisiert, true);
                          

                          Das gleiche für oben

                                      var aktualisiert = data[1].Aktualisiert; // Das ist ein String !
                                      setState('Homepilot.balkontüreobenaktualisiert', aktualisiert, true);
                          
                          

                          2 gleichzeitig auslösende Schedule würde ich vermeiden

                          function alledaten() {
                             sensordaten();
                             balkontuere();
                          }
                          schedule('*/30 * * * * *', alledaten); // alle 30 Sekunden
                          
                          1 Reply Last reply Reply Quote 0
                          • M
                            meicker last edited by

                            Hi Paul,

                            Danke, dass Du dich wieder zur verfügung stellst 🙂

                            Natürlich klappt unterstrichener Code nicht 🙂 Habe ich ja auch nur für den leser gemacht … aber auch doof, der leser kann so nicht testen - mache ich nicht mehr 🙂

                            Ich habe die Änderungen eingepflegt:

                            const request = require('request');
                            const link = 'http://192.168.1.180/deviceajax.do?meter=1010005';
                            const linkfsupunten = 'http://192.168.1.180/deviceajax.do?meter=1010009';
                            const linkfsupoben = 'http://192.168.1.180/deviceajax.do?meter=1010008';
                            
                            // Datenpunkte erzeugen
                            createState('Homepilot.Sonnenrichtung', 0, {type: 'number', unit: '°'});
                            createState('Homepilot.Sonnenhöhe', 0, {type: 'number', unit: '°'});
                            createState('Homepilot.Lichtwert', 0, {type: 'number', unit: 'lux'});
                            createState('Homepilot.Windgeschwindigkeit', 0, {type: 'number', unit: 'm/s'});
                            createState('Homepilot.Temperatur', 0, {type: 'number', unit: '°C'});
                            createState('Homepilot.Regen', 0, {type: 'boolean', unit: ''});
                            createState('Homepilot.Aktualisiert', 0, {type: 'string', unit: ''});
                            createState('Homepilot.balkontüreoben', 0, {type: 'boolean', unit: ''});
                            createState('Homepilot.balkontüreobenaktualisiert', 0, {type: 'string', unit: ''});
                            createState('Homepilot.balkontüreunten', 0, {type: 'boolean', unit: ''});
                            createState('Homepilot.balkontüreuntenaktualisiert', 0, {type: 'string', unit: ''});
                            
                            function sensordaten() {
                                request(link, function(error,response, body) {
                                    if(error) log('Fehler request: ' + error, 'error');
                                    else {
                                        var data = JSON.parse(body).data;
                                        var dir = data[5].Sonnenrichtung;
                                        dir = parseFloat(dir.substr(dir.indexOf('(') + 1));
                                        setState('Homepilot.Sonnenrichtung', dir, true); 
                                        var ele = parseFloat(data[4].Sonnenhöhe);
                                        setState('Homepilot.Sonnenhöhe', ele, true); 
                                        var lux = parseFloat(data[0].Lichtwert);
                                        setState('Homepilot.Lichtwert', lux, true);
                                        var wind = parseFloat(data[1]['Windgeschw.']);
                                        setState('Homepilot.Windgeschwindigkeit', wind, true);
                                        var temp = parseFloat(data[2].Temperatur);
                                        setState('Homepilot.Temperatur', temp, true);
                                       // var regen = parseFloat(data[3].Regen);
                                        var regen = data[3].Regen; // Das ist ein String !
                                            if(regen == 'Nicht erkannt') setState('Homepilot.Regen', false, true);
                                            else setState('Homepilot.Regen', true, true);
                                       // setState('Homepilot.Regen', regen, true);
                                        //var aktualisiert = parseFloat(data[6].Aktualisiert);
                                        var aktualisiert = data[6].Aktualisiert; // Das ist ein String !
                                        setState('Homepilot.Aktualisiert', aktualisiert, true);
                                    }    
                                });
                            }
                            
                            function balkontuere() {
                                request(linkfsupunten, function(error,response, body) {
                                    if(error) log('Fehler request: ' + error, 'error');
                                    else {
                                        var schliesserunten = data[0].Schliesser; // Das ist ein String !
                                            if(schliesserunten == 'Geöffnet') setState('Homepilot.balkontüreunten', false, true);
                                            else setState('Homepilot.balkontüreunten', true, true);
                                        var aktualisiert = data[1].Aktualisiert; // Das ist ein String ! 
                                        setState('Homepilot.balkontüreuntenaktualisiert', aktualisiert, true);
                                    }    
                                });
                                request(linkfsupoben, function(error,response, body) {
                                    if(error) log('Fehler request: ' + error, 'error');
                                    else {
                                        var schliesseroben = data[0].Schliesser; // Das ist ein String !
                                            if(schliesseroben == 'Geöffnet') setState('Homepilot.balkontüreoben', false, true);
                                            else setState('Homepilot.balkontüreoben', true, true);
                                        var aktualisiert = data[1].Aktualisiert; // Das ist ein String ! 
                                        setState('Homepilot.balkontüreobenaktualisiert', aktualisiert, true);
                                    }    
                                });
                            }
                            function alledaten() {
                               sensordaten();
                               balkontuere();
                            }
                            schedule('*/30 * * * * *', alledaten); // alle 30 Sekunden
                            

                            Jedoch kommt noch immer die Fehlermeldung

                            14:54:00.700 [error] Caught by controller[0]: at Request._callback (script.js.Homepilot.Sensordaten:52:35)

                            14:54:00.703 [error] Caught by controller[1]: at Request._callback (script.js.Homepilot.Sensordaten:62:34)

                            Zeile 52:

                            if(schliesserunten == 'Geöffnet') setState('Homepilot.balkontüreunten', false, true);

                            Zeile 62:

                            if(schliesseroben == 'Geöffnet') setState('Homepilot.balkontüreoben', false, true);

                            Und der Javascript Adapter stürzt ab und startet neu …

                            Soweit ich gesehen habe bekommen die offen, geschlossen und aktualisiert auch keinen Status bzw. werden nicht aktualisiert.

                            Viele Grüße und DANKE schon mal ... 🙂

                            Marc

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

                              Hinter dem else { fehlt die Dekalaration von data (in beiden Fällen)

                                      else {
                                          var data = JSON.parse(body).data;
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • M
                                meicker last edited by

                                Perfekt 🙂 Habe ich übersehen … Aber so ist das wenn man mit copy and paste scripte bearbeitet 🙂 Passiert schneller als man gucken kann ...

                                Mir ist noch eines aufgefallen, und das ist tatsächlich kömisch. Heute früh war das schonmal so ... Die Sonnenrichtung erscheint nicht korrekt bzw. gar nicht. Wenn ich das Script anhalte, danach den Adapter anhalte und die angelegte Gruppe Homepilot lösche fliegt auch alles raus, nut die Sonnenrichtung, die vorher nicht zu sehen war, bleibt stehen. Die fliegt erst dann wenn man die Ansicht neu läd.

                                Wenn ich dann den Adapter wieder starte und danach das Script laufen lasse werden wieder alle Datenpunkte angezeigt, ausgenommen Sonnenstand ...

                                Gibt es dafür eine Erklärung ? Heute früh war es noch so das der Sonnenstand mit 0 angezeigt wurde, jetzt kommt er bis zum löschen gar nicht ...

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

                                  @meicker:

                                  Gibt es dafür eine Erklärung ? `
                                  Am Skript liegt es nicht, denn der Sonnenstand wird behandelt wie alle anderen Daten auch. Vielleicht verkraftet Homepilot 3 Abfragen alle 30 s nicht ?

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

                                    ich habe bei Sonnenrichtung einfach mal ein g angehangen um einen neuen datenpunkt zu schaffen. Dieser wurde sofort aktualisiert. Das g wieder entfernt, passiert wieder nichts mehr …

                                    Kann es sein das der datenpunkt Sonnenrichtung irgendwie festgefressen im System hängt ? Ich habe jedoch den Adapter schon neu gestartet und auch das Script. Den Host ebenfalls. Muss ich den Raspberry vielleicht mal ganz killen um alles sauber zu haben oder wird sonst wo noch etwas zwischengelagert was stören könnte ?

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

                                      @meicker:

                                      Muss ich den Raspberry vielleicht mal ganz killen um alles sauber zu haben oder wird sonst wo noch etwas zwischengelagert was stören könnte ? `
                                      Sicher nicht !
                                      @meicker:

                                      um einen neuen datenpunkt zu schaffen. Dieser wurde sofort aktualisiert. Das g wieder entfernt, passiert wieder nichts mehr … `
                                      Bedeutet es, dass der Wert nicht aktualisiert wird, also ein älterer Wert bestehen bleibt ? Was sagt der Zeitstempel ? Gibt es was im Reiter "Log" dazu ?

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

                                        Füge mal ein Log hinter die Deklaration von dir ein.

                                                    var dir = data[5].Sonnenrichtung;
                                                    log(dir);
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          meicker last edited by

                                          Habe ich jetzt mal eingefügt …

                                          Aber es läuft auch gerade.

                                          Ich habe das Script angehalten

                                          Java angehalten

                                          Host Neustart

                                          Admin neustart

                                          dann alles wieder gestartet - Das Script war zuerst gestartet bevor der Java Adapter an war. Es hat dann die daten bereits richtig gezogen ... kann das ???

                                          Dann habe ich den Java Adapter eingeschaltet und es wurde alles richtig aktualisiert ... Die Sonnenrichtung kam auch wieder ganz normal ...

                                          Keine Ahnung was das für ein Spuk war ... ich beobachte jetzt mal ...

                                          Danke auf jeden fall wieder für deine tatkräftige Unterstützung !!!

                                          Viele Grüße,

                                          Marc

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pix last edited by

                                            Hallo,@paul53:

                                            @meicker:

                                            Gibt es dafür eine Erklärung ? Am Skript liegt es nicht, denn der Sonnenstand wird behandelt wie alle anderen Daten auch. Vielleicht verkraftet Homepilot 3 Abfragen alle 30 s nicht ?
                                            doch, der Homepilot verkraftet das. Der Homepilot-Adapter läuft nach diesem Prinzip. Die Standard-Einstellung des Adapters ist eine Abfrage alle 12s, es geht theoretisch bei kleinen Installationen auch in kürzeren Abständen.

                                            Ich freue mich über die Umsetzung und versuche gern die hier erarbeitete Lösung in den Adapter einzubinden. Allerdings kann das noch eine Weile dauern, ich bin gerade anderweitig eingespannt und komme nicht oft zum Entwickeln und Schreiben.

                                            Gruß,

                                            Pix

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            557
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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