#!/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