Managing home assistant’s configuration with atom

There are lots of ways how to edit and manage the configuration files of home assistant. You can mount the filesystem on your PC and use your favorite text editor or use the configurator addon to edit the files online. I’ve tried quite a lot of these options and found my favorite: the atom editor with the remote sync plugin. That way I edit the files locally and the plugin takes care of syncing them to my home assistant instance. Bonus: in case anything happens to the home assistant server I always have a local copy.

Install atom and the plugins

Installing atom depends on your operating system. Insatlling the remote sync addon is easy. Go to Edit > Preferences (Ctrl+,), then select Packages and search for remote-sync. You might also want to install the packages language-yaml and ide-yaml to support the YAML-Syntax of home assistant’s config files.

Configure atom’s plugins

First create a folder somwhere in your local directory hierarchy that will contain your home assistant configuration. I’ve called mine hassio_config. Create a new project in atom (Ctrl+Shift+A) and select the folder you’ve just created. Now configure remote by opening the command palette (Ctrl+Shift+P) and searching for “Remote Sync Configure) or from a right click on the project folder in the tree view. After filling out the dialog with the correct information you will get a hidden file .remote-sync.json Mine looks like this:

{
"logger": {
"title": "Remote Sync"
},
"uploadOnSave": true,
"useAtomicWrites": false,
"deleteLocal": false,
"hostname": "hassio",
"port": "222",
"target": "/config",
"ignore": [
".remote-sync.json",
".git/**",
"home-assistant_v2.db",
"home-assistant.log",
"options.xml",
"OZW_Log.txt",
"phue.conf",
"pyozw.sqlite",
"zwcfg_0xcf82d982.xml",
"zwscene.xml"
],
"username": "root",
"keyfile": "/home/jan/.ssh/id_ha.cbjck.de_rsa",
"watch": [],
"transport": "scp"
}

I use it to configure my hass.io in a virtual machine setup. Your exclude list might look different and mine will also need to evolve once appdaemon comes into play. Just make sure all file home assistant is writing to won’t get overwritten by unintended uploads.

Download the current state

Now it’s time to download to current state of the config by a right click on the project folder in tree view, then Remote-Sync > Download Folder

Editing and uploading

Now you can edit the config file as you like. I’ve chosen to have the uploaded automatically on save but of course you can also to that manually. The I only thing I still have to remember is reloading the changed config in home assistant.

More features

Besides remote sync, atom offers a huge load of features. For my home assistant setup I primarily use remote sync, ide-yaml, language-yaml, github and todo-show.

appdaemon

Leave a Reply

Your email address will not be published.