Ich habe das Victron System ganz neu seit ein paar Tagen und komme leider gerade in der Api nicht weiter. Hoffentlich kann hier jemand helfen. Ich habe einen Cerbo gx, einen Multiplus II (daran eine Pylontech) und einen ET340. Dazu habe ich 2 Growatt Wechselrichter. Das System arbeitet als ESS und das funktioniert auch, wie es soll. Im VRM Portal wird ein negativer Wert bei „Netz“ angezeigt, wenn mehr Strom erzeugt als verbraucht wird.
Ich finde es ärgerlich, dass das bei „to grid“ nicht erfasst wird, sonst hätte ich in der Api schon gefunden, was ich brauche.
Um zu sehen, wie viel ich eingespeise, habe ich im Portal ein benutzerdefiniertes Widget angelegt. Das zeigt vom ET340 „grid meter - grid total energy to net (kWh)“. Dieser Wert scheint auch zu stimmen. Nochmal: Victron, echt doof, dass der nicht auf dem Dashboard angezeigt wird!
Ich versuche diesen Wert in der Api abzugreifen, scheitere aber bisher. Ich habe es zuletzt über „graph“ probiert, aber da werden mir keine Daten ausgegeben. Ich habe das mit php umgesetzt. Ich hoffe jemand hat einen Tipp für mich, wo ich das in der Api finde oder wie ich vielleicht doch einstellen kann, dass der Wert im Dashboard unter „to grid“ erscheint. Danke Leute!
Hier ist der Code:
-------------------------
$username = private
$password = private
$siteId= private
$userId= private
$instance = 30; //instance of the et340
>>>>> $attributeCodes = ['dE']; // what should stand here? <<<<<
$attributeIds = [540];
$startTime = strtotime("-2 days");
$endTime = strtotime('now');
$useMinMax = 1;
$width = 768;
$apiUrl = 'https://vrmapi.victronenergy.com/v2/installations/' . $siteId . '/widgets/Graph';
$queryParams = http_build_query([
'attributeCodes[]' => $attributeCodes,
'attributeIds[]' => $attributeIds,
'start' => $startTime,
'end' => $endTime,
'instance' => $instance,
'useMinMax' => $useMinMax,
'width' => $width,
]);
$apiUrl .= '?' . $queryParams;
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'x-authorization: Bearer ' . $bearerToken,
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$responseData = json_decode($response, true);
print_r($responseData);