Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Wie Werte mit Parser 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

    Wie Werte mit Parser auslesen?

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

      Hallo,

      ich habe einen MyReserve Speicher von Solarwatt und der hat eine kleine Website integriert, die die aktuellen Werte anzeigt. Diese würde ich gerne auslesen, aber ich habe es bisher nicht auf die Kette bekommen.
      myeserve.jpg

      Die Werte, die ich haben möchte sind:
      PGrid
      PPV
      PBat
      SoC
      Die habe ich auch schon im Script gefunden.

      
      <!DOCTYPE html><html><head><title>MyReserve Command</title><style> * { box-sizing: border-box;}div.main { height:80%;margin:10px; width:100%; font-family: Arial; padding: 6px 6px; font-size:25px;}html,body { margin:0px; font-size:100%; color: #FFFFFF; background-color: #000000;}input {  font-size:70%;  max-width:10em;}input[type=number]{  max-width:3em;}input[type=checkbox]{ -ms-transform: scale(2); /* IE */ -moz-transform: scale(2); /* FF */ -webkit-transform: scale(2); /* Safari and Chrome */ -o-transform: scale(2); /* Opera */  transform: scale(2); /* Opera */  margin: 10px;}@media (max-width: 1100px) { div.main {  height:80%;margin:10px;  width:100%;  font-family: Arial;  padding: 6px 6px;  font-size:25px; } html,body {  margin:0px;  font-size:100%;  color: #FFFFFF;  background-color: #000000;} input {  font-size:50%;  max-width:10em;  margin: 10px; } input[type=checkbox]{  -ms-transform: scale(3); /* IE */  -moz-transform: scale(3); /* FF */  -webkit-transform: scale(3); /* Safari and Chrome */  -o-transform: scale(3); /* Opera */  transform: scale(3); /* Opera */  margin: 10px; }}.grid-container3ceq { display: grid; grid-template-columns:  33% 33% 33%; grid-gap: 1px; background-color: #000000; padding: 1px;}.grid-container3c { display: grid; /*grid-template-columns:  10em 5em 6em;*/ grid-template-columns:  50% 20% 1fr; grid-gap: 1px; background-color: #000000; padding: 1px;}.grid-container2c { display: grid; /*grid-template-columns:  10em 10em;*/ grid-template-columns:  50% 1fr; grid-gap: 1px; background-color: #000000; padding: 1px;}.grid-containerglob { display: grid; grid-template-columns:  repeat(2,minmax(400px,1fr)); grid-gap: 1px; background-color: #000000; padding: 1px; overflow: visible; align-items: center;}@media (max-width: 1100px) { .grid-containerglob {   display: grid;   grid-template-columns:  repeat(1,minmax(400px,1fr));   grid-gap: 1px;   background-color: #666666;   padding: 1px;   overflow: visible;   font-size: 140%;   align-items: center; }}.grid-item-glob {   background-color: rgb(0,0,0);   padding: 3px 3px;   text-align: center;   align-items: center;   }.grid-item {   background-color: rgb(0,0,0);   text-align: center;   min-height: 35px !important;   /*padding: 3px 3px;*/   }.grid-item-left {   background-color: rgb(0,0,0);   text-align: left;   min-height: 35px !important;   /*padding: 3px 3px;*/   }.grid-item-3c {   grid-column-start: 1;   grid-column-end: 4;   background-color: rgb(0,0,0);   text-align: center;   /*height: 30px !important;*/   /*padding: 3px 3px;*/   }legend { display: block; padding-right: 0em; padding-left: 0em; padding-top: 0em; padding-bottom: 0em; border: none;}fieldset {  min-height: 350px !important;   padding-top: 0.5em;  padding-bottom: 0.5em;} #title {  color: #F07D00;} a {  text-decoration:none;  font-size: 80%;  color: #F07D00;} a:hover {  text-decoration:none;  font-size: 80%;  color:blue;} .lightgrey {  background-color: #DDDDDD;} .sworangem {  background-color: #999999/*#FFAA00*//*rgba(240,125,0,0.8)*/;  margin-right: 0.5em;} .smallpadding {  padding-top: 0.1em;  padding-bottom: 0.1em;  padding-left: 0.1em;  padding-right: 0.1em;}.dot {  height: 0.7em;  width: 0.7em;  background-color: #bbb;  border-radius: 50%;  display: inline-block;  margin-top: 0.2em;  margin-bottom: 0.1em;}#connstatus { color: #FF0000;}.agb {font-size: 50%;font-weight: bold;color: #F07D00;}</style><script type='text/javascript'>var HttpClient = function() { this.get = function(aUrl, aCallback) {  var anHttpRequest = new XMLHttpRequest();  anHttpRequest.onreadystatechange = function() {    if (anHttpRequest.readyState == 4 ) {	aCallback(anHttpRequest);  }    } ;   anHttpRequest.open( 'GET', aUrl, true );  anHttpRequest.send( null ); }; };function getNetValues(){   console.log('getNetValues');   var client = new HttpClient();   client.get('/?topic=GetNet&',   function(response) {     var elem;     console.log('GET net answer ' + response.status );     if (response.status == 200){        var actdata = JSON.parse(response.responseText.trim());       console.log(actdata);       setNetVals(actdata);     }     });   }  function getCCValues(){   console.log('getCCValues');   var client = new HttpClient();   client.get('/?topic=GetCC&',   function(response) {     var elem;     console.log('GET cc answer ' + response.status );     if (response.status == 200){        var actdata = JSON.parse(response.responseText.trim());       console.log(actdata);       setCCVals(actdata);     }     });   }  function getPerformanceValues(){   /*console.log('getPerformanceValues');*/   var client = new HttpClient();   client.get('/?topic=GetPerf&',   function(response) {     var elem;     var knoedel;     var d;     var val,ival;     console.log('GET perf answer ' + response.status );     if (response.status == 200){        var actdata = JSON.parse(response.responseText.trim());       /*console.log(actdata);*/       ival=actdata.SoC;       elem=document.getElementById('soc');       elem.innerHTML=ival;       ival=actdata.PBat;       elem=document.getElementById('pbat');       elem.innerHTML=ival;       ival=actdata.PPV;       elem=document.getElementById('ppv');       elem.innerHTML=ival;       ival=actdata.PGrid;       elem=document.getElementById('pgrid');       elem.innerHTML=ival;       val=actdata.ComStatus;       elem=document.getElementById('comval');       elem.innerHTML='0x'+actdata.ComStatus.toString(16);       knoedel=document.getElementById('com');       if (val != 0 ) {knoedel.style.backgroundColor='red';}       else           {knoedel.style.backgroundColor='green';}       val=actdata.BMSStatus;       elem=document.getElementById('bmsval');       elem.innerHTML='0x'+actdata.BMSStatus.toString(16);       knoedel=document.getElementById('bms');       if (val != 0 ) {knoedel.style.backgroundColor='red';}       else           {knoedel.style.backgroundColor='green';}       val=actdata.SysStatus;       var acsless=(val & parseInt ('0x20')) == parseInt ('0x20');        var sys_noncrit20= val & parseInt ('0x20');        var sys_noncrit400= val & parseInt ('0x400');        var sys_noncrit800= val & parseInt ('0x800');        var sys_noncrit1000= val & parseInt ('0x1000');        var sys_noncrit2000= val & parseInt ('0x2000');        var sys_noncrit4000= val & parseInt ('0x4000');        var sys_noncrit8000= val & parseInt ('0x8000');        var sys_noncrit100000= val & parseInt ('0x100000');        var sys_noncrit200000= val & parseInt ('0x200000');        var sum= sys_noncrit20 + sys_noncrit400 + sys_noncrit800 + sys_noncrit1000 + sys_noncrit2000 + sys_noncrit4000 + sys_noncrit8000 + sys_noncrit100000 + sys_noncrit200000;       elem=document.getElementById('sysval');       elem.innerHTML='0x'+actdata.SysStatus.toString(16);       knoedel=document.getElementById('sys');       if (val != sum ) {knoedel.style.backgroundColor='red';}       else { if (acsless||sum){knoedel.style.backgroundColor='blue';}              else        {knoedel.style.backgroundColor='green';}        }       val=actdata.InternetStatus;       elem=document.getElementById('internetval');       elem.innerHTML='0x'+actdata.InternetStatus.toString(16);       knoedel=document.getElementById('internet');       if (val != 0 ) {knoedel.style.backgroundColor='red';}       else           {knoedel.style.backgroundColor='green';}       elem=document.getElementById('connstatus');       elem.style.color='#00FF00';       d=new Date();       elem.innerHTML='Connection to Command ok   '+ d.toLocaleString();     }     else {       elem=document.getElementById('connstatus');       elem.style.color='#FF0000';       d=new Date();       elem.innerHTML='Connection to Command lost   ' + d.toLocaleString();      console.log('no performace values available');     } });}function checkHostname(probe){  console.log('checkHostname ' + probe);  var ret=null;  var num=null;  if (!Number.isNaN(parseInt(probe))){   num=parseInt(probe);   if ((num<10)&&(num>0)){     /*ret='0' + num.toString();*/     ret=num.toString();   }   else{     if ((num<100)&&(num>0)){ret= num.toString();}   }  }  else {if (probe !== ''){ret=-1; console.log('invalid num for hostname');}}  return  ret; }function checkIPAddr(probe){  var ret = true;  var num ,isnum;  var array=probe.split('.');  if ( array.length != 4){     ret=false;  }  else {     for (var i = 0; i < array.length; i++) {        isnum = Number(array[i]);        if (isNaN(isnum)){ret=false;break;}        else{          num=parseInt(array[i]);          if (num < 0 || num > 255) {ret=false;break; }        }     }  }  return ret; }function setNetVals(data){console.log('setNetVals');var elemdhcp=document.getElementById('dhcp');var elemip=document.getElementById('IpAddress');var elemnm=document.getElementById('Netmask');var elemgw=document.getElementById('Gateway');var elemma=document.getElementById('MacAddress');var elemhn=document.getElementById('Hostname'); elemma.disabled=false; elemma.innerHTML=data.macaddr; elemma.disabled=true; elemip.disabled=false; elemip.value=data.ip; elemnm.disabled=false; elemnm.value=data.netmask; elemgw.disabled=false; elemgw.value=data.gateway;   elemhn.value=parseInt(data.hostname.split('MRC')[1]);   console.log('hostname num '+ elemhn.value); if (data.dhcp==1){     elemdhcp.checked=true;     elemip.disabled=true;     elemnm.disabled=true;     elemgw.disabled=true;   } else {elemdhcp.checked=false;} }function onClickNetSubmit(){var dhcp=document.getElementById('dhcp').checked;var dhcpv=0;var ret=false;var connstr='';if (dhcp == true){dhcpv=1;}console.log('onClickNetSubmit()');var elemip=document.getElementById('IpAddress').value;var elemnm=document.getElementById('Netmask').value;var elemgw=document.getElementById('Gateway').value;var elemhn=checkHostname(document.getElementById('Hostname').value);if (elemhn==null){elemhn='';}if (elemhn==-1){alert ('the given command name is invalid: use number 1-99'); return;}ret=checkIPAddr(elemip);if (!ret){alert ('the given IP address is invalid'); return;}ret=checkIPAddr(elemnm);if (!ret){alert ('the given netmask is invalid'); return;}ret=checkIPAddr(elemgw);if (!ret){alert ('the given gateway address is invalid'); return;}   var client = new HttpClient();   if (dhcp == true){       connstr='/?topic=SetNet&dhcp=' + dhcpv + '&hostname=MRC' + elemhn;     }   else{       connstr='/?topic=SetNet&dhcp=' + dhcpv +'&ip=' + elemip+ '&netmask=' + elemnm + '&gateway=' + elemgw + '&hostname=MRC' + elemhn;     }   client.get(connstr,   function(response) {     console.log('GET answer ' + response.status );     if (response.status == 200){        var actdata = JSON.parse(response.responseText.trim());       console.log(actdata);       setNetVals(actdata);     }     else {       console.log('status != 200');       alert('The server could not process your request (' + response.status + ' )');     } });}function setCCVals(data){   var elem=document.getElementById('countrycode');   elem.value=data.cc;}function setMyPVVals(data){ var elemmypv=document.getElementById('mypv'); var elemip=document.getElementById('IpAddressMyPV'); elemip.disabled=false; elemip.value=data.ip; if (data.mypv==1){elemmypv.checked=true;} else {elemmypv.checked=false;elemip.disabled=true}}function onClickCountryCodeSubmit(){var ret=false;var connstr='';var ccselect=document.getElementById('countrycode');var selected=ccselect.options[ccselect.selectedIndex].value;   var client = new HttpClient();   connstr='/?topic=SetCountryCode&cc=' + selected ;   client.get(connstr,   function(response) {     console.log('GET answer ' + response.status );     if (response.status == 200){        var actdata = JSON.parse(response.responseText.trim());       /* display the mirrored values in the entry fields */        setCCVals(actdata);     }     else {       console.log('status != 200');       alert('The server could not process your request (' + response.status + ' )');     } });}function onClickDHCP(){var dhcp=document.getElementById('dhcp').checked;var elemip=document.getElementById('IpAddress');var elemnm=document.getElementById('Netmask');var elemgw=document.getElementById('Gateway');var elemma=document.getElementById('MacAddress');elemma.disabled=true;if (dhcp == true){   elemip.disabled=true;   elemnm.disabled=true;   elemgw.disabled=true;}else{   elemip.disabled=false;   elemnm.disabled=false;   elemgw.disabled=false;}}function onClickMyPV(){var mypv=document.getElementById('mypv').checked;var elemip=document.getElementById('IpAddressMyPV');var elemipheading=document.getElementById('headingMyPV');if (mypv == true){   elemip.style.visibility='visible';   elemipheading.style.visibility='visible';}else{   elemip.style.visibility='hidden';   elemipheading.style.visibility='hidden';}}function onClickCountryCode(){   var elem=document.getElementById('countrycode');   var elemname=elem.getAttribute('name');   var value=parseInt(elemname,10);   if ((value <= 15) || (value == 255)){      elem.value=elemname;   }   else{      elem.value='255';   }}function onloadFunc(){var image ='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';var data = '<img src="data:image/png;base64,' + image + '">';document.getElementById('netform').reset();document.getElementById('countrycodeform').reset();document.getElementById('img01').innerHTML = data;getNetValues();getCCValues();getPerformanceValues();onClickDHCP();onClickCountryCode(); setInterval (getPerformanceValues,1000); }window.onload=onloadFunc;</script></head><body><div class='main'><div class='grid-containerglob'> <div class=grid-item-glob id='one_a'>  <b><span  style='font-size:130%;padding:0px;' id='title'> MyReserve Command</span></b> </div> <div class=grid-item-glob id='one_b'>   <span id='img01'></span> </div> <div class=grid-item-glob id='two_a'> <fieldset> <legend> Status values: </legend>  <div class='grid-container3c'>   <div class ='grid-item-left sworangem'> BMS Status: </div><div class='grid-item'> <span class='dot' id='bms'></span> </div>   <div class='grid-item-left' id='bmsval'></div> </div>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> Sys Status: </div><div class='grid-item'> <span class='dot' id='sys'></span> </div>   <div class='grid-item-left' id='sysval'></div> </div>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> Com Status: </div><div class='grid-item'> <span class='dot' id='com'></span> </div>   <div class='grid-item-left' id='comval'></div> </div>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> Internet Status: </div><div class='grid-item'> <span class ='dot'  id='internet'></span> </div>   <div class='grid-item-left' id='internetval'> </div> </fieldset> </div> <div class=grid-item-glob id='two_b'> <fieldset> <legend> Performance values: </legend>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> SoC: </div><div class='grid-item' id='soc'>0 </div>    <div  class = 'grid-item-left dummy'>%</div>  </div>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> PBat: </div><div class='grid-item' id='pbat'>0 </div>   <div class='grid-item-left'>W</div>  </div>  <div class='grid-container3c'>   <div class='grid-item-left sworangem'> PPV: </div><div class='grid-item' id='ppv'>0 </div>  <div class='grid-item-left'>W</div> </div> <div class='grid-container3c'>   <div class='grid-item-left sworangem'> PGrid: </div><div class='grid-item' id='pgrid'>0 </div>   <div class='grid-item-left'>W</div> </div> </fieldset> </div> <div class=grid-item-glob id='three_a'> <form id='netform' action='/'> <fieldset> <legend> Network configuration: </legend> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>MAC address:</div> <div class='grid-item-left'><span id='MacAddress' name='MacAddress'> BLA</span></div>  </div> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>DHCP: </div>  <div class='grid-item-left'><input type='checkbox' onclick='onClickDHCP()' id='dhcp' name='dhcp' BLA></div> </div> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>IP address:</div>  <div class='grid-item-left'><input type='text' id='IpAddress' name='IpAddress'   value='BLA'></div> </div> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>Netmask:</div>  <div class='grid-item-left'><input type='text' id='Netmask' name='Netmask'  value='BLA'> </div> </div> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>Gateway:</div>  <div class='grid-item-left'><input type='text' id='Gateway' name='Gateway'  value='BLA'> </div> </div> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>Hostname: </div>  <div class='grid-item-left'><i>MRC&nbsp;</i><input type='number' id='Hostname' name='Hostname' value='' min='1' max='99'> </div> </div> <div class='grid-container2c'>  <div class='grid-item-left'><input type='button' value='Submit' onClick='onClickNetSubmit()'> </div> </div> </fieldset>  </form>  </div> <div class=grid-item-glob id='three_b'> <form id='countrycodeform' action='/'> <fieldset> <legend> Country code: </legend> <div class='grid-container2c'>  <div class='grid-item-left sworangem'>Country code: </div> <form>  <select name='BLA' id='countrycode'>    <option value='0'>DE(Germany)</option>    <option value='1'>AT(Austria)</option>    <option value='2'>IT(Italy)</option>    <option value='3'>FR(France)</option>    <option value='4'>ES(Spain)</option>    <option value='5'>UK(United Kingdom)</option>    <option value='6'>IE(Ireland)</option>    <option value='7'>SE(Sweden)</option>    <option value='8'>DK(Denmark)</option>    <option value='9'>BE(Belgium)</option>    <option value='10'>NL(Netherlands)</option>    <option value='11'>NO(Norway)</option>    <option value='12'>FI(Finland)</option>    <option value='13'>CH(Switzerland)</option>    <option value='14'>AU(Australia)</option>    <option value='15'>INT(International)</option>    <option value='255'>NOT SET</option></select></form> </div> <div class='grid-container2c'>  <div class='grid-item-left'><input type='button' value='Submit' onClick='onClickCountryCodeSubmit()'> </div> </div> </fieldset> </form> </div> <div class=grid-item-glob id='four_a'>  <span  id='connstatus'> Connection to Command lost  </span> </div> <div class=grid-item-glob id='four_b'>  <div class='grid-container3ceq'>     <div class='grid-item-3c smallpadding'>        <span class='agb'>&copy; SOLARWATT GmbH, Maria-Reiche-Stra&szlig;e 2a, D-01109 Dresden </span>     </div>      <div class='grid-item smallpadding lightgrey'>        <a target='_blank' href='https://www.solarwatt.de/impressum'>Imprint</a>     </div>      <div class='grid-item smallpadding lightgrey'>        <a target='_blank' href='https://www.solarwatt.de/agb'>Terms of Use</a>     </div>      <div class='grid-item smallpadding lightgrey'>        <a target='_blank' href='https://www.solarwatt.de/datenschutz'>Privacy Policy</a>     </div>   </div>  </div></div></body></html>
      

      Wer kann helfen?

      Gruß
      Olli

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @c1olli last edited by

        @c1olli said in Wie Werte mit Parser auslesen?:

        PGrid

        die werte stehen nicht direkt in der html seite drin sondern
        werden dynamisch abgerufen.

        • öffne bitte die developer tools mit F12 (bei chrome oder edge)
        • dann gehe in den Reiter Network
        • dann drücke F5 (die Seite wird neu abgerufen)
        • dann schaue bei den einzelnen requests, da müsste einer vorkommen der am Ende das folgende enthält (ggfs. den filter verwenden)
        /?topic=GetPerf&
        
        • denn dann anklicken und den text aus einem der rechts erscheinenden reiter "payload" "response" oder preview kopieren
          da müsste das json enthalten, aus welchen man die daten extrahieren kann
        C 1 Reply Last reply Reply Quote 0
        • C
          c1olli @OliverIO last edited by c1olli

          @oliverio sagte in Wie Werte mit Parser auslesen?:

          /?topic=GetPerf&

          Das sieht dann so aus:
          myeserve1.jpg

          Bzw. nach Doppelklick so:
          http://192.168.178.108/?topic=GetPerf&

          {"SoC":80,"PGrid":-717,"PPV":3330,"PBat":-2525,"BMSStatus":0,"SysStatus":2097152,"ComStatus":0,"InternetStatus":0}
          
          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @c1olli last edited by OliverIO

            @c1olli

            dann so als javascript im skript adapter
            du musst nur noch die Datenpunkte anlegen, am besten alle als nummer
            und die komplette URL bei xyz eintragen und prüfen ob es per http oder https abgerufen werden kann.
            aktuell wird kein login berücksichtigt.

            const axios = require("axios");
            var dp_pgrid="0_userdata.0.pgrid";
            var dp_ppv="0_userdata.0.ppv";
            var dp_pbat="0_userdata.0.pbat";
            var dp_soc="0_userdata.0.soc";
            var url = "http://xyz/?topic=GetPerf&"
            axios.get(url).then(({ data })=> {
                setState(dp_pgrid,data.PGrid);
                setState(dp_ppv,data.PPV);
                setState(dp_pbat,data.PBat);
                setState(dp_soc,data.SoC);
            })
            
            C 1 Reply Last reply Reply Quote 0
            • C
              c1olli @OliverIO last edited by

              @oliverio
              Das ist natürlich viel eleganter. Login gibt es nicht, da das Gerät nur lokal verfügbar ist.

              C 1 Reply Last reply Reply Quote 0
              • C
                c1olli @c1olli last edited by c1olli

                @c1olli
                Die Punkte werden gefunden und gelesen, jetzt müsste das ganze nur noch sekündlich ausgelesen werden.

                Wie mache ich das am besten?

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

                  @c1olli

                  const axios = require("axios");
                  var dp_pgrid="0_userdata.0.pgrid";
                  var dp_ppv="0_userdata.0.ppv";
                  var dp_pbat="0_userdata.0.pbat";
                  var dp_soc="0_userdata.0.soc";
                  var url = "http://xyz/?topic=GetPerf&"
                  function getData()
                    axios.get(url).then(({ data })=> {
                        setState(dp_pgrid,data.PGrid);
                        setState(dp_ppv,data.PPV);
                        setState(dp_pbat,data.PBat);
                        setState(dp_soc,data.SoC);
                    });
                    setTimeout(getData(),1000);
                  }
                  getData();
                  
                  C 1 Reply Last reply Reply Quote 0
                  • C
                    c1olli @OliverIO last edited by c1olli

                    @OliverIO
                    Die Zeile 8
                    meldet compile faild

                    OliverIO 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @c1olli last edited by

                      @c1olli

                      meist schreib ich die blind ohne einen editor.
                      2 fehler haben sich eingeschlichen

                      const axios = require("axios");
                      var dp_pgrid="0_userdata.0.pgrid";
                      var dp_ppv="0_userdata.0.ppv";
                      var dp_pbat="0_userdata.0.pbat";
                      var dp_soc="0_userdata.0.soc";
                      var url = "http://xyz/?topic=GetPerf&"
                      function getData() {
                        axios.get(url).then(({ data })=> {
                            setState(dp_pgrid,data.PGrid);
                            setState(dp_ppv,data.PPV);
                            setState(dp_pbat,data.PBat);
                            setState(dp_soc,data.SoC);
                        });
                        setTimeout(getData,1000);
                      }
                      getData();
                      
                      C 1 Reply Last reply Reply Quote 1
                      • C
                        c1olli @OliverIO last edited by

                        @OliverIO

                        Granatenstark -
                        läuft jetzt genau wie geplant.

                        Ich würde das auch gerne so aus dem Ärmel schütteln können.

                        Besten Dank
                        Gruß
                        Olli

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @c1olli last edited by

                          @c1olli
                          immer schön üben.
                          javascript hat so seine kleinen Fallstricke. wenn man die kennt gehts ganz gut.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          899
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          2
                          11
                          570
                          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