Toto je starší verze dokumentu!
Obsah
OpenFVELog
Pokud chcete zasílat data z vaší FVE na server MyPower.CZ, ozvěte se prosím na fóru, dohodneme detaily, měřené veličiny, zabezpečení přenosu dat, atd.
OpenFVELog/GET
OpenFVELog/GET je protokol využívající jednoduchý HTTP dotaz pro zaslání měřených dat z FVE.
Příklad HTTP dotazu na server:
http://log.mypower.cz/?unix=1320171659&u_in=0.04&i_in=0&u_bat=25.72&u_tgt=0&p_bat=0&e_dly=3120
- unix - unixtimestamp - čas měření
- u_in, i_in, u_bat, u_tgt, p_bat, e_dly - měřené veličiny FVE systému - mohou být odlišné pro různé FVE.
OpenFVELog/XML
OpenFVELog/XML je jednoduchý protokol využívající HTTP pro přenos měřených dat z FVE ve formátu XML. XML data jsou serializována pomocí PHP funkce serialize, komprimována pomocí gzcompress, výsledná binární data jsou kódována pomocí base64_encode a odeslána metodou POST na server jako formulářové pole HTML formuláře s názvem „data“. V zaslaných datech se může vyskytovat i pole „src“, které obsahuje dohodnutý název FVE z důvodů odlišení jednotlivých FVE, jejichž měření přichází ze stejné IP adresy.
$data=base64_encode(gzcompress(serialize($xmldata)))
Ze serveru se vrátí krátká zpráva obsahující výsledek HTTP dotazu. Na tomto jednoduchém komunikačním protokolu je realizováno například měření FVE Maršov na úvodní straně webu MyPower.CZ. Data jsou na serveru archivována v MySQL databázi pro generování různých statistických výstupů a monitoringu FVE.
Odeslání dat na server
- Method: POST
- Form variable name: data - data z měření
- Form variable name: src - dohodnutý název FVE
Příklad zasílaných dat ($xmldata)
<!-- File Name: fve_solar.xml --> <data> <time> <unix>1315685222</unix> <formated>2011-09-10 22:07:02</formated> </time> <values> <u_in>0.00</u_in> <i_in>0.00</i_in> <u_bat>11.90</u_bat> <i_bat>-3.65</i_bat> <almf>14</almf> <bat_temp>16</bat_temp> <fv_temp>12.6</fv_temp> <solar>0.0</solar> <twilight_switch>1</twilight_switch> </values> </data>
Data zasílaná mezi tagy <values> a </values> se mohou lišit podle způsobu měření dané FVE a měřených veličin.
Jiný příklad:
<!-- File Name: fve_solar.xml --> <data> <time> <unix>1315685222</unix> <formated>2011-09-10 22:07:02</formated> </time> <values> <fv1>0.00</fv1> <fv2>0.00</fv2> <bat1>12.663</bat1> <bat2>12.275</bat2> </values> </data>
Návratové hodnoty
- OK - ok
- 901 Bad server - patrně odesláno jinam než na log.mypower.cz, například x.log.mypower.cz
- 902 Bad IP - neregistrovaná IP - data byly zaslány z jiné než povolené IP
- 903 Data form field not found - nenalezena proměnná v POST datech s názvem „data“
- 904 Unknown data - data se nepodařilo dekodovat
- 905 XML parse error - chyba pri parsovani XML - problem s formatem XML dat
- 906 Cannot get FVE name - nelze zjistit nazev FVE dle IP
- 907 Values not found - nenalezeno pole „values“
- 908 Cannot get time from XML - round($xmldata[„time“][„unix“]) == 0
- 909 SQL error - Chyba při zápisu do databáze
- 910 FVE name not known - neznámý název FVE (u systémů které posílají i název FVE)
Changelog
v.0.1 - vytvoreno a vyuzito pro prenos dat z FVE Maršov
v.0.2 - 3.11.2011 - pridan parametr src a protokol rozdelen na /GET a /XML variantu.