45 lines
932 B
Bash
Executable file
45 lines
932 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
#https://developers.home-assistant.io/docs/api/rest/
|
|
|
|
source "${HOME}/.secrets"
|
|
|
|
while getopts "a:e:d:s:" flag; do
|
|
case $flag in
|
|
a)
|
|
action="${OPTARG}"
|
|
;;
|
|
e)
|
|
entity_id="${OPTARG}"
|
|
;;
|
|
d)
|
|
domain="${OPTARG}"
|
|
;;
|
|
s)
|
|
service="${OPTARG}"
|
|
;;
|
|
*)
|
|
printf '%s' "bad option: ${flag}"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
#echo "action: ${action}"
|
|
#echo "entity_id: ${entity_id}"
|
|
|
|
case "${action}" in
|
|
"states")
|
|
curl -s \
|
|
-H "Authorization: Bearer ${HA_TOKEN}" \
|
|
-H "Content-Type: application/json" \
|
|
"${HA_URL}/api/${action}/${entity_id}" | jq '.'
|
|
;;
|
|
"services")
|
|
# echo '{"entity_id": "'"${entity_id}"'"}'
|
|
curl -s \
|
|
-H "Authorization: Bearer ${HA_TOKEN}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"entity_id": "'"${entity_id}"'"}' \
|
|
"${HA_URL}/api/${action}/${domain}/${service}" | jq '.'
|
|
;;
|
|
esac
|