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

      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
        • M
          meicker last edited by

          Hallo Pix,

          schön das Du dich meldest - schöner, dass Du das nützlich findest 🙂

          Ich habe den Homepilot, Umweltsensor, Unterputzsensor für die Balkontüre haben wir gerade behandelt und ich könnte auch noch mit dem DuoFern Fensterkontakt dienen. Müsste ich noch kaufen, aber das wäre OK. Ein Rauchmelder steht auch noch aus … 🙂

          Mit anderen Worten - Wenn Du Daten brauchst stehe ich gerne zur Verfügung !

          Ich freue mich auf Deine Umsetzung, auch wenn Du dafür noch Zeit brauchst ! Danke vorab !

          @Paul53

          Ich hab da noch ein Projekt 🙂 Habe mit dem Versuch eine Json von Controme einzulesen den Adapter mal wieder abschmieren lassen 🙂 Leider ließ sich das was ich beim Homepilot anwenden konnte nicht 1:1 auf die json von controme anwenden 🙂 Wenn Du Interesse hast ... :mrgreen: mal kurz Bescheid geben und ich mache ein neues Topic auf :mrgreen: . Dann könnte ich den Parser elemenieren 🙂

          Viele Grüße,

          Marc

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

            @meicker:

            Json von Controme … mal kurz Bescheid geben und ich mache ein neues Topic auf `
            Dann zeige mal den JSON-String in einem neuen Topic.

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

              @paul53
              Hallo Paul,
              lange war es ruhig 🙂 Ich habe ein klitzekleines Problem und ich versuche jetzt schon seit 3 Stunden das zu lösen, aber ich schaffe es nicht. Ich würde mich sehr freuen wenn Du mir kurz aufs Pferd helfen könntest am beispiel von temperatur unter [37]:

              974d3b78-32f3-434c-b4d5-e363341c964a-grafik.png

              5292ddd1-aafa-4762-82f1-60085a6693df-grafik.png

              Beim Homepilot hat sich alles durch ein Firmwareupdate geändert und ich möchte die daten nun wieder auslesen können. Dafür muss ich das Script anpassen was wir zusammen gemacht haben. Ich schaffe es aber nicht das selber anzupassen ...

              ich habe LINK schon geändert, da kommt nun der Inhalt vom Homepilot:
              216f921f-9201-41d8-83d8-a4ce3d6d8e91-grafik.png

              In Zeile 26 wollte ich bis hin zu capabilities kommen um dann in Zeile 42 die Temperatur auszulesen ... Aber irgendwie mache ich da was falsch 😞

              4cb78f27-5f34-4827-9574-d7df9eb7171e-grafik.png

              const request = require('request');
              const link = 'http://192.168.1.180/devices/1010005';
              const linkfsupunten = 'http://192.168.1.180/deviceajax.do?meter=1010009';
              const linkfsupoben = 'http://192.168.1.180/deviceajax.do?meter=1010008';
              //const linkcontrome1 = 'http://192.168.1.12/get/json/v1/1/temps/6/';
              
              // 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: ''});
              //createState('Controme.id', 0, {type: 'number', unit: ''});
              
              function sensordaten() {
                  request(link, function(error,response, body) {
                      if(error) log('Fehler request: ' + error, 'error');
                      else {
                          var data = JSON.parse(body).payload.device.capabilities;
                          
                          var dir = data[5].Sonnenrichtung;
                          //log(dir);
                          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(capabilities[37].value);
                          setState('Homepilot.Temperatur', temp, true);
                          
                          var regen = data[3].Regen; // Das ist ein String !
                              if(regen == 'Nicht erkannt') setState('Homepilot.Regen', false, true);
                              else setState('Homepilot.Regen', true, true);
                          
                          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 data = JSON.parse(body).data;
                          var schliesserunten = data[0].Schließer; // 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 data = JSON.parse(body).data;
                          var schliesseroben = data[0].Schließer; // 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 controme() {
                  request(linkcontrome1, function(error,response, body) {
                      if(error) log('Fehler request: ' + error, 'error');
                      else {
                          var data = JSON.parse(body).sensoren;
                          var id = parseFloat(data[0].id);
                          setState('Controme.id', id, true);
                      }    
                  });
              } */   
                  
              function alledaten() {
                 sensordaten();
                 balkontuere();
                 //controme();
              }
              schedule('*/30 * * * * *', alledaten); // alle 30 Sekunden
              

              hhh

              Ich würde mich sehr freuen wenn Du mir da eventuell weiter helfen könntest ... 🙂

              Viele Grüße,
              Marc

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

                Hallo zusammen, ich habe zwar einen homeassistant. Hoffe aber mir hilft hier jemand.

                Nach dem Firmwareupdate des Homepilots gestern gehen meine Aktoren nicht mehr über den home assistant zu steuern.

                ich benutze das Kommando :

                switch:

                • platform: command_line
                  switches:
                  beregnungvorgarten:
                  command_on: curl "http://192.168.2.2/deviceajax.do?cid=10&did=1010022&command=1"
                  command_off: curl "http://192.168.2.2/deviceajax.do?cid=11&did=1010022&command=1"

                was wurde da an der API vom Homepilot geändert ?

                Würde mich über Hilfe freuen.

                Danke

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

                  @slkschlumpf
                  schau mal bei Facebook in der Gruppe - https://www.facebook.com/groups/homepilot/ - Da wird auch schon diskutiert ... Vielleicht hilft das ja schon. Ich brauche auch noch Hilfe, aber das muss ja auch erstmal hier ankommen und die richtigen Personen betreffen ... Aber das wird bestimmt bald alles gelöst werden 🙂

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

                    @meicker sagte:

                    Ich würde mich sehr freuen wenn Du mir da eventuell weiter helfen könntest ..

                    Ohne zu wissen, was sich geändert hat, kann ich nicht helfen.
                    Ändere mal Zeile 42 in

                    var temp = parseFloat(data[37].value);
                    
                    1 Reply Last reply Reply Quote 0
                    • M
                      meicker last edited by

                      @paul53
                      Hi Paul,
                      danke schon mal für die Rückmeldung. Habe ich geändert, ist aber glaube ich nicht richtig. Das heißt ja nicht mehr Data, das war bei dem alten JSON noch richtig.
                      Schau mal in meinem ersten Post, da habe ich die neue JSON abgebildet und hier im Spoiler eingefügt.


                      {"error_description":"OK","error_code":0,"payload":{"device":{"capabilities":[{"name":"TEMPERATURE_THRESH4_ENV_NAMES_CFG","value":"Temperatur 10° Winter","timestamp":-1},{"name":"WIND_THRESH1_VALUE_CFG","value":"6","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054423},{"name":"SUN_THRESH5_ENV_NAMES_CFG","value":"-","timestamp":-1},{"name":"PROD_CODE_DEVICE_LOC","value":"32000064_S","timestamp":-1},{"name":"REACHABILITY_EVT","value":"true","timestamp":1568067423},{"name":"SUN_THRESH3_TEMPERATURE_VALUE_CFG","value":"21","min_value":"-5","max_value":"26","step_size":"1","timestamp":1568054418},{"name":"TEMPERATURE_THRESH5_VALUE_CFG","value":"-10","min_value":"-40","max_value":"80","step_size":"1","timestamp":1568054423},{"name":"DUSK_THRESH3_VALUE_CFG","value":"50","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"NAME_DEVICE_LOC","value":"Sensor UWS","timestamp":-1},{"name":"DAWN_THRESH1_ENV_NAMES_CFG","value":"Licht 20 Lux","timestamp":-1},{"name":"DUSK_THRESH2_ENV_NAMES_CFG","value":"Licht 25 Lux","timestamp":-1},{"name":"DCF_MODE_CFG","value":"true","timestamp":1568067423},{"name":"DAWN_THRESH4_VALUE_CFG","value":"80","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"SUN_THRESH3_TIME_2_RELEASE_CFG","value":"30","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054418},{"name":"INTF_ID_DEVICE_LOC","value":"3","timestamp":-1},{"name":"TEMPERATURE_THRESH1_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"DAWN_ENABLE_THRESH4_CFG","value":"true","timestamp":1568054415},{"name":"TEMPERATURE_THRESH4_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"SUN_DIRECTION_MEA","value":"333.0","min_value":"0.0","max_value":"360.0","timestamp":1568067423},{"name":"SUN_DETECTION_MEA","value":"false","timestamp":1485440904},{"name":"WIND_SPEED_EVT","value":"0.0","min_value":"0.0","max_value":"70.0","step_size":"0.1","timestamp":1568067423},{"name":"SUN_THRESH4_ENABLE_CFG","value":"true","timestamp":1568054418},{"name":"SUN_THRESH4_TEMPERATURE_VALUE_CFG","value":"0","min_value":"-5","max_value":"26","step_size":"1","timestamp":1568054418},{"name":"WIND_SPEED_MS_MEA","value":"0.0","min_value":"0.0","max_value":"70.0","timestamp":1568067423},{"name":"WIND_THRESH3_ENV_NAMES_CFG","value":"Markise 11","timestamp":-1},{"name":"SUN_THRESH1_ELEVATION_RANGE_CFG","value":"0","min_value":"0","max_value":"52","step_size":"26","timestamp":1568054417},{"name":"DUSK_EVT","value":"5","min_value":"1","max_value":"5","step_size":"1","timestamp":1568052149},{"name":"SUN_THRESH4_VALUE_CFG","value":"20","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054418},{"name":"SUN_THRESH2_TEMPERATURE_ENABLE_CFG","value":"true","timestamp":1568054417},{"name":"WIND_DETECT_FACTOR_CFG","value":"180","min_value":"1","max_value":"255","step_size":"1","timestamp":1568054425},{"name":"SUN_THRESH1_ENABLE_CFG","value":"true","timestamp":1568054417},{"name":"DAWN_THRESH3_VALUE_CFG","value":"60","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"DAWN_EVT","min_value":"1","max_value":"5","step_size":"1","timestamp":-1},{"name":"TEMPERATURE_START_EVT","value":"5","min_value":"1","max_value":"5","step_size":"1","timestamp":1534954010},{"name":"SUN_THRESH2_TEMPERATURE_VALUE_CFG","value":"21","min_value":"-5","max_value":"26","step_size":"1","timestamp":1568054417},{"name":"WIND_THRESH2_VALUE_CFG","value":"25","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054423},{"name":"WIND_THRESH5_ENABLE_CFG","value":"false","timestamp":1568054423},{"name":"TEMP_CURR_DEG_MEA","value":"12.1","min_value":"-40.0","max_value":"80.0","timestamp":1568067423},{"name":"TEMPERATURE_THRESH4_VALUE_CFG","value":"10","min_value":"-40","max_value":"80","step_size":"1","timestamp":1568054423},{"name":"SUN_THRESH4_USE_AZIMUTH_CFG","value":"true","timestamp":1568054418},{"name":"SENS_STATUS_INTERVAL_CFG","value":"1","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054425},{"name":"SUN_THRESH1_USE_AZIMUTH_CFG","value":"true","timestamp":1568054417},{"name":"TEMPERATURE_THRESH1_ENV_NAMES_CFG","value":"Temperatur 35° FREI","timestamp":-1},{"name":"DEGREE_LATITUDE_CFG","value":"51","min_value":"-90","max_value":"90","step_size":"1","timestamp":1568054425},{"name":"SUN_THRESH5_TARGET_ELEVATION_CFG","value":"13","min_value":"13","max_value":"78","step_size":"13","timestamp":1568054420},{"name":"SUN_THRESH2_ELEVATION_RANGE_CFG","value":"0","min_value":"0","max_value":"52","step_size":"26","timestamp":1568054417},{"name":"DUSK_THRESH2_VALUE_CFG","value":"25","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"SUN_THRESH1_TEMPERATURE_VALUE_CFG","value":"21","min_value":"-5","max_value":"26","step_size":"1","timestamp":1568054417},{"name":"SUN_THRESH3_TEMPERATURE_ENABLE_CFG","value":"true","timestamp":1568054418},{"name":"SUN_THRESH4_TIME_2_RELEASE_CFG","value":"20","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054418},{"name":"TEMPERATURE_THRESH3_VALUE_CFG","value":"18","min_value":"-40","max_value":"80","step_size":"1","timestamp":1568054423},{"name":"TEMPERATURE_INT_CFG","value":"12.1","min_value":"-40.0","max_value":"80.0","step_size":"0.1","timestamp":1568067423},{"name":"DAWN_THRESH2_VALUE_CFG","value":"40","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"VERSION_CFG","value":"0.3","timestamp":1568067125},{"name":"DUSK_ENABLE_THRESH3_CFG","value":"true","timestamp":1568054415},{"name":"DEGREE_LONGITUDE_CFG","value":"7","min_value":"0","max_value":"360","step_size":"1","timestamp":1568054425},{"name":"DATE_TIME_CFG","value":"1568060671","timestamp":1568061932},{"name":"SUN_THRESH3_ENABLE_CFG","value":"true","timestamp":1568054418},{"name":"DAWN_THRESH3_ENV_NAMES_CFG","value":"Licht 60 Lux","timestamp":-1},{"name":"WIND_THRESH1_ENV_NAMES_CFG","value":"Markise 5","timestamp":-1},{"name":"SUN_THRESH2_TIME_2_RELEASE_CFG","value":"20","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054417},{"name":"ICONSET_LOC","value":"iconset25","timestamp":-1},{"name":"DAWN_THRESH4_ENV_NAMES_CFG","value":"Licht 80 Lux","timestamp":-1},{"name":"SUN_START_EVT","min_value":"1","max_value":"5","step_size":"1","timestamp":-1},{"name":"DEVICE_TYPE_LOC","value":"3","timestamp":-1},{"name":"DUSK_ENABLE_THRESH1_CFG","value":"true","timestamp":1568054415},{"name":"DUSK_THRESH4_ENV_NAMES_CFG","value":"Licht 75 Lux","timestamp":-1},{"name":"ICONSET_INV_LOC","value":"false","timestamp":-1},{"name":"SUN_THRESH4_TARGET_ELEVATION_CFG","value":"13","min_value":"13","max_value":"78","step_size":"13","timestamp":1568054418},{"name":"DCF_VALID_EVT","value":"false","timestamp":1568067423},{"name":"DUSK_THRESH1_VALUE_CFG","value":"10","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"RESET_FULL_CMD","timestamp":-1},{"name":"SUN_THRESH1_TIME_2_DETECT_CFG","value":"15","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054417},{"name":"PAIRING_CONFIRMED_LOC","value":"true","timestamp":-1},{"name":"DUSK_ENABLE_THRESH5_CFG","value":"true","timestamp":1568054417},{"name":"SUN_THRESH2_VALUE_CFG","value":"30","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054417},{"name":"REQ_DATE_TIME_CMD","timestamp":-1},{"name":"DAWN_THRESH5_VALUE_CFG","value":"100","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054417},{"name":"SUN_THRESH5_ENABLE_CFG","value":"true","timestamp":1568054420},{"name":"DAWN_ENABLE_THRESH2_CFG","value":"true","timestamp":1568054415},{"name":"DUSK_THRESH4_VALUE_CFG","value":"75","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"DAWN_THRESH5_ENV_NAMES_CFG","value":"Licht 100 Lux","timestamp":-1},{"name":"CURR_BRIGHTN_CFG","value":"0","min_value":"0","max_value":"150000","step_size":"1","timestamp":1568067423},{"name":"WIND_THRESH3_VALUE_CFG","value":"12","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054423},{"name":"SUN_THRESH1_AZIMUTH_RANGE_CFG","value":"90.0","min_value":"0.0","max_value":"180.0","step_size":"45.0","timestamp":1568054417},{"name":"SUN_THRESH4_USE_ELEVATION_CFG","value":"false","timestamp":1568054418},{"name":"SUN_THRESH5_VALUE_CFG","value":"100","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054420},{"name":"DUSK_THRESH5_ENV_NAMES_CFG","value":"Licht 100 Lux","timestamp":-1},{"name":"RAIN_START_EVT","timestamp":-1},{"name":"SUN_THRESH3_TARGET_ELEVATION_CFG","value":"39","min_value":"13","max_value":"78","step_size":"13","timestamp":1568054418},{"name":"SUN_THRESH1_TEMPERATURE_ENABLE_CFG","value":"true","timestamp":1568054417},{"name":"SUN_STOP_EVT","value":"5","min_value":"1","max_value":"5","step_size":"1","timestamp":1485440904},{"name":"SUN_THRESH5_AZIMUTH_RANGE_CFG","value":"0.0","min_value":"0.0","max_value":"180.0","step_size":"45.0","timestamp":1568054420},{"name":"TIME_ZONE_CFG","value":"1","min_value":"-11","max_value":"13","step_size":"1","timestamp":1568054425},{"name":"SUN_THRESH1_VALUE_CFG","value":"30","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054417},{"name":"SUN_THRESH1_TIME_2_RELEASE_CFG","value":"30","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054417},{"name":"SUN_THRESH3_TIME_2_DETECT_CFG","value":"10","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054418},{"name":"SUN_THRESH3_USE_ELEVATION_CFG","value":"false","timestamp":1568054418},{"name":"SUN_THRESH5_TIME_2_RELEASE_CFG","value":"20","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054420},{"name":"SUN_THRESH2_USE_ELEVATION_CFG","value":"false","timestamp":1568054417},{"name":"SUN_THRESH3_USE_AZIMUTH_CFG","value":"true","timestamp":1568054418},{"name":"WIND_THRESH4_ENABLE_CFG","value":"false","timestamp":1568054423},{"name":"DAWN_THRESH1_VALUE_CFG","value":"20","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054415},{"name":"SUN_THRESH2_TARGET_ELEVATION_CFG","value":"13","min_value":"13","max_value":"78","step_size":"13","timestamp":1568054417},{"name":"DAWN_ENABLE_THRESH5_CFG","value":"true","timestamp":1568054417},{"name":"TEMPERATURE_THRESH2_VALUE_CFG","value":"25","min_value":"-40","max_value":"80","step_size":"1","timestamp":1568054423},{"name":"WIND_THRESH4_VALUE_CFG","value":"2","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054423},{"name":"SUN_THRESH2_TIME_2_DETECT_CFG","value":"10","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054417},{"name":"DAWN_THRESH2_ENV_NAMES_CFG","value":"Licht 40 Lux","timestamp":-1},{"name":"LIGHT_VAL_LUX_MEA","value":"0","min_value":"0","max_value":"150000","timestamp":1568067423},{"name":"ID_DEVICE_LOC","value":"1010005","timestamp":-1},{"name":"PROTOCOL_ID_CFG","value":"690732","timestamp":-1},{"name":"SUN_THRESH4_ENV_NAMES_CFG","value":"Sonne O - SW / 20Klux Winter","timestamp":-1},{"name":"SUN_HEIGHT_EVT","value":"-29","min_value":"-90","max_value":"90","step_size":"1","timestamp":1568067423},{"name":"SUN_THRESH1_USE_ELEVATION_CFG","value":"false","timestamp":1568054417},{"name":"SUN_THRESH4_TIME_2_DETECT_CFG","value":"5","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054418},{"name":"SUN_THRESH3_AZIMUTH_RANGE_CFG","value":"90.0","min_value":"0.0","max_value":"180.0","step_size":"45.0","timestamp":1568054418},{"name":"TEMPERATURE_THRESH3_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"SUN_THRESH1_ENV_NAMES_CFG","value":"Sonne O - S / 30 KLux Sommer","timestamp":-1},{"name":"RAIN_STOP_EVT","timestamp":1568016601},{"name":"TEMPERATURE_THRESH5_ENV_NAMES_CFG","value":"Temperatur -10° FREI","timestamp":-1},{"name":"RAIN_DETECTION_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"DUSK_THRESH3_ENV_NAMES_CFG","value":"Licht 50 Lux","timestamp":-1},{"name":"SUN_THRESH4_AZIMUTH_RANGE_CFG","value":"135.0","min_value":"0.0","max_value":"180.0","step_size":"45.0","timestamp":1568054418},{"name":"WIND_THRESH5_VALUE_CFG","value":"2","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054423},{"name":"VIS_DEVICE_LOC","value":"true","timestamp":-1},{"name":"SUN_THRESH1_TARGET_ELEVATION_CFG","value":"13","min_value":"13","max_value":"78","step_size":"13","timestamp":1568054417},{"name":"WIND_THRESH2_ENV_NAMES_CFG","value":"Rolläden","timestamp":-1},{"name":"REQ_SENS_INFO_CMD","timestamp":-1},{"name":"TEMPERATURE_THRESH2_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"TEMPERATURE_THRESH1_VALUE_CFG","value":"35","min_value":"-40","max_value":"80","step_size":"1","timestamp":1568054423},{"name":"SUN_THRESH2_ENABLE_CFG","value":"true","timestamp":1568054417},{"name":"DESCR_DEVICE_LOC","value":"Balkon","timestamp":-1},{"name":"RAIN_DETECTION_MEA","value":"false","timestamp":1568067423},{"name":"SUN_THRESH2_USE_AZIMUTH_CFG","value":"true","timestamp":1568054417},{"name":"DUSK_THRESH5_VALUE_CFG","value":"100","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054417},{"name":"SUN_THRESH2_AZIMUTH_RANGE_CFG","value":"135.0","min_value":"0.0","max_value":"180.0","step_size":"45.0","timestamp":1568054417},{"name":"TEMPERATURE_THRESH5_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"SUN_THRESH5_USE_ELEVATION_CFG","value":"false","timestamp":1568054420},{"name":"DUSK_ENABLE_THRESH2_CFG","value":"true","timestamp":1568054415},{"name":"SUN_THRESH3_VALUE_CFG","value":"30","min_value":"1","max_value":"100","step_size":"1","timestamp":1568054418},{"name":"RESET_WO_PAIR_CMD","timestamp":-1},{"name":"SUN_THRESH3_ENV_NAMES_CFG","value":"Sonne W - NW / 30 KLux Sommer","timestamp":-1},{"name":"PROT_ID_DEVICE_LOC","value":"690732_S_1","timestamp":-1},{"name":"WIND_THRESH3_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"SUN_THRESH3_ELEVATION_RANGE_CFG","value":"0","min_value":"0","max_value":"52","step_size":"26","timestamp":1568054418},{"name":"WIND_DETECT_TIME_CFG","value":"1","min_value":"1","max_value":"255","step_size":"1","timestamp":1568054425},{"name":"DAWN_ENABLE_THRESH1_CFG","value":"true","timestamp":1568054415},{"name":"TEMPERATURE_STOP_EVT","value":"3","min_value":"1","max_value":"5","step_size":"1","timestamp":1568038009},{"name":"SUN_THRESH2_ENV_NAMES_CFG","value":"Sonne S - W / 30 KLux Sommer","timestamp":-1},{"name":"WIND_START_EVT","min_value":"1","max_value":"5","step_size":"1","timestamp":-1},{"name":"SUN_THRESH1_TARGET_AZIMUTH_CFG","value":"135.0","min_value":"22.5","max_value":"315.0","step_size":"22.5","timestamp":1568054417},{"name":"SUN_HEIGHT_DEG_MEA","value":"-29","min_value":"-90","max_value":"90","timestamp":1568067423},{"name":"TEMPERATURE_THRESH2_ENV_NAMES_CFG","value":"Temperatur 25° Sonne","timestamp":-1},{"name":"AUTOMATIC_SOMMERTIME_CFG","value":"false","timestamp":1568061932},{"name":"RMT_STOP_PAIR_CMD","timestamp":-1},{"name":"REQ_SENS_CFG_CMD","timestamp":-1},{"name":"SUN_THRESH5_TIME_2_DETECT_CFG","value":"1","min_value":"1","max_value":"32","step_size":"1","timestamp":1568054420},{"name":"SENS_STATUS_MODE_CFG","value":"true","timestamp":1568054425},{"name":"SUN_THRESH4_TEMPERATURE_ENABLE_CFG","value":"false","timestamp":1568054418},{"name":"WIND_THRESH5_ENV_NAMES_CFG","value":"Mein Reaktionswert 5","timestamp":-1},{"name":"SUN_THRESH5_TARGET_AZIMUTH_CFG","value":"22.5","min_value":"22.5","max_value":"315.0","step_size":"22.5","timestamp":1568054420},{"name":"SUN_THRESH4_ELEVATION_RANGE_CFG","value":"0","min_value":"0","max_value":"52","step_size":"26","timestamp":1568054418},{"name":"TEMPERATURE_THRESH3_ENV_NAMES_CFG","value":"Temperatur 18° Ventilator","timestamp":-1},{"name":"SUN_THRESH5_TEMPERATURE_VALUE_CFG","value":"0","min_value":"-5","max_value":"26","step_size":"1","timestamp":1568054420},{"name":"WIND_STOP_EVT","value":"5","min_value":"1","max_value":"5","step_size":"1","timestamp":1568067121},{"name":"RAIN_DETECTED_EVT","value":"false","timestamp":1568067423},{"name":"RMT_START_PAIR_CMD","timestamp":-1},{"name":"SUN_THRESH4_TARGET_AZIMUTH_CFG","value":"157.5","min_value":"22.5","max_value":"315.0","step_size":"22.5","timestamp":1568054418},{"name":"SUN_THRESH3_TARGET_AZIMUTH_CFG","value":"292.5","min_value":"22.5","max_value":"315.0","step_size":"22.5","timestamp":1568054418},{"name":"SUN_THRESH2_TARGET_AZIMUTH_CFG","value":"157.5","min_value":"22.5","max_value":"315.0","step_size":"22.5","timestamp":1568054417},{"name":"DUSK_THRESH1_ENV_NAMES_CFG","value":"Licht 10 Lux","timestamp":-1},{"name":"WIND_THRESH1_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"WIND_THRESH2_ENABLE_CFG","value":"true","timestamp":1568054423},{"name":"USE_SECURE_WIND_FCT_CFG","value":"true","timestamp":1568054425},{"name":"SUN_DIRECTION_EVT","value":"333.0","min_value":"0.0","max_value":"360.0","step_size":"1.5","timestamp":1568067423},{"name":"SUN_THRESH5_TEMPERATURE_ENABLE_CFG","value":"false","timestamp":1568054420},{"name":"RMT_START_UNPAIR_CMD","timestamp":-1},{"name":"SUN_THRESH5_USE_AZIMUTH_CFG","value":"false","timestamp":1568054420},{"name":"DUSK_ENABLE_THRESH4_CFG","value":"true","timestamp":1568054415},{"name":"SUN_THRESH5_ELEVATION_RANGE_CFG","value":"0","min_value":"0","max_value":"52","step_size":"26","timestamp":1568054420},{"name":"DAWN_ENABLE_THRESH3_CFG","value":"true","timestamp":1568054415},{"name":"WIND_THRESH4_ENV_NAMES_CFG","value":"Mein Reaktionswert 4","timestamp":-1}],"scenes":[]}}}

                      Wichtig ist doch jetzt erst einmal der Weg zu den Daten. Wenn ich das richtig sehe ist das Zeile 26 Die habe ich geändert von
                      var data = JSON.parse(body).data; in
                      var data = JSON.parse(body).payload.device.capabilities;
                      um es an die neue JSON anzupassen

                      In Zeile 42/43 soll dann auf [37] zugegriffen werden und die Daten übertragen werden.

                      Kannst Du damit jetzt mehr anfangen ? Das Script ist hier im Spoiler noch mal drin


                      const request = require('request');
                      const link = 'http://192.168.1.180/devices/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).payload.device.capabilities;

                              var dir = data[5].Sonnenrichtung;
                              //log(dir);
                              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[37].value);
                              setState('Homepilot.Temperatur', temp, true);
                              
                              var regen = data[3].Regen; // Das ist ein String !
                                  if(regen == 'Nicht erkannt') setState('Homepilot.Regen', false, true);
                                  else setState('Homepilot.Regen', true, true);
                              
                              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 data = JSON.parse(body).data;
                      var schliesserunten = data[0].Schließer; // 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 data = JSON.parse(body).data;
                      var schliesseroben = data[0].Schließer; // 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 controme() {
                      request(linkcontrome1, function(error,response, body) {
                      if(error) log('Fehler request: ' + error, 'error');
                      else {
                      var data = JSON.parse(body).sensoren;
                      var id = parseFloat(data[0].id);
                      setState('Controme.id', id, true);
                      }
                      });
                      } */

                      function alledaten() {
                      sensordaten();
                      balkontuere();
                      //controme();
                      }
                      schedule('*/30 * * * * *', alledaten); // alle 30 Sekunden

                      Vielen dank nochmal und viele Grüße,
                      Marc

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

                        @meicker sagte:

                        ist aber glaube ich nicht richtig.

                        Ist doch richtig, denn die Variable data enthält das Array, an dessen Index 37 das Objekt mit der Temperatur enthalten ist.

                        JSON_Homepilot.JPG

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

                          @paul53
                          jetzt hab ich es verstanden 🙂 Es funktioniert. Ich war mir nicht sicher. Ich dachte halt ich habe das total falsch angefangen ... Danke für den Hinweis !

                          Ich versuche gleich mal die anderen einfachen Dinge ... aber da waren auch noch kompliziertere Datenpunkte drin wo was umgewandelt wurde. Ich versuche es erstmal und wenn ich nicht klar komme darfst Du mir gerne wieder einen denkanstoß geben 🙂

                          Danke DIR !
                          vg
                          Marc

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

                            @paul53
                            klappt soweit, komme gut weiter ...

                            Ich bekomme bei einem datenpunkt ein 'warn' - er funktioniert, aktuell ist er 'true'

                            createState('Homepilot.Regen', 0, {type: 'boolean', unit: ''});
                            var regen = data[133].value;
                            setState('Homepilot.Regen', regen, true);

                            und die Logmeldung ist:
                            javascript.0 at Request._callback (script.js.Homepilot.Sensordaten1:46:13)

                            Zeile 46 ist -> setState('Homepilot.Regen', regen, true);

                            Hast Du eine Idee ?
                            vg
                            Marc

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

                              @meicker sagte:

                              var regen = data[133].value;

                              Es wird ein String geliefert, deshalb ändere es:

                              var regen = false;
                              if(data[133].value == 'true') regen = true;
                              
                              1 Reply Last reply Reply Quote 0
                              • M
                                meicker last edited by

                                SUPER 🙂 Klappt natürlich ... DANKE !!!

                                Und jetzt hab ich noch eine Kleinigkeit ... wie wandle ich den Timestamp in ein Datum mit Zeit um ? Was ich im Netz gefunden habe war alles ellenlanger code ...

                                var aktualisiert = data[37].timestamp;
                                setState('Homepilot.Aktualisiert', aktualisiert, true);

                                Geht das überhaupt einfach ?

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

                                  @meicker sagte:

                                  Geht das überhaupt einfach ?

                                  Ja, mit formatDate(). Der Datenpunkt muss vom Typ "string" sein.

                                  var aktualisiert = formatDate(data[37].timestamp, 'DD.MM.YY hh:mm:ss');
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    meicker last edited by

                                    @paul53 said in [GELÖST] Homepilot Umweltsensor mit Javascript auslesen:

                                    var aktualisiert = formatDate(data[37].timestamp, 'DD.MM.YY hh:mm:ss');

                                    Ganz herzlichen Dank Paul !!!

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      slkschlumpf last edited by

                                      Hallo,

                                      gibt es für mein Schalten der Aktoren auch schon eine Lösung ?

                                      die Kommandos

                                      command_on: curl "http://192.168.2.2/deviceajax.do?cid=10&did=1010022&command=1"
                                      command_off: curl "http://192.168.2.2/deviceajax.do?cid=11&did=1010022&command=1"

                                      funktionieren nicht mehr.

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

                                        @slkschlumpf
                                        soweit ich aktuell weiß noch nicht ... aber ich frage mal eben jemanden ...

                                        Das Problem ist das es noch nicht genügend Leute gibt die Informationen bekommen haben ... Rademacher sagt zwar auf Youtube das die Schnittstelle extra überarbeitet wurde um das Zusammenspiel zu vereinfachen, auf der anderen Seite habe ich 'noch' keine Informationen dazu bekommen können ...

                                        Ich weiß das wenigstens einer an einem Adapter arbeitet. Dort habe ich gerade gefragt. Wenn ich was höre gebe ich Bescheid ...

                                        vg
                                        Marc

                                        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