<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - malé měření elektro]]></title>
	<link rel="self" href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=752&amp;type=atom" />
	<updated>2016-12-19T22:50:46Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.sds.an-d.cz/viewtopic.php?id=752</id>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5874#p5874" />
			<content type="html"><![CDATA[<p>Aha zajímavý nápad. libi se mi.</p><p>Já mám 250L a taktéž solár. V bojleru jsou tři čidla (dvě v jímce u výměníků solár a plyn, jedno jsem nahradil místo teploměru).<br />Jsou ve výškách 25,81,91cm a jedu podle vrstvení vody. Teď mám například rozdíl teplot ve vrstvách 36°C. Toho průměru bych tedy nedosáhl, ikdyž vím, že je tam vody dost.</p>]]></content>
			<author>
				<name><![CDATA[sidbin]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=725</uri>
			</author>
			<updated>2016-12-19T22:50:46Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5874#p5874</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5873#p5873" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>sidbin napsal:</cite><blockquote><p>Jaký důvod má to měření teploty v bojleru průměrem dvou teplot a výpočtem procent?</p></blockquote></div><br /><p>ma to zjednodusit odhad&nbsp; zbytku teple vody v bojleru. V mem pripade&nbsp; bojler ma 160 l a zobrazeni v litrech nebylo dobre chapano.hlavni duvod&nbsp; vzniku mereni byl , ze pri nabijeni sluncem neni jiste kolik tam je teple vody. (obcas slunicko prestane v pulce prace ..)</p><p>jsou to dve cidla - jedno uplne nahore a druhe cca v 1/3 vysky. celkem to &quot;meri &quot; dobre :-)&nbsp; (empiricky jsem to &quot;nastavil&quot; vypoctem tak,aby 0 byla drive nez studena voda...)</p>]]></content>
			<author>
				<name><![CDATA[honzaM]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11648</uri>
			</author>
			<updated>2016-12-19T22:02:48Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5873#p5873</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5872#p5872" />
			<content type="html"><![CDATA[<p>Jaký důvod má to měření teploty v bojleru průměrem dvou teplot a výpočtem procent?</p>]]></content>
			<author>
				<name><![CDATA[sidbin]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=725</uri>
			</author>
			<updated>2016-12-19T20:22:28Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5872#p5872</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5871#p5871" />
			<content type="html"><![CDATA[<p>Krásné,kéž bych to dotáhl také tak daleko ..<br />Myslím si,že každá takováto instalace stojí za pochlubení.<br />Škoda,že v mém okolí nemá nikoho,s kým bych mohl toto rozvíjet <img src="https://forum.sds.an-d.cz/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></content>
			<author>
				<name><![CDATA[Martin Vlastník]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11711</uri>
			</author>
			<updated>2016-12-19T19:50:22Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5871#p5871</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5870#p5870" />
			<content type="html"><![CDATA[<p>tak cas pokrocil a uz nejakou dobu pouzivam novejsi&nbsp; user.html</p><p><span class="postimg"><img src="http://honza-seznam.sweb.cz/fotky/new_usr.JPG" alt="new_usrhtml" /></span></p><br /><br /><p>pokud by nekoho zajimal zdrojak..</p><div class="codebox"><pre><code>T

// Program pro odesilani informaci na portal.merenienergie.cz
// JM  vypocitava virtualni celkovy (3fazovy) elektromer
// zobrazuje na interni HTML strance
  
//  nove: 1/4hod vypocet posledni hod hodnoty L1-L3 /jemnejsi rozliseni/
//  popis promennych, zapis do 4-S0 /sys[469] - kvuli zobrazeni na eportal
// pridan virtualni cas mezi pulsy - ram[99]
// pridany ram[16-19] max hodnoty fazi
// ochrana aktualnich vykonu v ram[21-23] &lt; 10kW /45A/
// omezeni echo vypisu /kratsi udaje,cas na jednom radku/
// ochrana aktualniho vykonu pred chybnym udajem , sys[592-4] = 0
// reset max hodnot odberu pomoci sys[149] =  1
// zmena odesilanych hodnot na portal - misto akt.vykonu max ve 1/4 hod..RAM[95-98]]
// vypocet mn.vody v bojleru, pouziva ram[9] jako temp a ram[15] jako vystup v litrech

// posledni uprava 3.10.2016 vypocet mn. vody v bojleru (ram[15])


// ***********  upozorneni  **************
// echotime pouziva RAM[0-5]
// portal pouziva RAM[100-110]
// pokud se bude pouzivat dalsi http_get, e-mail, atd., pozor na timeouty pro dobehnuti GETu
// pozor na pouzivani sys[64] odpocitavani casu - muze dojit k omezeni funkce portalu

// *******  promenne k portalu  **********
var _portal_vstup;       //index S0 vstupu
var _portal_konst;       //prepoctova konst S0 vstupu
var _portal_ram;         //index ram pole
var _portal_pom;         //pomocna
var _portal_dns;         //je dostupny preklad dns
var _portal_data;        //typ odesilanych dat
var _portal_timeout;     //timeout pro odesilani dat
var _portal_timeoutget;  //timeout pro chybu serveru
var _portal_timeoutdns;  //timeout pro dns_resolve

// *******  vase promenne sem **********

var thishour; //flag že tuhle hod už procedury proběhly
var thismin; 


// *******  globalni procedury  **********
echotime
{
 ram[0]=sys[8] / 10;
 ram[1]=sys[8] % 10;
 ram[2]=sys[9] / 10;
 ram[3]=sys[9] % 10;
 ram[4]=sys[10] / 10;
 ram[5]=sys[10] % 10;
 //echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5]);
}


// *******  procedury portalu **********
odesli_data_na_portal
{
 if (_portal_timeoutget==0) goto odesli_data_na_portal_get;   //odeslat data
 //pred odeslanim dat zkontrolovat zda nebezi predchozi pozadavek
 if (sys[65]==0 &amp;&amp; _portal_timeoutget&gt;=sys[3]) goto odesli_data_na_portal_end;    //jeste bezi, ale mam cas delam neco jineho
 if (_portal_timeoutget&lt;sys[3]) goto odesli_data_na_portal_chyba;    //uz neni cas - chyba
 if ((sys[65]!=1024) || (sys[75] != 200)) {
  goto odesli_data_na_portal_chyba;
 } else {
  if (_portal_data==1) {
   echotime();
   echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; S0 odeslano na server, OK.&#039;);
   echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5]&#039;:&#039;, ram[95]&#039;:&#039;, ram[96]&#039;:&#039;, ram[97]&#039;:&#039;, ram[98],);
  }
  if (_portal_data==2) {
   echotime();
   echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; Temp A odeslano na server, OK.&#039;);
  }
  _portal_data++;
  _portal_timeoutget=0;
  if (_portal_data&gt;4) {
   _portal_timeout=sys[3]+90000;    //interval
   _portal_data=0;                  //vynulovat
   goto odesli_data_na_portal_end;
  }
 }

label odesli_data_na_portal_get:
 if (_portal_dns==1) {
  //mam dns
  if (_portal_data==1) {        //sys[595] nahrazeno ram[99] JM24112015  ; sys[592-595] nahrazeno ram[95-98] max hodnota v 1/4 hod
  // http_get(sys[66],sys[67],sys[68],sys[69],&#039;eportal.merenienergie.cz&#039;,&#039;/datas0.php?ver=1&amp;devid=&#039;, &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;, &#039;&amp;t0v1=&#039;, sys[493], &#039;&amp;t0v2=&#039;, sys[494], &#039;&amp;t0v3=&#039;, sys[495], &#039;&amp;t0v4=&#039;, sys[496], &#039;&amp;t0v5=&#039;, sys[497], &#039;&amp;t0v6=&#039;, sys[498], &#039;&amp;t0v7=&#039;, sys[499], &#039;&amp;t0v8=&#039;, sys[500], &#039;&amp;t1v1=&#039;, sys[526], &#039;&amp;t1v2=&#039;, sys[527], &#039;&amp;t1v3=&#039;, sys[528], &#039;&amp;t1v4=&#039;, sys[529], &#039;&amp;t1v5=&#039;, sys[530], &#039;&amp;t1v6=&#039;, sys[531], &#039;&amp;t1v7=&#039;, sys[532], &#039;&amp;t1v8=&#039;, sys[533], &#039;&amp;av1=&#039;, sys[592], &#039;&amp;av2=&#039;, sys[593], &#039;&amp;av3=&#039;, sys[594], &#039;&amp;av4=&#039;, ram[99], &#039;&amp;av5=&#039;, sys[596], &#039;&amp;av6=&#039;, sys[597], &#039;&amp;av7=&#039;, sys[598], &#039;&amp;av8=&#039;, sys[599], &#039;&amp;tt=&#039;, sys[459]);
   http_get(sys[66],sys[67],sys[68],sys[69],&#039;eportal.merenienergie.cz&#039;,&#039;/datas0.php?ver=1&amp;devid=&#039;, &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;, &#039;&amp;t0v1=&#039;, sys[493], &#039;&amp;t0v2=&#039;, sys[494], &#039;&amp;t0v3=&#039;, sys[495], &#039;&amp;t0v4=&#039;, sys[496], &#039;&amp;t0v5=&#039;, sys[497], &#039;&amp;t0v6=&#039;, sys[498], &#039;&amp;t0v7=&#039;, sys[499], &#039;&amp;t0v8=&#039;, sys[500], &#039;&amp;t1v1=&#039;, sys[526], &#039;&amp;t1v2=&#039;, sys[527], &#039;&amp;t1v3=&#039;, sys[528], &#039;&amp;t1v4=&#039;, sys[529], &#039;&amp;t1v5=&#039;, sys[530], &#039;&amp;t1v6=&#039;, sys[531], &#039;&amp;t1v7=&#039;, sys[532], &#039;&amp;t1v8=&#039;, sys[533], &#039;&amp;av1=&#039;, ram[95], &#039;&amp;av2=&#039;, ram[96], &#039;&amp;av3=&#039;, ram[97], &#039;&amp;av4=&#039;, ram[98], &#039;&amp;av5=&#039;, sys[596], &#039;&amp;av6=&#039;, sys[597], &#039;&amp;av7=&#039;, sys[598], &#039;&amp;av8=&#039;, sys[599], &#039;&amp;tt=&#039;, sys[459]);

   //nulovani 1/4 hod maxim
  ram[95] = 3600000;     // max odber ve 1/4hodine L1
  ram[96] = 3600000;     // max odber ve 1/4hodine L2
  ram[97] = 3600000;     // max odber ve 1/4hodine L3
  ram[98] = 3600000;

  }
  if (_portal_data==2) {
   http_get(sys[66],sys[67],sys[68],sys[69],&#039;eportal.merenienergie.cz&#039;,&#039;/datatemp.php?ver=1&amp;line=a&amp;devid=&#039;, &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;, &#039;&amp;t1=&#039;, sys[310], &#039;&amp;t2=&#039;, sys[311], &#039;&amp;t3=&#039;, sys[312], &#039;&amp;t4=&#039;, sys[313], &#039;&amp;t5=&#039;, sys[314], &#039;&amp;t6=&#039;, sys[315], &#039;&amp;t7=&#039;, sys[316], &#039;&amp;t8=&#039;, sys[317], &#039;&amp;t9=&#039;, sys[318], &#039;&amp;t10=&#039;, sys[319], &#039;&amp;t11=&#039;, sys[320], &#039;&amp;t12=&#039;, sys[321], &#039;&amp;t13=&#039;, sys[322], &#039;&amp;t14=&#039;, sys[323], &#039;&amp;t15=&#039;, sys[324], &#039;&amp;t16=&#039;, sys[325]);
  }
 } else {
  //nemam dns
  if (_portal_data==1) {
   http_get(77,93,211,207,&#039;eportal.merenienergie.cz&#039;,&#039;/datas0.php?ver=1&amp;devid=&#039;, &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;, &#039;&amp;t0v1=&#039;, sys[493], &#039;&amp;t0v2=&#039;, sys[494], &#039;&amp;t0v3=&#039;, sys[495], &#039;&amp;t0v4=&#039;, sys[496], &#039;&amp;t0v5=&#039;, sys[497], &#039;&amp;t0v6=&#039;, sys[498], &#039;&amp;t0v7=&#039;, sys[499], &#039;&amp;t0v8=&#039;, sys[500], &#039;&amp;t1v1=&#039;, sys[526], &#039;&amp;t1v2=&#039;, sys[527], &#039;&amp;t1v3=&#039;, sys[528], &#039;&amp;t1v4=&#039;, sys[529], &#039;&amp;t1v5=&#039;, sys[530], &#039;&amp;t1v6=&#039;, sys[531], &#039;&amp;t1v7=&#039;, sys[532], &#039;&amp;t1v8=&#039;, sys[533], &#039;&amp;av1=&#039;, sys[592], &#039;&amp;av2=&#039;, sys[593], &#039;&amp;av3=&#039;, sys[594], &#039;&amp;av4=&#039;, sys[595], &#039;&amp;av5=&#039;, sys[596], &#039;&amp;av6=&#039;, sys[597], &#039;&amp;av7=&#039;, sys[598], &#039;&amp;av8=&#039;, sys[599], &#039;&amp;tt=&#039;, sys[459]);
  }
  if (_portal_data==2) {
   http_get(77,93,211,207,&#039;eportal.merenienergie.cz&#039;,&#039;/datatemp.php?ver=1&amp;line=a&amp;devid=&#039;, &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;, &#039;&amp;t1=&#039;, sys[310], &#039;&amp;t2=&#039;, sys[311], &#039;&amp;t3=&#039;, sys[312], &#039;&amp;t4=&#039;, sys[313], &#039;&amp;t5=&#039;, sys[314], &#039;&amp;t6=&#039;, sys[315], &#039;&amp;t7=&#039;, sys[316], &#039;&amp;t8=&#039;, sys[317], &#039;&amp;t9=&#039;, sys[318], &#039;&amp;t10=&#039;, sys[319], &#039;&amp;t11=&#039;, sys[320], &#039;&amp;t12=&#039;, sys[321], &#039;&amp;t13=&#039;, sys[322], &#039;&amp;t14=&#039;, sys[323], &#039;&amp;t15=&#039;, sys[324], &#039;&amp;t16=&#039;, sys[325]);
  }
 }

 _portal_timeoutget=sys[3]+1500;   //15sekund pro potvrzeni ze serveru
 goto odesli_data_na_portal_end;

label odesli_data_na_portal_chyba:
 echo(&#039; Chyba komunikace s www serverem, http: &#039;, sys[75]);
 _portal_timeout=sys[3]+90000;    //interval
 _portal_data=0;                  //vynulovat
 _portal_timeoutget=0;            //vynulovat
 _portal_timeoutdns=0;            //vynulovat

label odesli_data_na_portal_end:
}

portal_nastav
{
 _portal_timeout=0;     //zrovna se odesilaji data
 _portal_timeoutget=0;  //vynulovat timeout predchozich get pozadavku
 _portal_timeoutdns=0;  //vynulovat timeout predchoziho dns resolveru
 _portal_dns=0;         //nemam dns
 _portal_data=1;
}

portal_dns
{
 if (_portal_timeoutdns==0) {
  echotime();
  echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; dns_resolv()&#039;);
  dns_resolv(&#039;eportal.merenienergie.cz&#039;);
  _portal_timeoutdns=sys[3]+1500;    //15sek timeout
 }
 if (sys[65] == 512) {
  echotime();
  echo (ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; dns_resolv() OK:&#039;, sys[65]);
  _portal_dns=1;
  return;
 }
 if (_portal_timeoutdns&lt;sys[3]) {
  echotime();
  echo (ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; dns_resolv() chyba:&#039;, sys[65]);
  _portal_dns=2;
 }
}
// *******  moje  procedury  **********

virtualni_elektromer_3f       // virtualni elmer  - pocita z 3x jednofazovy elektromer
{
 // pouzite promenne ram
 // ram[20]= celkovy  odber 3 faze /v kWh/
 // ram[21]= hodnota aktualniho odberu L1
 // ram[22]= hodnota aktualniho odberu L2
 // ram[23]= hodnota aktualniho odberu L3
 // ram[24] = aktualni odber ve vsech fazich
 // temp ram[31-33]
 // ram[99] = virtualni cas mezi pulsy /msec/
 
 
  ram[31] = sys[592];                  // vypocet casu elektromer L1
    if (sys[625] &gt; ram[31] &amp;&amp; ram[31] &gt; 100 ) {
        ram[31] = sys[625];
    }
  if (ram[31] &lt; 3600000){
  ram[21] = 3600000/ram[31];
  }
  else
  {
  ram[21] = 0 ;                         // mene nez 1 Watt
  }
  ram[32] = sys[593];                  // vypocet casu elektromer L2
    if (sys[626] &gt; ram[32] &amp;&amp; ram[32] &gt; 100) {
        ram[32] = sys[626];
    }
  if (ram[32] &lt; 3600000){
  ram[22] = 3600000/ram[32];
  }
  else
  {
  ram[22] = 0 ;                         // mene nez 1 Watt
  }
  
  ram[33] = sys[594];                  // vypocet casu elektromer L3
    if (sys[627] &gt; ram[33]&amp;&amp; ram[33] &gt; 100) {
        ram[33] = sys[627];
    }
  if (ram[33] &lt; 3600000){
  ram[23] = 3600000/ram[33];
  }
  else
  {
  ram[23] = 0 ;                         // mene nez 1 Watt
  }
  
  // --- ochrana aktualniho vykonu pred velkou hodnotou (&gt;10kW)
  if (ram[21] &gt; 10000){
  ram[21] = 1;
  }
  if (ram[22] &gt; 10000){
  ram[22] = 1;
  }
  if (ram[23] &gt; 10000){
  ram[23] = 1;
  }
  
 // vysledne hodnoty
  
 sys[496]= (sys[493]+sys[494]+sys[495]);       // zapis hodnoty z elmeru do 4.vstupu S0
 ram[20] = (sys[493]+sys[494]+sys[495]) /1000; // celkovy stav elmeru - jen cele kWh
 ram[24] = ram[21] + ram[22] + ram[23];        // celkovy odber ve 3 fazich (/10)

  if (ram[24] &gt; 1)
  {
    ram[99] = 3600000 / ram[24];                // vypocet casu pulsu virtualniho elmeru
  }
  else
  {
    ram[99] = 3600000;    //1 Watt
  }
 }
// ****************************************************************
spotreba_hodiny           // pocita a uklada vzorky kazdou hodinu
{
// pouzite promenne ram
// ram[29] = hodnota 3faz za posledn9 hodinu
// ram[30] = hodnota 3faz za poslednich 24 hod
// temp  ram[50-73]

  
  // rotace hodnot pro vypocet spotreby 3f za poslednich  24hod
  // aktualizovano kazdou hodinu
  
  //ram[74] = ram[73];                   // 24 hod
  ram[73] = ram[72];
  ram[72] = ram[71];
  ram[71] = ram[70];
  ram[70] = ram[69];
  ram[69] = ram[68];
  ram[68] = ram[67];
  ram[67] = ram[66];
  ram[66] = ram[65];
  ram[65] = ram[64];
  ram[64] = ram[63];
  ram[63] = ram[62];
  ram[62] = ram[61];
  ram[61] = ram[60];
  ram[60] = ram[59];
  ram[59] = ram[58];
  ram[58] = ram[57];
  ram[57] = ram[56];
  ram[56] = ram[55];
  ram[55] = ram[54];
  ram[54] = ram[53];
  ram[53] = ram[52];
  ram[52] = ram[51];
  ram[51] = ram[50];
  ram[50] = sys[493]+sys[494]+sys[495];          //aktualni stav
 
  // ----- vypocet hodnoty spotreby za 24 hod-----
   if (ram[50] &gt; ram[73]){
     ram[30] = ram[50] - ram[73];
   }
    else
    {
    ram[30] = 0;   // pokud je nesmyslna hodnota nebo neni naplneno
    }
    //---vypocet spotreby 3f za posledni hodinu-----------------------
    //if (ram[50] &gt; ram[51]){
    //   ram[29] = ram[50] - ram[51];
    //}
    //else
    //{
    //    ram[29] =0;  // pokud je nesmyslna hodnota nebo neni naplneno
    //}
    // takhle by to stacilo - bude to jemnejsi ve 1/4hod intervalu
    // musi byt v 1/4hod 
    //ram[29] =   ram[26] + ram[27]+ ram[28];
//--------------

 echotime();                        // zapis cas
 echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; spotreba  24h: &#039;,ram[30],&#039; [Wh]&#039;,);
}
 //------------------------------------------------------------------------------
spotreba_minuty {          // uklada a pocita vzorky kazdou 1/4 hodinu
  // pouzite promenne ram
  // ram[26] = hodnota L1 za posledni hodinu
  // ram[27] = hodnota L2 za posledni hodinu
  // ram[28] = hodnota L3 za posledni hodinu
  // ram[29] = hodnota 3f za posledni hodinu
  // ram[80-83]   buffer posledni 1/4 hodiny  L1
  // ram[85-88]   buffer posledni 1/4 hodiny  L2
  // ram[90-93]   buffer posledni 1/4 hodiny  L3
  
 //nacteni hodnoty elmer L1 
 ram[83] = ram[82];        // posunu hodnotu - 4 x 1/4hod
 ram[82] = ram[81];
 ram[81] = ram[80];
 ram[80] = sys[493];       // ulozeni jako aktualni hodnota
 
 if (ram[80] &gt; ram[83]) {
    ram[26] = ram[80] - ram[83];
    }
 else
 {
 ram[26] =0;   // pokud je nesmyslna hodnota nebo neni naplneno
 }
 //nacteni hodnoty elmer L2 
 ram[88] = ram[87];        // posunu hodnotu - 4 x 1/4hod
 ram[87] = ram[86];
 ram[86] = ram[85];
 ram[85] = sys[494];       // ulozeni jako aktualni hodnota
 
 if (ram[85] &gt; ram[88]) {
    ram[27] = ram[85] - ram[88];
    }
 else
 {
 ram[27] =0;   // pokud je nesmyslna hodnota nebo neni naplneno
 }
 //nacteni hodnoty elmer L3 
 ram[93] = ram[92];        // posunu hodnotu - 4 x 1/4hod
 ram[92] = ram[91];
 ram[91] = ram[90];
 ram[90] = sys[495];       // ulozeni jako aktualni hodnota
 
 if (ram[90] &gt; ram[93]) {
    ram[28] = ram[90] - ram[93];
    }
 else
 {
 ram[28] =0;   // pokud je nesmyslna hodnota nebo neni naplneno

 } 
    // 3-Fazovy  elektromer hodnota za posledni  hodinu
    ram[29] =   ram[26] + ram[27]+ ram[28]; 
 //-------------------------------------------

 echotime();                        // zapis cas
 echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; L1:&#039;,ram[26],&#039; L2:&#039;,ram[27],&#039; L3:&#039;,ram[28],&#039; 3f:&#039;,ram[29],&#039; [Wh].1/4 hod&#039;);
 echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; L1max:&#039;,ram[17],&#039; L2max:&#039;,ram[18],&#039; L3max:&#039;,ram[19],&#039; 3fmax:&#039;,ram[16]);
}
//*******B o j l e r ****************

bojler {
// vypocitava ze 2 teplot dostupnou vodu v bojleru
// vystup je v ram[15] - litry vody
// temp je     ram[9]
// vstupy v sys[320]-dolni cidlo
//          sys[321]-horni cidlo


//vypocet prumeru
     ram[9]= sys[321] + sys[320];
     ram[9] = ram[9] / 200;
        

       // prumer je vic nez 40st
       if (ram[9] &gt; 40){
           //ram[15] = ram[9] * 4;     //vysledek
           ram[15] = 100;
       }
       //prumer je mene nez 40st,ale horni je vice nez 40st
        if (ram[9] &lt; 40){
           if(sys[321] &gt; 4000){
                //ram[15] = (ram[9] * 4)/3;     //vysledek
                ram[15] = (ram[9] - 30)*10;
            }
       }
       
       if (ram[9] &lt; 30){
          ram[15] = 1;  // je malo teploty
       }
       // horni teplota je mene nez 40st
       if(sys[321] &lt; 4000){
        ram[15] = 0;
       }
       //prekroceni rozsahu,porucha cidla apod..
       if(sys[320] &gt; 10000){
        ram[15] = 999;      //priznak poruchy
       }
       if(sys[321] &gt; 10000){
        ram[15] = 999;
       }
     //ram[15] = sys[321] / 100;   //pro debug
     
}

// *******  startovaci procedury  **********
init
{
 echotime();
 echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; Start programu&#039;);

 sys[77]=0;  //http_get odpovet nechci do ram[]
 sys[78]=0;  //http_get odpovet nechci do ram[]
 _portal_timeout=1;     //odeslat data ihned

 // *******  uzivatelsky nastavitelne promenne  ***********


 
 // -------  init   -------
 // nastavi aktualni stav,aby po startu byla shoda
 
  thishour= 0;             // pocitadlo hodin reset
  thismin = 0;             // pocitadlo  1/4 hodin

  
  ram[50] = sys[493]+sys[494]+sys[495];         // posledni hod a 24 hod 3f celkovy elmer
  sys[496] = sys[493]+sys[494]+sys[495];        //zapis do pocitadla 4. vstupu S0
  //ram[74] = ram[50];
  ram[73] = ram[50];
  ram[72] = ram[50];
  ram[71] = ram[50];
  ram[70] = ram[50];
  ram[69] = ram[50];
  ram[68] = ram[50];
  ram[67] = ram[50];
  ram[66] = ram[50];
  ram[65] = ram[50];
  ram[64] = ram[50];
  ram[63] = ram[50];
  ram[62] = ram[50];
  ram[61] = ram[50];
  ram[60] = ram[50];
  ram[59] = ram[50];
  ram[58] = ram[50];
  ram[57] = ram[50];
  ram[56] = ram[50];
  ram[55] = ram[50];
  ram[54] = ram[50];
  ram[53] = ram[50];
  ram[52] = ram[50];
  ram[51] = ram[50];

  spotreba_hodiny();
  
  //-- 1/4 hod ------
  ram[80] = sys[493];
  ram[81] = ram[80];
  ram[82] = ram[80];
  ram[83] = ram[80];
  
  ram[85] = sys[494];
  ram[86] = ram[85];
  ram[87] = ram[85];
  ram[88] = ram[85];
  
  ram[90] = sys[495];
  ram[91] = ram[90];
  ram[92] = ram[90];
  ram[93] = ram[90];
  
  spotreba_minuty();
  
  ram[99] = 3600000;    //1 Watt
  
  ram[16] = 0;      //max hodnota 3f
  ram[17] = 0;     // max hodnota L1
  ram[18] = 0;     // max hodnota L2
  ram[19] = 0;     // max hodnota L3
  
  ram[95] = 3600000;     // max odber ve 1/4hodine L1
  ram[96] = 3600000;     // max odber ve 1/4hodine L2
  ram[97] = 3600000;     // max odber ve 1/4hodine L3
  ram[98] = 3600000;     // max odber ve 1/4hodine 3f
  
  ram[13] = 50;   // min teplota
  ram[14] = -25;  //max teplota
}
//------------------------------------------------------------------------------------------
main
{
 //odeslani dat na portal v nastaveny interval ---------------------
 if (_portal_timeout&gt;0 &amp;&amp; _portal_timeout&lt;sys[3]) portal_nastav();
 if (_portal_dns==0) portal_dns();
 if (_portal_dns!=0 &amp;&amp; _portal_data&gt;0) odesli_data_na_portal();

 // -------  volani vlastnich procedur sem  -------
 
 
  bojler();   // vypocet mnozstvi vody v bojleru (a 40st C)
 
  
  virtualni_elektromer_3f();  // vypocet virtualniho 3f elektromeru,
 
  wait(1500);
  
 if (sys[9]==0 &amp;&amp; thishour!=sys[8]){  // v kazde hodine v nulte minute sejme vzorek spotreby
    spotreba_hodiny();
    thishour = sys[8];
 }
 
 if (sys[9]==0 ||sys[9]==15 || sys[9]==30 ||sys[9]==45 ){  // v kazde ctvrthodine sejme vzorek spotreby
   
    if(thismin!=sys[9]){
       spotreba_minuty();   //kazdou 1/4 hodinu ulozi vzorek
        thismin = sys[9];
    } 
 }
 // test na nejvyssi hodnotu odberu L1
 if (ram[21] &gt; ram[17] ){
    ram[17] = ram[21];
 }
  // test na nejvyssi hodnotu odberu L2
 if (ram[22] &gt; ram[18] ){
    ram[18] = ram[22];
 } 
 // test na nejvyssi hodnotu odberu L3
 if (ram[23] &gt; ram[19] ){
    ram[19] = ram[23];
 }
 // test na nejvyssi hodnotu odberu 3faz
 if (ram[24] &gt; ram[16] ){
    ram[16] = ram[24];
 }
 // nejvyssi odber ve 1/4 hod -  nejnizsi hodnota casu mezi pulsy
 // posila se misto AktualnihoVykonu na portal
 
    if (sys[592] &lt; ram[95] &amp;&amp; sys[592] &gt; 1){
       ram[95] = sys[592];       // L1
    }
    if (sys[593] &lt; ram[96] &amp;&amp; sys[593] &gt; 1){
       ram[96] = sys[593];       // L2
    }
    if (sys[594] &lt; ram[97] &amp;&amp; sys[594] &gt; 1){
       ram[97] = sys[594];       // L3
    }
    if (ram[99] &lt; ram[98] &amp;&amp; ram[99] &gt; 1){
       ram[98] = ram[99];       // 3faz
    }
    
    // zjistovani min a max teploty venkovni
    // venkovni = sys[310]
    if (sys[310]/100 &gt; ram[14] &amp;&amp; sys[310]/100 &lt; 80){
       ram[14] = sys[310]/100;
     }
    if (sys[310]/100 &lt; ram[13] &amp;&amp; sys[310]/100 &lt; 80){
       ram[13] = sys[310]/100;
    }
   // reset min a max teplot
   if (sys[149] == 2 ){
   ram[13] = 50;   // min teplota
   ram[14] = -25;  //max teplota
   sys[149] = 0;
   }
    
 // RESET HODNOT MAX VYKONU
 if (sys[149] == 1 ){
    ram[16] = 1;
    ram[17] = 1;
    ram[18] = 1;
    ram[19] = 1;
    sys[149] = 0;
    echotime();   // vypis na konzoli
    echo(ram[0],ram[1]&#039;:&#039;,ram[2],ram[3]&#039;:&#039;,ram[4], ram[5], &#039; reset max hodnot&#039;);
 }
 
} //-------------------- main end ----------------------------------------------------------------</code></pre></div><p>HTML stranka (user.html)&nbsp; nejak takto:</p><div class="codebox"><pre><code>&lt;!DOCTYPE html &gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;

 &lt;head&gt;
  &lt;TITLE&gt;SDS-MICROWEB&lt;/TITLE&gt;
  &lt;META content=&quot;text/html; charset=windows-1250&quot; http-equiv=Content-Type&gt;
  &lt;META content=&quot;honza&quot; name=author&gt;
  &lt;META HTTP-EQUIV=&quot;CACHE-CONTROL&quot; CONTENT=&quot;NO-CACHE&quot;&gt;
  &lt;META HTTP-EQUIV=&quot;EXPIRES&quot; CONTENT=&quot;0&quot;&gt;
  &lt;STYLE title=currentStyle type=text/css media=screen&gt;
   body {
    font-family:arial ,verdana, sans-serif;
    font-size:22px;
    word-wrap:break-word;
    background:#000;
    max-width: 900px;
    min-width: 800px; 
    margin: 0px auto;
    }


   .content {padding:10px;}

   h1 {font-size:30px; margin:0; padding:10px; color:#fff;}
   h2 {font-size:18px; margin:0; padding:10px; color:#ddd;}
   h3 {font-size:12px; margin:0; padding:10px;}


   label {
    clear:left; display:block; float:left;
    width:125px; text-align:left; padding-right:5px; color:#ff0;
    margin: 2px 0px 5px 0px; line-height:1.1em; font-style:normal;
    xbackground:#aa0;
   }
   .dataM {
    xclear:left; xdisplay:block; float:right;
    width:110px; text-align:right; color:black;
    xline-height:0.5em; font-style:normal;
    xbackground:#aaa; margin: -2px 0px 5px 0px;
   }
   .data {
    xclear:left; xdisplay:block; float:right;
    width:110px; text-align:right; color:black;
    xline-height:1.1em; font-style:normal;
    xbackground:#aaa; margin: -2px 0px 1px 0px;
   }
    .data2 {
    xclear:left; xdisplay:block; float:right;
    width:125px; text-align:right; color:white;
    xline-height:1.1em; font-style:normal;
    xbackground:grey; margin: -2px 0px 5px 0px;
    background:grey;
   }
   .dataB {
    xclear:left; xdisplay:block; float:right;
    width:160px; text-align:right; color:black;
    xline-height:2em; font-style:bold;font-size:38px;
    xbackground:grey; margin: -2px 0px 5px 0px;
    
   }
   
  &lt;/STYLE&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-spacing:0;margin: 0px auto;table-layout: fixed;}
.tg td{font-family:Arial, sans-serif;font-size:24px;padding:6px 3px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:20px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:3px;overflow:hidden;word-break:normal;}
&lt;/style&gt;
 

  
 &lt;script type=&quot;text/javascript&quot;&gt;
  var t;
  var req=false;
  var reqTemp =null;
  var boolNames =true;
  var timeout = 2000
  
  
  function reqComplete(){
   if(req.readyState == 4){
    if(req.status == 200){
     var rE=req.responseText.split(&quot;|&quot;);
     document.getElementById(&quot;AD0&quot;).innerHTML=rE[11];
     document.getElementById(&quot;AD1&quot;).innerHTML=rE[12];
      if(rE[10]==&#039;bez senzorů&#039;){
      document.getElementById(&quot;pocetcidel&quot;).innerHTML=rE[10];
      
     } else {
      var rACU=rE[10].split(&quot; &quot;);
      document.getElementById(&quot;pocetcidel&quot;).innerHTML=((rACU.length-1)/2)+&quot; &amp;nbsp;(16)&quot;;
     }

     var xx;
     xx=((5*(59 - 30*((3/1024)*rE[9])))/2);
     xx=xx.toFixed(1);
     document.getElementById(&quot;SoC&quot;).innerHTML=xx+&quot; &amp;deg;C&quot;;
    }
   }
  }

   
      function fceCidla(){
       if(reqTemp.readyState == 4 &amp;&amp; reqTemp.status == 200){
           if(reqTemp.responseText != &#039;&#039;){
             var cidlaTeploty = reqTemp.responseText.split(&quot;|&quot;);
             for(i = 1; i &lt;= cidlaTeploty.length; i++){
                 objTemp = document.getElementById(&#039;temp&#039; + i);
                 pom = cidlaTeploty[i-1] / 100;
                    if(pom &gt; 200){
                    objTemp.innerHTML = &#039;-&#039;;
                    pom=0;
                    }else{
                      //objTemp.innerHTML = pom.toFixed(2) + &quot; °C&quot;;
                      objTemp.innerHTML = pom.toFixed(1) + &quot; °C&quot;;
                    }
                   }
              }
          }
        }

  var reqE=false;
  function reqCompleteE(){
   if(reqE.readyState == 4){
    if(reqE.status == 200){
     var rE=reqE.responseText.split(&quot;|&quot;);
     document.getElementById(&quot;vykon&quot;).innerHTML=rE[8];
     document.getElementById(&quot;vykon2&quot;).innerHTML=rE[15];
     document.getElementById(&quot;vykon3&quot;).innerHTML=rE[22];

    }
   }
  }
  var reqE2=false;
  function reqCompleteE2(){
      if(reqE2.readyState == 4 &amp;&amp; reqE2.status == 200){
         
             var rE2 = reqE2.responseText.split(&quot;|&quot;);
              document.getElementById(&quot;tmin&quot;).innerHTML=rE2[3] ;
              document.getElementById(&quot;tmax&quot;).innerHTML=rE2[4] ;
              document.getElementById(&quot;bojlitr&quot;).innerHTML=rE2[5] +&quot; %&quot;;
              document.getElementById(&quot;maxL1&quot;).innerHTML=rE2[7] +&quot; W&quot;;
              document.getElementById(&quot;maxL2&quot;).innerHTML=rE2[8] +&quot; W&quot;;
              document.getElementById(&quot;maxL3&quot;).innerHTML=rE2[9] +&quot; W&quot;;
              document.getElementById(&quot;max3f&quot;).innerHTML=rE2[6] +&quot; W&quot;;
             
              document.getElementById(&quot;suma2&quot;).innerHTML=rE2[14]/1000 +&quot; kW&quot;;
              document.getElementById(&quot;hodL1&quot;).innerHTML=rE2[16] +&quot; Wh&quot;;
              document.getElementById(&quot;hodL2&quot;).innerHTML=rE2[17] +&quot; Wh&quot;;
              document.getElementById(&quot;hodL3&quot;).innerHTML=rE2[18] +&quot; Wh&quot;;
              document.getElementById(&quot;hodLV&quot;).innerHTML=rE2[19] +&quot; Wh&quot;;
              document.getElementById(&quot;hod24&quot;).innerHTML=rE2[20] +&quot; Wh&quot;;
      }
  }
 
  function sdsps(){
   req=false;
   regE=false;
   reqE2=false;
   reqTemp=false;
  
   
   if(window.XMLHttpRequest){
    reqTemp = new XMLHttpRequest();
    req=new XMLHttpRequest();
    reqE=new XMLHttpRequest();
    reqE2=new XMLHttpRequest();
   }
   else if (window.ActiveXObject){
    reqTemp = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
    req=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
    reqE=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
    reqE2=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
   }
   if (req){
    req.open(&quot;GET&quot;, &quot;cgi_dys?rand=&quot;+Math.random(), true);
    req.onreadystatechange = reqComplete;
    req.send(null);
   }
   if (reqE){
    reqE.open(&quot;GET&quot;, &quot;cgi_dyeA?rand=&quot;+Math.random(), true);
    reqE.onreadystatechange = reqCompleteE;
    reqE.send(null);
   }
   if(reqE2){
     reqE2.open(&quot;GET&quot;, &quot;get_ram[10]?rn=21&amp;rand=&quot;+Math.random(), true)
     reqE2.onreadystatechange = reqCompleteE2;
     reqE2.send(null);
    }
    
    if(reqTemp){
     reqTemp.open(&quot;GET&quot;, &quot;get_sys[310]?rn=16&amp;rand=&quot;+Math.random(), true);
     reqTemp.onreadystatechange = fceCidla;
     reqTemp.send(null);
    }
   t=setTimeout(&quot;sdsps()&quot;,timeout);
  };


  

 
  &lt;/script&gt;
  &lt;script language=&quot;JavaScript&quot;&gt;
   &lt;!--
    function DispStb(msgStr) {
     status=msgStr;
     document.RetVal=true;
    }
   //--&gt;
  &lt;/script&gt;
 &lt;/head&gt;

&lt;body onLoad=&quot;sdsps();&quot;&gt;


&lt;div&gt;
 










&lt;table   class=&quot;tg&quot;&gt;
  &lt;tr&gt;  &lt;!-- toto je prvni bunka venkovni teplota--&gt;
    &lt;td  bgcolor = LimeGreen ; valign=&quot;top&quot; ; rowspan=&quot;2&quot;&gt;
     &lt;table &gt;
        &lt;tr&gt;&lt;td  width = 20&gt;  &lt;td rowspan=2 ; valign = &quot;top&quot;&gt; &lt;label  class=dataB id=&quot;temp1&quot;&gt;-0.0°C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; 
        &lt;tr&gt;&lt;td colspan = 2&gt;&amp;nbsp&amp;nbsp&amp;nbspvenkovní&amp;nbspteplota&amp;nbsp
      &lt;/table&gt;
     
      &lt;table  title=&quot;min a max teplota&quot; ; style=&quot;color: DimGray&quot; &gt;
        &lt;tr&gt;&lt;td  style =&quot;font-size:18px&quot;&gt;min: &lt;td width = 40&gt;&lt;div style =&quot;font-size:18px&quot; id=&quot;tmin&quot;  &lt;/div&gt; &lt;td style =&quot;font-size:18px&quot;&gt;&amp;nbsp max:&lt;td width = 40&gt;&lt;div style =&quot;font-size:18px&quot; id=&quot;tmax&quot; &lt;/div&gt;
      &lt;/table&gt;
      &lt;hr&gt;
    &lt;/td&gt;
    &lt;!-- toto je druha bunka  vsechny hlavni mistnosti--&gt;
    &lt;td bgcolor = Silver ; width = 300  ; valign=&quot;top&quot; ; rowspan=&quot;3&quot;&gt;
      &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110&gt; obyvák&lt;td&gt;&lt;label class=data id=&quot;temp6&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; jídelna&lt;td&gt;&lt;label class=data id=&quot;temp3&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; 
        &lt;tr&gt;&lt;td&gt; honzík&lt;td&gt;&lt;label class=data id=&quot;temp7&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; tánička&lt;td&gt;&lt;label class=data id=&quot;temp4&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; ložnice&lt;td&gt;&lt;label class=data id=&quot;temp5&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; 
        &lt;tr&gt;&lt;td&gt;půda_izo &lt;td&gt;&lt;label class=data id=&quot;temp8&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; router&lt;td&gt;&lt;label class=data id=&quot;temp2&quot;&gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; základy&lt;td&gt;&lt;label class=data id=&quot;temp9&quot; &gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; 
        &lt;tr&gt;&lt;td&gt; 
        &lt;tr&gt;&lt;td &gt;topení&lt;td&gt;&lt;label class=data id=&quot;temp10&quot; &gt;0.00 °C&lt;/label&gt;
      &lt;/table&gt;
    &lt;/td&gt;
    &lt;!-- toto je treti bunka  prikon celkovy --&gt;
    &lt;td bgcolor = DeepSkyBlue ; width = 300 ; valign=&quot;top&quot; ; rowspan=&quot;2&quot;&gt;
    &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110&gt; příkon&amp;nbsp&amp;nbsp&lt;td&gt; &lt;label class=data2 id=&quot;suma2&quot;&gt;0.000 kW&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; max  &lt;td&gt;&lt;label class=data id=&quot;max3f&quot;&gt;0000 W&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; hod &lt;td&gt;&lt;label class=data id=&quot;hodLV&quot;&gt;0000 Wh&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; 24hod &lt;td nowrap&gt;&lt;label class=data id=&quot;hod24&quot;&gt;00000 Wh&lt;/label&gt;
    &lt;/table&gt;
    &lt;/td&gt;
    &lt;!-- toto je ctvrta bunka prikon L1 --&gt;
    &lt;td bgcolor = DeepSkyBlue ; width = 350;&gt;
    &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110 &gt; příkon&amp;nbspL1 &lt;td&gt;&lt;label class=data2 id=&quot;vykon&quot;&gt;0.000 kW&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; max&lt;td&gt;&lt;label class=data id=&quot;maxL1&quot;&gt;0000 W&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; hod &lt;td&gt;&lt;label class=data id=&quot;hodL1&quot;&gt;0000 Wh&lt;/label&gt;
    &lt;/table&gt;
    &lt;/td&gt;
  &lt;/tr&gt; &lt;!-- toto je konec prvni rady bunek --&gt;

  &lt;tr&gt; &lt;!-- toto je prava stredni bunka  prikon L2--&gt;
    &lt;td bgcolor = DeepSkyBlue ; width = 300 ; valign=&quot;middle&quot;&gt;
      &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110&gt; příkon&amp;nbspL2 &lt;td&gt;&lt;label class=data2 id=&quot;vykon2&quot;&gt;0.000 kW&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; max&lt;td&gt;&lt;label class=data id=&quot;maxL2&quot;&gt;0000 W&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; hod &lt;td&gt;&lt;label class=data id=&quot;hodL2&quot;&gt;0.000 Wh&lt;/label&gt;
      &lt;/table&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;  &lt;!-- toto je leva spodni bunka  info --&gt;
    &lt;td bgcolor = SteelBlue ; title =&quot;SDS info&quot; ; width = 300 &gt;
      &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110 ; style =&quot;font-size:18px&quot; &gt;napájeni&lt;td&gt;&lt;label class=data style =&quot;font-size:18px&quot; id=&quot;AD0&quot;&gt;0.000 V&lt;/label&gt;
        &lt;tr&gt;&lt;td style =&quot;font-size:18px&quot;&gt;1-wire  &lt;td&gt;&lt;label class=data style =&quot;font-size:18px&quot; id=&quot;AD1&quot;&gt;0.000 V&lt;/label&gt;
        &lt;tr&gt;&lt;td style =&quot;font-size:18px&quot;&gt;čidla  &lt;td&gt;&lt;label class=data style =&quot;font-size:18px&quot; id=&quot;pocetcidel&quot;&gt;0 (max16)&lt;/label&gt;
        &lt;tr&gt;&lt;td style =&quot;font-size:18px&quot;&gt;tempSDS  &lt;td&gt;&lt;label class=data style =&quot;font-size:18px&quot; id=&quot;SoC&quot;&gt;0.00 °C&lt;/label&gt;  
      &lt;/table&gt;
    &lt;/td&gt; 
    &lt;!-- toto je 3 spodni bunka  topeni-bojler--&gt;
    &lt;td bgcolor = DodgerBlue ; width = 300 ; valign=&quot;bottom&quot; &gt;
    &lt;table &gt;
        &lt;tr&gt;&lt;td&gt;bojler&amp;nbsp&lt;td&gt;&lt;label class=data id=&quot;temp12&quot; &gt;0.00 °C&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; &lt;td&gt;&lt;label class=data style =&quot;font-size:18px&quot; id=&quot;temp11&quot; &gt;0.00 °C&lt;/label&gt;   
        &lt;tr&gt;&lt;td&gt;TUV&lt;td&gt;&lt;label class=data id=&quot;bojlitr&quot; &gt;100 %&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt;
    &lt;/table&gt;
    &lt;/td&gt;
    &lt;!-- toto je 4 spodni bunka  prikon L3--&gt;
    &lt;td bgcolor = DeepSkyBlue ; width = 300 ; valign=&quot;bottom&quot; &gt;
      &lt;table &gt;
        &lt;tr&gt;&lt;td width = 110&gt; příkon&amp;nbspL3 &lt;td&gt;&lt;label class=data2 id=&quot;vykon3&quot;&gt;0.000 kW&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; max&lt;td&gt;&lt;label class=data id=&quot;maxL3&quot;&gt;0000 W&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt; hod &lt;td&gt;&lt;label class=data id=&quot;hodL3&quot;&gt;0000 Wh&lt;/label&gt;
        &lt;tr&gt;&lt;td&gt;
      &lt;/table&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;



  
&lt;/div&gt; 




&lt;/body&gt;

&lt;/html&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[honzaM]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11648</uri>
			</author>
			<updated>2016-12-19T17:41:39Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5870#p5870</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5568#p5568" />
			<content type="html"><![CDATA[<p>Aktualizace leden 2016:</p><p>- doplneno dalsi cidlo na topnou vodu<br />- upraveno pocitani max vykonu na user strance (asi chyba v sds) - je treba pocitat ze se cas mezi pulsy muze = 0&nbsp; &nbsp;<img src="https://forum.sds.an-d.cz/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>- upraveno posilani na Eportal - misto Aktualniho vykonu je posilan max prikon v danem casovem intervalu (1/4 hod)</p><br /><br /><p>PS. po dvou mesicich mam konecne reseni obycejneho mereni spotreby, coz jsem si na zacatku myslel ze si kupuji &quot;hotove&quot; reseni......</p>]]></content>
			<author>
				<name><![CDATA[honzaM]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11648</uri>
			</author>
			<updated>2016-01-17T14:34:25Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5568#p5568</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[malé měření elektro]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5494#p5494" />
			<content type="html"><![CDATA[<p>Ahoj, asi to neni pripad k chlubeni ,ale protože jsem vetsinu kodu pochytil (a nektere i pochopil ) tady na foru rád bych přidal mé měřeni elektriky&nbsp; doma pomocí SDS Mikro E.</p><p>základem jsou 3 jednofázove elektroměry měřící jednotlivé fáze L1-L3. Celkový odběr řeším pomocí virtuálního elektroměru,který počítám v SDS-C . Pro tuto features jsem použil zápis do proměnné&nbsp; 4. S0 měřidla (proto abych to viděl na stránce ve vnitřním webu) a nezavislý vypočet virtualního času mezi pulsy ,který posilam na e-portal , kde se to tvaří jako další elektroměr...(v odesílaní jsem vyměnil sys[59x] za svou ramxx)</p><p>Pro &quot;domácí&quot; kontrolu jsem stvořil jednoduchou user.html&nbsp; ,kde vidim hlavní udaje z elektroměru posilené o spočítané hodnoty odběru za poslední hodinu a posledních 24 hod.Stránku jsem optimalizoval pro zobrazeni na telefonu s 480x800px (samozřejme je to mirně upravená demo stránka....)</p><p><span class="postimg"><img src="http://honza-seznam.sweb.cz/fotky/user.jpg" alt="userhtml" /></span></p><br /><p>pro doplnění informací a protože jsem již doma měl fungující 1-wire sít s DS18B20 (původně celé na jednočipu x51) jsem připojil i teploměry v nedoporučeníhodné topologii &quot;hvězdice&quot;.(10 čidel&nbsp; od 2m do 25m) vše na FTP cat 5e&nbsp; spojené na svorkovnici u SDS.</p><br /><p>pridal bych i kod v SDS a user.html ,ale nejak se mi nedaří to sem umistit.. (asi to chce nejake zaklinadlo...)</p><br /><br /><p>Honza</p>]]></content>
			<author>
				<name><![CDATA[honzaM]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11648</uri>
			</author>
			<updated>2015-11-26T12:25:06Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5494#p5494</id>
		</entry>
</feed>
