dotfiles/default/home/Scripts/ha
2025-04-22 10:33:30 -07:00

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