mqtt autodiscovery

This commit is contained in:
Alexandre
2021-12-03 22:01:07 +01:00
parent 231a158427
commit b99a7618db
5 changed files with 58 additions and 13 deletions

View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bashio
#####################
# Autodiscover mqtt #
#####################
if bashio::config.true 'mqtt_autodiscover'; then
bashio::log.info "mqtt_autodiscover is defined in options, attempting autodiscovery..."
# Check if available
if ! bashio::services.available "mqtt"; then bashio::exit.nok "No internal MQTT service found. Please install Mosquitto broker"; fi
# Get variables
bashio::log.info "... MQTT service found, fetching server detail (you can enter those manually in your config file) ..."
export MQTT_HOST=$(bashio::services mqtt "host")
export MQTT_PORT=$(bashio::services mqtt "port")
export MQTT_SSL=$(bashio::services mqtt "ssl")
export MQTT_USERNAME=$(bashio::services mqtt "username")
export MQTT_PASSWORD=$(bashio::services mqtt "password")
# Export variables
for variables in "MQTT_HOST=$MQTT_HOST" "MQTT_PORT=$MQTT_PORT" "MQTT_SSL=$MQTT_SSL" "MQTT_USERNAME=$MQTT_USERNAME" "MQTT_PASSWORD=$MQTT_PASSWORD"; do
[ -f /etc/services.d/*/*run* ] && sed -i "1a export $variables" /etc/services.d/*/*run*
[ -f /scripts/*run* ] && sed -i "1a export $variables" /scripts/*run*
# Log
bashio::log.blue "$variables"
done
fi