SMART-ME Plug via API und Powershell ansteuern

SMART-ME Plug mit Powershell via API ansteuern

Zuerst erstellt man sich ein Token:
$auth = [System.Text.Encoding]::UTF8.GetBytes('E-MAIL:PASSWORD')
$auth = [System.Convert]::ToBase64String($auth)

Der Schlüssel schreibt man sich in eine Variable, z.B. $token

Nun erstellt man ein Array zur einfachen Handhabung des Headers
$headers = @{

Authorization = "Basic $token"

}

Als einfaches Beispiel schalten wir nun den Plug ein, dazu generieren wir die JSON Datei, die dem Webserver übergeben wird:

$JSON = ConvertTo-Json @{

"DeviceID" = "$ID"
"Actions" = @(@{

"ObisCode" = "63000C0001FF"
"Value" = 1

})

}

Zu guter letzt schickt man dann via Post die JSON-File an den Server:

Invoke-RestMethod -Headers $headers -Method Post -Uri "https://smart-me.com/api/Actions" -Body "$JSON" -ContentType "application/json"

Was hier wichtig ist -ContentType, wird dieser nicht mitgegeben, erscheint der Fehler 401 - Not Authorized.


Drucken