Allows you to check your Home Assistant configuration from within Lovelace, or automatically using when configuration.yaml is updated. Outputs the results to a sensor and can automatically restart HASS if configuration is valid.
This app is best installed using HACS, so that you can easily track and download updates.
Alternatively, you can download the
check-config directory from inside the
apps directory here to your
apps directory, then add the configuration to enable the
How it works
The app will auto-generate an entity called
sensor.config_result. It has an
initial value of
- until a configuration check is actually run. After running
a check, it will change to
invalid. If it is invalid, the
attribute on the sensor will include additional data about the specific failure.
If it is valid, Home Assistant can restart automatically, or you can configure
it to not restart until you do so manually.
Add the following to your
check_config: module: checkconfig class: CheckConfig
||True||boolean||True||By default, Home Assistant will be restarted if the configuration is valid. Setting this to false will allow you to restart at the time of your choosing.|
||True||boolean||False||If you are using the
Using With Lovelace
You will need to create an entity called
script.check_config, but this script
can be blank and won't actually perform any steps. It simply allows us to call
the config check from Lovelace. Copying and pasting the following into your
scripts.yaml file will add the proper script.
check_config: sequence:  alias: Check Configuration
The following is a basic example of a Lovelace example to run the check and show the results.
type: entities title: Check Configuration show_header_toggle: false entities: - script.check_config - sensor.config_result
Using with Folder Watcher
Note: Folder Watcher support currently does not support split configuration files, nor will it monitor changes to secrets.yaml. Support for secrets.yaml and split configurations is planned for the next release. In addition, when using the Folder Watcher configuration, the Lovelace script configuration above will no longer work (but the sensor will still update for you to optionally display in Lovelace).
As of version 0.3.0, the Folder
Watcher component can
be integrated into this app. The app will then automatically trigger a
configuration check when your
configuration.yaml file is updated. You can then
either have Home Assistant restart automatically, or continue to utilize the
sensor updating as you see fit. For example, I have Telegram set up on the
computer I perform my configuration updates on. So, I now receive a notification
from Telegram on my desktop seconds after saving a change to
configuration.yaml. If the config is invalid, the specific issue is called out
in the notification. Otherwise, if it's valid, I have an inline keyboard button
that will restart Home Assistant when pressed.
The example code for this notification setup is included in
this repository. Since everyone's notification setup is different, I am not
attempting to include it in the main app at this time, but you are free to use
what I have created as a starting point.
Here is the YAML I'm using to include
folder_watcher in my setup to monitor
folder_watcher: - folder: /config patterns: - '*.yaml'
You also need your
config directory under
whitelist_external_dirs in the
homeassistant section of
homeassistant: whitelist_external_dirs: - /config
Advanced Lovelace Config Examples
As a picture elements card with options to reload elements of your configuration, or a full restart:
type: custom:vertical-stack-in-card cards: - type: picture-elements image: /local/images/BG_blank_slim.png elements: - type: image image: /local/images/icons8-administrative-tools-80.png tap_action: action: call-service service: script.check_config style: top: 50% left: 10% width: 10% - type: image image: /local/images/icons8-restart-80.png tap_action: action: call-service service: homeassistant.restart style: top: 50% left: 26% width: 10% - type: image image: /local/images/icons8-source-code-80.png tap_action: action: call-service service: homeassistant.reload_core_config style: top: 50% left: 42% width: 10% - type: image image: /local/images/icons8-variation-80.png tap_action: action: call-service service: group.reload style: top: 50% left: 58% width: 10% - type: image image: /local/images/icons8-automation-80.png tap_action: action: call-service service: automation.reload style: top: 50% left: 74% width: 10% - type: image image: /local/images/icons8-note-80.png tap_action: action: call-service service: script.reload style: top: 50% left: 90% width: 10% - type: entities show_header_toggle: false entities: - sensor.config_result
Please log any issues or feature requests in this GitHub repository for me to review.