Hallo zusammen,
ich versuche den aktuellen Verbrauch aus der VRM-API auszulesen.
Das scheitert jedoch immer mit dem Fehler:
Anmeldung bei VRM API…
VRM-Login erfolgreich.
Verbrauchsdaten abrufen…
Fehler beim Abrufen der Verbrauchsdaten:
Keine Serverantwort erhalten (Response = null).
Mein Skript sieht so aus:
=== VRM Login Body ===
$loginBody = @{
username = $username
password = $password
} | ConvertTo-Json -Compress
=== Fehlerausgabe mit Prüfung auf NULL ===
function Show-DetailedError {
param ($exception)
if ($exception.Response -ne $null) {
try {
$statusCode = $exception.Response.StatusCode.value__
$stream = $exception.Response.GetResponseStream()
if ($stream -ne $null) {
$reader = New-Object System.IO.StreamReader($stream)
$body = $reader.ReadToEnd()
Write-Host "Fehlercode: $statusCode"
Write-Host "Antworttext: $body"
} else {
Write-Host "Fehlercode: $statusCode"
Write-Host "Keine Antwortdaten verfügbar (Stream = null)."
}
} catch {
Write-Host "Fehler beim Auslesen der Fehlermeldung: $($_.Exception.Message)"
}
} else {
Write-Host "Keine Serverantwort erhalten (Response = null)."
}
}
=== Hauptablauf ===
try {
Write-Host “Anmeldung bei VRM API…”
$loginResponse = Invoke-RestMethod -Uri "https://vrmapi.victronenergy.com/v2/auth/login" `
-Method POST `
-Headers @{ "Content-Type" = "application/json" } `
-Body $loginBody `
-ErrorAction Stop
$token = $loginResponse.token
if (-not $token) {
Write-Host "Fehler: Kein Token erhalten. Login fehlgeschlagen."
exit
}
Write-Host "VRM-Login erfolgreich."
# === Verbrauch abrufen ===
$vrmUrl = "https://vrmapi.victronenergy.com/v2/installations/$installationId/stats"
$headers = @{ Authorization = "Bearer $token" }
try {
Write-Host "Verbrauchsdaten abrufen..."
$response = Invoke-RestMethod -Uri $vrmUrl `
-Headers $headers `
-ErrorAction Stop
$verbrauch = $response.power_consumed.value
if (-not $verbrauch) {
Write-Host "Warnung: Verbrauch konnte nicht ausgelesen werden."
exit
}
Write-Host "Verbrauchswert empfangen: $verbrauch W"
} catch {
Write-Host "Fehler beim Abrufen der Verbrauchsdaten:"
Show-DetailedError $_
exit
}
Ich habe einen Cerbo-GX 2 i.V.m. Multiplus-II 48/50-70 und 29 kW Pylontech Speicher
Den aktuellen Verbrauch möchte ich in mein Homematic-System zur Steuerung diverser Verbraucher nehmen.
Jemand eine Idee wo der Fehler liegen könnte.
Vielen Dank im Voraus und viele Grüße aus Ulm
Georg