Schnittstelle der openDTU (JSON)
{"inverters":[{"serial":"114181811894","name":"Balkonkraftwerk","data_age":36,"reachable":true,"producing":true,"limit_relative":100,"limit_absolute":800,"AC":{"0":{"Power":{"v":67.80000305,"u":"W","d":1},"Voltage":{"v":226.1000061,"u":"V","d":1},"Current":{"v":0.300000012,"u":"A","d":2},"Power DC":{"v":71.19999695,"u":"W","d":1},"YieldDay":{"v":58,"u":"Wh","d":0},"YieldTotal":{"v":37.31099701,"u":"kWh","d":3},"Frequency":{"v":50.00999832,"u":"Hz","d":2},"PowerFactor":{"v":1,"u":"","d":3},"ReactivePower":{"v":0,"u":"var","d":1},"Efficiency":{"v":95.22472382,"u":"%","d":3}}},"DC":{"0":{"name":{"u":"Modul_Rechts"},"Power":{"v":48.40000153,"u":"W","d":1},"Voltage":{"v":34,"u":"V","d":1},"Current":{"v":1.419999957,"u":"A","d":2},"YieldDay":{"v":34,"u":"Wh","d":0},"YieldTotal":{"v":17.22299957,"u":"kWh","d":3},"Irradiation":{"v":11.95061779,"u":"%","d":3}},"1":{"name":{"u":"Modul_Links"},"Power":{"v":22.79999924,"u":"W","d":1},"Voltage":{"v":35.79999924,"u":"V","d":1},"Current":{"v":0.639999986,"u":"A","d":2},"YieldDay":{"v":24,"u":"Wh","d":0},"YieldTotal":{"v":20.08799934,"u":"kWh","d":3},"Irradiation":{"v":5.629629135,"u":"%","d":3}}},"INV":{"0":{"Temperature":{"v":8,"u":"°C","d":1}}},"events":1}],"total":{"Power":{"v":67.80000305,"u":"W","d":1},"YieldDay":{"v":58,"u":"Wh","d":0},"YieldTotal":{"v":37.31099701,"u":"kWh","d":2}},"hints":{"time_sync":false,"radio_problem":false,"default_password":false}}
Umwandlung der JSON-Daten in ein Array
Array ( [inverters] => Array ( [0] => Array ( [serial] => 114181811894 [name] => Balkonkraftwerk [data_age] => 36 [reachable] => 1 [producing] => 1 [limit_relative] => 100 [limit_absolute] => 800 [AC] => Array ( [0] => Array ( [Power] => Array ( [v] => 67.80000305 [u] => W [d] => 1 ) [Voltage] => Array ( [v] => 226.1000061 [u] => V [d] => 1 ) [Current] => Array ( [v] => 0.300000012 [u] => A [d] => 2 ) [Power DC] => Array ( [v] => 71.19999695 [u] => W [d] => 1 ) [YieldDay] => Array ( [v] => 58 [u] => Wh [d] => 0 ) [YieldTotal] => Array ( [v] => 37.31099701 [u] => kWh [d] => 3 ) [Frequency] => Array ( [v] => 50.00999832 [u] => Hz [d] => 2 ) [PowerFactor] => Array ( [v] => 1 [u] => [d] => 3 ) [ReactivePower] => Array ( [v] => 0 [u] => var [d] => 1 ) [Efficiency] => Array ( [v] => 95.22472382 [u] => % [d] => 3 ) ) ) [DC] => Array ( [0] => Array ( [name] => Array ( [u] => Modul_Rechts ) [Power] => Array ( [v] => 48.40000153 [u] => W [d] => 1 ) [Voltage] => Array ( [v] => 34 [u] => V [d] => 1 ) [Current] => Array ( [v] => 1.419999957 [u] => A [d] => 2 ) [YieldDay] => Array ( [v] => 34 [u] => Wh [d] => 0 ) [YieldTotal] => Array ( [v] => 17.22299957 [u] => kWh [d] => 3 ) [Irradiation] => Array ( [v] => 11.95061779 [u] => % [d] => 3 ) ) [1] => Array ( [name] => Array ( [u] => Modul_Links ) [Power] => Array ( [v] => 22.79999924 [u] => W [d] => 1 ) [Voltage] => Array ( [v] => 35.79999924 [u] => V [d] => 1 ) [Current] => Array ( [v] => 0.639999986 [u] => A [d] => 2 ) [YieldDay] => Array ( [v] => 24 [u] => Wh [d] => 0 ) [YieldTotal] => Array ( [v] => 20.08799934 [u] => kWh [d] => 3 ) [Irradiation] => Array ( [v] => 5.629629135 [u] => % [d] => 3 ) ) ) [INV] => Array ( [0] => Array ( [Temperature] => Array ( [v] => 8 [u] => °C [d] => 1 ) ) ) [events] => 1 ) ) [total] => Array ( [Power] => Array ( [v] => 67.80000305 [u] => W [d] => 1 ) [YieldDay] => Array ( [v] => 58 [u] => Wh [d] => 0 ) [YieldTotal] => Array ( [v] => 37.31099701 [u] => kWh [d] => 2 ) ) [hints] => Array ( [time_sync] => [radio_problem] => [default_password] => ) )
Auslesen von einzelnen Daten zur Speicherung
Tagesertrag Inverter 0 [AC Wh]: 58
Tagesertrag Inverter 0 Platte 1 [DC Wh]: 34
Tagesertrag Inverter 0 Platte 2 [DC Wh]: 24
Letzter Fehler: No error

Cloud zur Datenspeicherung der Hoymiles Wechselrichter

PHP Beispiel:
<?php
header("Content-Type: text/html; charset=utf-8");

// ##################### //

//$url="DIE-IP-DER-DTU/api/livedata/status";
//oder
$url="http://DYNDNS-Service:FreigegebenerPortImRouter/api/livedata/status";


$curl_session = curl_init();
curl_setopt($curl_session ,CURLOPT_URL, $url);
curl_setopt($curl_session, CURLOPT_HEADER, 0);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl_session);
curl_close($curl_session);

echo "<hr><b>Schnittstelle der openDTU (JSON)</b><br>".$result."";


$json_array = json_decode($result, true);
echo "<hr><b>Umwandlung der JSON-Daten in ein Array</b><br>";
print_r($json_array);


echo "<hr><b>Auslesen von einzelnen Daten zur Speicherung</b>";
//echo $json_array['inverters']['0']['name'];

echo "<hr>";
echo "Tagesertrag Inverter 0 [AC Wh]: ";
echo $json_array['inverters']['0']['AC']['0']['YieldDay']['v'];

echo "<br>Tagesertrag Inverter 0 Platte 1 [DC Wh]: ";
echo $json_array['inverters']['0']['DC']['0']['YieldDay']['v'];
echo "<br>Tagesertrag Inverter 0 Platte 2 [DC Wh]: ";
echo $json_array['inverters']['0']['DC']['1']['YieldDay']['v'];


echo "<hr>";
echo "Letzter Fehler: " ,json_last_error_msg();
?>


Cloud zur Datenspeicherung der Hoymiles Wechselrichter