diff --git a/enedisgateway2mqtt/README.md b/enedisgateway2mqtt/README.md index 1618cf51a..b159afe29 100644 --- a/enedisgateway2mqtt/README.md +++ b/enedisgateway2mqtt/README.md @@ -18,8 +18,20 @@ See its github for all informations : https://github.com/m4dm4rtig4n/enedisgatew ## Configuration -Install, then start the addon a first time to initialize the templates. -Everything is configured using the config.yaml file found in /config/enedisgateway2mqtt/enedisgateway2mqtt.conf. +Install, then start the addon a first time to initialize the templates. + +Options can be configured through two ways : + +- Addon options + +```yaml +CONFIG_LOCATION: /config/enedisgateway2mqtt/enedisgateway2mqtt.conf # Sets the location of the config.yaml (see below) +mqtt_autodiscover: true # Shows in the log the detail of the mqtt local server (if available). It can then be added to the config.yaml file. +TZ: Europe/Paris # Sets a specific timezone +``` + +- Config.yaml + Everything is configured using the config.yaml file found in /config/enedisgateway2mqtt/enedisgateway2mqtt.conf. The complete list of options can be seen here : https://github.com/m4dm4rtig4n/enedisgateway2mqtt#environment-variable diff --git a/enedisgateway2mqtt/config.json b/enedisgateway2mqtt/config.json index 63ccc375e..004ecd760 100644 --- a/enedisgateway2mqtt/config.json +++ b/enedisgateway2mqtt/config.json @@ -1,21 +1,17 @@ { - "arch": [ - "aarch64", - "amd64", - "armv7", - "armhf" - ], + "arch": ["aarch64", "amd64", "armv7", "armhf"], "description": "use Enedis Gateway API to send data in your MQTT Broker (latest channel)", - "map": [ - "config:rw" - ], + "map": ["config:rw"], "name": "Enedisgateway2mqtt", "options": { "CONFIG_LOCATION": "/config/enedisgateway2mqtt/config.yaml", + "mqtt_autodiscover": false, "TZ": "Europe/Paris" }, + "services": ["mqtt:want"], "schema": { "CONFIG_LOCATION": "str", + "mqtt_autodiscover": "bool", "TZ": "str?" }, "slug": "enedisgateway2mqtt", diff --git a/enedisgateway2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh b/enedisgateway2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh new file mode 100644 index 000000000..a69b66aca --- /dev/null +++ b/enedisgateway2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh @@ -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 diff --git a/gazpar2mqtt/README.md b/gazpar2mqtt/README.md index d81f0c964..1aac987fe 100644 --- a/gazpar2mqtt/README.md +++ b/gazpar2mqtt/README.md @@ -18,6 +18,18 @@ See its github for all informations : https://github.com/yukulehe/gazpar2mqtt ## Configuration +Options can be configured through two ways : + +- Addon options + +```yaml +CONFIG_LOCATION: /config/gazpar2mqtt/config.yaml # Sets the location of the config.yaml (see below) +mqtt_autodiscover: true # Shows in the log the detail of the mqtt local server (if available). It can then be added to the config.yaml file. +TZ: Europe/Paris # Sets a specific timezone +``` + +- Config.yaml + Configuration is done by customizing the config.yaml that can be found in /config/gazpar2mqtt/config.yaml The complete list of options can be seen here : https://github.com/yukulehe/gazpar2mqtt diff --git a/gazpar2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh b/gazpar2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh index 876c2b9bb..a69b66aca 100644 --- a/gazpar2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh +++ b/gazpar2mqtt/rootfs/scripts/91-run_mqtt_autodiscover.sh @@ -5,11 +5,11 @@ ##################### if bashio::config.true 'mqtt_autodiscover'; then - bashio::log.info "mqtt_autodiscover is defined in options, attemption autodiscovery..." + 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 ..." + 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")