Schnittstellen


Schnittstelle der ahoy-DTU (JSON)


{"menu":{"name":["Live","Serial Console","Settings","-","REST API","-","Update","System","-","Logout"],"link":["/live","/serial","/setup",null,"/api",null,"/update","/system",null,"/logout"],"trgt":[null,null,null,null,"_blank"]},"system":{"ssid":"FRITZ!Box","device_name":"AHOY-DTU","version":"0.5.41","build":"dec333f","ts_uptime":107799,"ts_now":1713299779,"ts_sunrise":1713242202,"ts_sunset":1713291800,"ts_sun_upd":1713222000,"wifi_rssi":-24,"mac":"EC:FA:BC:41:3E:7C","hostname":"AHOY-DTU","pwd_set":true,"sdk":"2.2.2-dev(38a443e)","cpu_freq":80,"heap_free":11520,"sketch_total":2662400,"sketch_used":468,"core_version":"3.0.2","flash_size":4096,"heap_frag":3,"max_free_blk":11200,"reboot_reason":"Hardware Watchdog","esp_type":"ESP8266"},"inverter":[{"name":"HM-1500 Dach vo","channels":4,"power_limit_read":100,"last_alarm":"Inverter start","ts_last_success":1713291771,"ch":[[236.9,0,0,50.03,0,22.9,1574.446,2148,3.9,0,21.9],[32.1,0.03,1,589,424.547,0.26],[32.1,0.03,0.9,552,410.404,0.234],[32.1,0.04,1.2,495,366.203,0.312],[32.1,0.02,0.8,512,373.292,0.208]],"ch_names":["AC","vorne 4","vorne 3","vorne 2","vorne 1"]},{"name":"HM-1500 Balkon","channels":4,"power_limit_read":100,"last_alarm":"Inverter start","ts_last_success":1713291781,"ch":[[239.1,0,0,50.03,0,24,1455.052,1946,2.8,0,22.3],[30.1,0.03,0.9,468,393.051,0.234],[30.1,0.02,0.7,482,400.536,0.182],[30.2,0.02,0.7,498,319.748,0.182],[30.2,0.02,0.5,498,341.717,0.13]],"ch_names":["AC","sued west","sued ost","west nord","west sued"]},{"name":"HM-1500 Dach ob","channels":4,"power_limit_read":100,"last_alarm":"Inverter start","ts_last_success":1713291791,"ch":[[234.5,0,0,50.02,0,19.6,1094.275,795,2,0,21.4],[1.2,0.02,0,0,209.932,0],[1.2,0.02,0,0,205.949,0],[25.9,0.04,0.9,414,357.084,0.234],[25.9,0.04,1.1,381,321.31,0.286]],"ch_names":["AC","","","hinten 5","vorne 5"]},{"name":"HM-1500 Dach hi","channels":4,"power_limit_read":100,"last_alarm":"Inverter start","ts_last_success":1713291761,"ch":[[234.5,0,0,50.02,0,22.1,1003.832,2191,3.9,0,21.4],[32.1,0.03,0.9,557,257.775,0.234],[32.1,0.02,0.8,508,222.768,0.208],[32.1,0.04,1.2,598,292.368,0.312],[32.1,0.03,1,528,230.921,0.26]],"ch_names":["AC","hinten 3","hinten 2","hinten 4","hinten 1"]}],"refresh_interval":10,"ch0_fld_units":["V","A","W","Hz","","°C","kWh","Wh","W","%","var"],"ch0_fld_names":["U_AC","I_AC","P_AC","F_AC","PF_AC","Temp","YieldTotal","YieldDay","P_DC","Efficiency","Q_AC"],"fld_units":["V","A","W","Wh","kWh","%"],"fld_names":["U_DC","I_DC","P_DC","YieldDay","YieldTotal","Irradiation"]}
Umwandlung der JSON-Daten in ein Array
Array ( [menu] => Array ( [name] => Array ( [0] => Live [1] => Serial Console [2] => Settings [3] => - [4] => REST API [5] => - [6] => Update [7] => System [8] => - [9] => Logout ) [link] => Array ( [0] => /live [1] => /serial [2] => /setup [3] => [4] => /api [5] => [6] => /update [7] => /system [8] => [9] => /logout ) [trgt] => Array ( [0] => [1] => [2] => [3] => [4] => _blank ) ) [system] => Array ( [ssid] => FRITZ!Box [device_name] => AHOY-DTU [version] => 0.5.41 [build] => dec333f [ts_uptime] => 107799 [ts_now] => 1713299779 [ts_sunrise] => 1713242202 [ts_sunset] => 1713291800 [ts_sun_upd] => 1713222000 [wifi_rssi] => -24 [mac] => EC:FA:BC:41:3E:7C [hostname] => AHOY-DTU [pwd_set] => 1 [sdk] => 2.2.2-dev(38a443e) [cpu_freq] => 80 [heap_free] => 11520 [sketch_total] => 2662400 [sketch_used] => 468 [core_version] => 3.0.2 [flash_size] => 4096 [heap_frag] => 3 [max_free_blk] => 11200 [reboot_reason] => Hardware Watchdog [esp_type] => ESP8266 ) [inverter] => Array ( [0] => Array ( [name] => HM-1500 Dach vo [channels] => 4 [power_limit_read] => 100 [last_alarm] => Inverter start [ts_last_success] => 1713291771 [ch] => Array ( [0] => Array ( [0] => 236.9 [1] => 0 [2] => 0 [3] => 50.03 [4] => 0 [5] => 22.9 [6] => 1574.446 [7] => 2148 [8] => 3.9 [9] => 0 [10] => 21.9 ) [1] => Array ( [0] => 32.1 [1] => 0.03 [2] => 1 [3] => 589 [4] => 424.547 [5] => 0.26 ) [2] => Array ( [0] => 32.1 [1] => 0.03 [2] => 0.9 [3] => 552 [4] => 410.404 [5] => 0.234 ) [3] => Array ( [0] => 32.1 [1] => 0.04 [2] => 1.2 [3] => 495 [4] => 366.203 [5] => 0.312 ) [4] => Array ( [0] => 32.1 [1] => 0.02 [2] => 0.8 [3] => 512 [4] => 373.292 [5] => 0.208 ) ) [ch_names] => Array ( [0] => AC [1] => vorne 4 [2] => vorne 3 [3] => vorne 2 [4] => vorne 1 ) ) [1] => Array ( [name] => HM-1500 Balkon [channels] => 4 [power_limit_read] => 100 [last_alarm] => Inverter start [ts_last_success] => 1713291781 [ch] => Array ( [0] => Array ( [0] => 239.1 [1] => 0 [2] => 0 [3] => 50.03 [4] => 0 [5] => 24 [6] => 1455.052 [7] => 1946 [8] => 2.8 [9] => 0 [10] => 22.3 ) [1] => Array ( [0] => 30.1 [1] => 0.03 [2] => 0.9 [3] => 468 [4] => 393.051 [5] => 0.234 ) [2] => Array ( [0] => 30.1 [1] => 0.02 [2] => 0.7 [3] => 482 [4] => 400.536 [5] => 0.182 ) [3] => Array ( [0] => 30.2 [1] => 0.02 [2] => 0.7 [3] => 498 [4] => 319.748 [5] => 0.182 ) [4] => Array ( [0] => 30.2 [1] => 0.02 [2] => 0.5 [3] => 498 [4] => 341.717 [5] => 0.13 ) ) [ch_names] => Array ( [0] => AC [1] => sued west [2] => sued ost [3] => west nord [4] => west sued ) ) [2] => Array ( [name] => HM-1500 Dach ob [channels] => 4 [power_limit_read] => 100 [last_alarm] => Inverter start [ts_last_success] => 1713291791 [ch] => Array ( [0] => Array ( [0] => 234.5 [1] => 0 [2] => 0 [3] => 50.02 [4] => 0 [5] => 19.6 [6] => 1094.275 [7] => 795 [8] => 2 [9] => 0 [10] => 21.4 ) [1] => Array ( [0] => 1.2 [1] => 0.02 [2] => 0 [3] => 0 [4] => 209.932 [5] => 0 ) [2] => Array ( [0] => 1.2 [1] => 0.02 [2] => 0 [3] => 0 [4] => 205.949 [5] => 0 ) [3] => Array ( [0] => 25.9 [1] => 0.04 [2] => 0.9 [3] => 414 [4] => 357.084 [5] => 0.234 ) [4] => Array ( [0] => 25.9 [1] => 0.04 [2] => 1.1 [3] => 381 [4] => 321.31 [5] => 0.286 ) ) [ch_names] => Array ( [0] => AC [1] => [2] => [3] => hinten 5 [4] => vorne 5 ) ) [3] => Array ( [name] => HM-1500 Dach hi [channels] => 4 [power_limit_read] => 100 [last_alarm] => Inverter start [ts_last_success] => 1713291761 [ch] => Array ( [0] => Array ( [0] => 234.5 [1] => 0 [2] => 0 [3] => 50.02 [4] => 0 [5] => 22.1 [6] => 1003.832 [7] => 2191 [8] => 3.9 [9] => 0 [10] => 21.4 ) [1] => Array ( [0] => 32.1 [1] => 0.03 [2] => 0.9 [3] => 557 [4] => 257.775 [5] => 0.234 ) [2] => Array ( [0] => 32.1 [1] => 0.02 [2] => 0.8 [3] => 508 [4] => 222.768 [5] => 0.208 ) [3] => Array ( [0] => 32.1 [1] => 0.04 [2] => 1.2 [3] => 598 [4] => 292.368 [5] => 0.312 ) [4] => Array ( [0] => 32.1 [1] => 0.03 [2] => 1 [3] => 528 [4] => 230.921 [5] => 0.26 ) ) [ch_names] => Array ( [0] => AC [1] => hinten 3 [2] => hinten 2 [3] => hinten 4 [4] => hinten 1 ) ) ) [refresh_interval] => 10 [ch0_fld_units] => Array ( [0] => V [1] => A [2] => W [3] => Hz [4] => [5] => °C [6] => kWh [7] => Wh [8] => W [9] => % [10] => var ) [ch0_fld_names] => Array ( [0] => U_AC [1] => I_AC [2] => P_AC [3] => F_AC [4] => PF_AC [5] => Temp [6] => YieldTotal [7] => YieldDay [8] => P_DC [9] => Efficiency [10] => Q_AC ) [fld_units] => Array ( [0] => V [1] => A [2] => W [3] => Wh [4] => kWh [5] => % ) [fld_names] => Array ( [0] => U_DC [1] => I_DC [2] => P_DC [3] => YieldDay [4] => YieldTotal [5] => Irradiation ) )
Auslesen von einzelnen Daten zur Speicherung
Tagesertrag Inverter 0 [AC Wh]: 2148
Tagesertrag Inverter 0 Platte 1 [DC Wh]: 589
Tagesertrag Inverter 0 Platte 2 [DC Wh]: 552
Tagesertrag Inverter 0 Platte 3 [DC Wh]: 495
Tagesertrag Inverter 0 Platte 4 [DC Wh]: 512
Tagesertrag Inverter 1 [AC Wh]: 1946
Tagesertrag Inverter 1 Platte 1 [DC Wh]: 468
Tagesertrag Inverter 1 Platte 2 [DC Wh]: 482
Tagesertrag Inverter 1 Platte 3 [DC Wh]: 498
Tagesertrag Inverter 1 Platte 4 [DC Wh]: 498
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/live";
//oder
$url="http://DYNDNS-Service:FreigegebenerPortImRouter/api/live";


$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 ahoy-DTU (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['menu']['name']['0'];

echo "<hr>";
echo "Tagesertrag Inverter 0 [AC Wh]: ";
echo $json_array['inverter']['0']['ch']['0']['7'];

echo "<br>Tagesertrag Inverter 0 Platte 1 [DC Wh]: ";
echo $json_array['inverter']['0']['ch']['1']['3'];
echo "<br>Tagesertrag Inverter 0 Platte 2 [DC Wh]: ";
echo $json_array['inverter']['0']['ch']['2']['3'];
echo "<br>Tagesertrag Inverter 0 Platte 3 [DC Wh]: ";
echo $json_array['inverter']['0']['ch']['3']['3'];
echo "<br>Tagesertrag Inverter 0 Platte 4 [DC Wh]: ";
echo $json_array['inverter']['0']['ch']['4']['3'];


echo "<hr>";
echo "Tagesertrag Inverter 1 [AC Wh]: ";
echo $json_array['inverter']['1']['ch']['0']['7'];

echo "<br>Tagesertrag Inverter 1 Platte 1 [DC Wh]: ";
echo $json_array['inverter']['1']['ch']['1']['3'];
echo "<br>Tagesertrag Inverter 1 Platte 2 [DC Wh]: ";
echo $json_array['inverter']['1']['ch']['2']['3'];
echo "<br>Tagesertrag Inverter 1 Platte 3 [DC Wh]: ";
echo $json_array['inverter']['1']['ch']['3']['3'];
echo "<br>Tagesertrag Inverter 1 Platte 4 [DC Wh]: ";
echo $json_array['inverter']['1']['ch']['4']['3'];


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


Cloud zur Datenspeicherung der Hoymiles Wechselrichter