zaptec charger#
charger id: 5273dba1-4e80-49ae-ac44-9420ae596ad3
cmds: 506 - stop/pause charging (requires firmware > 3.2) 507 - resume charging (requires firmware > 3.2) 10001 - deauthorize and stop charging.
Get the bearer token#
curl -vs -X POST https://api.zaptec.com/oauth/token -H "content-type: application/x-www-form-urlencoded" --data-raw 'grant_type=password&username=harry.metske%40gmail.com&password=<url-encoded password>'Or better:
export TOKEN=$(curl -s -X POST https://api.zaptec.com/oauth/token -H "content-type: application/x-www-form-urlencoded" --data-raw 'grant_type=password&username=harry.metske%40gmail.com&password=<url-encoded password>' | jq -r .access_token)
Stop/pause the charger#
curl -X POST "https://api.zaptec.com/api/chargers/5273dba1-4e80-49ae-ac44-9420ae596ad3/sendCommand/506" -H "accept: */*" -H "Authorization: Bearer $TOKEN" -d ""
Resume charging#
curl -X POST "https://api.zaptec.com/api/chargers/5273dba1-4e80-49ae-ac44-9420ae596ad3/sendCommand/507" -H "accept: */*" -H "Authorization: Bearer $TOKEN" -d ""
Get the current state of the charger#
curl -s "https://api.zaptec.com/api/chargers/5273dba1-4e80-49ae-ac44-9420ae596ad3/state" -H "accept: */*" -H "Authorization: Bearer $TOKEN"This will return an array of these:
"ChargerId": "5273dba1-4e80-49ae-ac44-9420ae596ad3",
"StateId": -2,
"Timestamp": "2023-06-09T13:35:24.583",
"ValueAsString": "1"
This requires all the zaptec constants
to interpret the StateId's.
To format them in a kind of table, use this jq expression: '.\[] | (.StateId|tostring) + " = " + .ValueAsString'
