mirror of
https://github.com/mtan93/homeassistant-addons.git
synced 2026-03-08 05:21:51 +00:00
32 lines
1.2 KiB
Bash
32 lines
1.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# As Home Assistant parses the Add-On configuration towards /data/options.json
|
|
# we want all its values as environment variables.
|
|
#
|
|
# This needs to be sourced ($ source $0)
|
|
|
|
CONFIG=$(curl -s -H "Authorization: Bearer ${SUPERVISOR_TOKEN}" -H "Content-Type: application/json" http://supervisor/core/api/config)
|
|
LAT=$(echo $CONFIG | jq '.latitude')
|
|
LON=$(echo $CONFIG | jq '.longitude')
|
|
ELE=$(echo $CONFIG | jq '.elevation')
|
|
|
|
# TODO: Find a way to use bashio and source together
|
|
|
|
if [ ! -f '/data/options.json' ]; then
|
|
echo 'ERROR: /data/options.json not found' >>/dev/stderr
|
|
exit 1
|
|
fi
|
|
|
|
# export add-on configuration so it can be sourced and used as env vars later
|
|
# thx https://stackoverflow.com/a/48513046/635876
|
|
while read -rd $'' line
|
|
do
|
|
if [[ $line == *"HOMEASSISTANT_LATITUDE" ]] || [[ $line == *"HOMEASSISTANT_LONGITUDE" ]] || [[ $line == *"HOMEASSISTANT_ELEVATION" ]]; then
|
|
line=$(echo $line | sed "s/HOMEASSISTANT_LATITUDE/$LAT/")
|
|
line=$(echo $line | sed "s/HOMEASSISTANT_LONGITUDE/$LON/")
|
|
line=$(echo $line | sed "s/HOMEASSISTANT_ELEVATION/$ELE/")
|
|
fi
|
|
# echo $line
|
|
export "$line"
|
|
done < <(jq -r <<<"$(cat /data/options.json)" \
|
|
'to_entries|map("\(.key)=\(.value)\u0000")[]') |