diff --git a/atom.xml b/atom.xml index 89f448366b..b4b1ce7301 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/community/atom.xml b/blog/categories/community/atom.xml index 11f7d11347..97f57da42f 100644 --- a/blog/categories/community/atom.xml +++ b/blog/categories/community/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: community | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/device-tracking/atom.xml b/blog/categories/device-tracking/atom.xml index 6d0a5f111a..8826e0341a 100644 --- a/blog/categories/device-tracking/atom.xml +++ b/blog/categories/device-tracking/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Device-Tracking | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/esp8266/atom.xml b/blog/categories/esp8266/atom.xml index 5c0038849f..6ae571201d 100644 --- a/blog/categories/esp8266/atom.xml +++ b/blog/categories/esp8266/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: ESP8266 | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/how-to/atom.xml b/blog/categories/how-to/atom.xml index 4ee22514e9..0db27d29a3 100644 --- a/blog/categories/how-to/atom.xml +++ b/blog/categories/how-to/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: How-To | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/ibeacons/atom.xml b/blog/categories/ibeacons/atom.xml index f88fbab63b..5be48273c1 100644 --- a/blog/categories/ibeacons/atom.xml +++ b/blog/categories/ibeacons/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: iBeacons | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/internet-of-things/atom.xml b/blog/categories/internet-of-things/atom.xml index a2690ee8a0..a1c1d397c9 100644 --- a/blog/categories/internet-of-things/atom.xml +++ b/blog/categories/internet-of-things/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Internet-of-Things | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/iot-data/atom.xml b/blog/categories/iot-data/atom.xml index dc7d4801aa..a4625e0e4f 100644 --- a/blog/categories/iot-data/atom.xml +++ b/blog/categories/iot-data/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: IoT-Data | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/micropython/atom.xml b/blog/categories/micropython/atom.xml index d0e03f80bc..4e7bd47ada 100644 --- a/blog/categories/micropython/atom.xml +++ b/blog/categories/micropython/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Micropython | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/mqtt/atom.xml b/blog/categories/mqtt/atom.xml index d6ad8bd306..fdeaaba5bb 100644 --- a/blog/categories/mqtt/atom.xml +++ b/blog/categories/mqtt/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: MQTT | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/organisation/atom.xml b/blog/categories/organisation/atom.xml index 753cef67ac..1ae64c8afa 100644 --- a/blog/categories/organisation/atom.xml +++ b/blog/categories/organisation/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Organisation | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/owntracks/atom.xml b/blog/categories/owntracks/atom.xml index 3fefcef9d4..0e03b30e04 100644 --- a/blog/categories/owntracks/atom.xml +++ b/blog/categories/owntracks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: OwnTracks | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/presence-detection/atom.xml b/blog/categories/presence-detection/atom.xml index 9d4e8a81e8..a5c2b95d5f 100644 --- a/blog/categories/presence-detection/atom.xml +++ b/blog/categories/presence-detection/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Presence-Detection | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/public-service-announcement/atom.xml b/blog/categories/public-service-announcement/atom.xml index 8d72771b60..9f0af5d7f2 100644 --- a/blog/categories/public-service-announcement/atom.xml +++ b/blog/categories/public-service-announcement/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Public-Service-Announcement | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/release-notes/atom.xml b/blog/categories/release-notes/atom.xml index 27080d700b..501ec87233 100644 --- a/blog/categories/release-notes/atom.xml +++ b/blog/categories/release-notes/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Release-Notes | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/survey/atom.xml b/blog/categories/survey/atom.xml index bf2244da00..4c13c92542 100644 --- a/blog/categories/survey/atom.xml +++ b/blog/categories/survey/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Survey | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/talks/atom.xml b/blog/categories/talks/atom.xml index f21abd02e1..7c6825c38b 100644 --- a/blog/categories/talks/atom.xml +++ b/blog/categories/talks/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Talks | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/technology/atom.xml b/blog/categories/technology/atom.xml index 61a8043f7f..1b765cf6cf 100644 --- a/blog/categories/technology/atom.xml +++ b/blog/categories/technology/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Technology | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/user-stories/atom.xml b/blog/categories/user-stories/atom.xml index 30c016e14b..980c825b65 100644 --- a/blog/categories/user-stories/atom.xml +++ b/blog/categories/user-stories/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: User-Stories | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/video/atom.xml b/blog/categories/video/atom.xml index e969b0b4bb..1818392627 100644 --- a/blog/categories/video/atom.xml +++ b/blog/categories/video/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Video | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml index 9073dadaa3..16bd40c712 100644 --- a/blog/categories/website/atom.xml +++ b/blog/categories/website/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: Website | Home Assistant]]> - 2017-01-08T22:51:47+00:00 + 2017-01-08T22:55:04+00:00 https://home-assistant.io/ diff --git a/components/media_player.squeezebox/index.html b/components/media_player.squeezebox/index.html index 6797765f5a..e8c9d2fc8e 100644 --- a/components/media_player.squeezebox/index.html +++ b/components/media_player.squeezebox/index.html @@ -105,11 +105,13 @@
  • host (Required): The host name or address of the Logitech Media Server, eg. 192.168.1.21.
  • -
  • port (Optional): Telnet port to Logitech Media Server. Defaults to 9090.
  • +
  • port (Optional): Web interface port to Logitech Media Server. Defaults to 9000.
  • username (Optional): The username, if password protection is enabled.
  • password (Optional): The password, if password protection is enabled.
+

This platform now uses the web interface of the Logitech Media Server to send commands. The default port of the web interface is 9000. It is the same port that you use to access the LMS through your web browser. Originally, this platform used the telnet interface, which defaults to 9090. If you previously specified the port in your configuration file, you will likely need to update it.

+ diff --git a/cookbook/apache_configuration/index.html b/cookbook/apache_configuration/index.html index dcbf629b3b..908a3726fc 100644 --- a/cookbook/apache_configuration/index.html +++ b/cookbook/apache_configuration/index.html @@ -203,6 +203,9 @@ The configuration file for this home assistant is available in + + + + + + + + Configuration Backup to GitHub - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ +
+ + +
+ + + + +
+

+ Configuration Backup to GitHub +

+
+
+ + +

Summary

+ +

Backing up and regularly syncing your Home Assistant configration to GitHub has several benefits:

+ +
    +
  • A remote copy of your key Home Assistant YAML files in case you need to recover
  • +
  • A documented history of your changes for troubleshooting purposes
  • +
  • It will help the Home Assistant community learn from your configuration examples
  • +
+ +

+This is not a comprehensive tutorial on using GitHub, more information can be found in the GitHub Help pages. This guide assumes the user has an intermediate experience level and is comfortable with such concepts as: navigating the Home Assistant directory structure, logging in as the Home Assistant user, and working with the command line. +

+ +

+This will not create a full backup of your Home Assistant files or your OS. In addition to backing up to Github, you should consider having regular backups of all your Home Assistant configuration files and images of your SD card if applicable. +

+ +

Important Best Practices

+ +

Some best practices to consider before putting your configuration on GitHub:

+ +
    +
  • Extensive use of secrets.yaml to hide sensitive information like usernames, passwords, device information, and location
  • +
  • Exclusion of some files, including secrets.yaml and device-specific information using a .gitignore file
  • +
  • Regularly commiting your configuration to GitHub to make sure that your backup is up to date
  • +
  • Use a README.md to document your configuration and include screenshots of your Home Assistant GUI
  • +
+ +

Step 1: Installing and Initializing Git

+ +

In order to put your configuration on GitHub, you must install the git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu, or any Debian-based system):

+ +
$ sudo apt-get update
+$ sudo apt-get install git
+
+
+ +

Step 2: Creating .gitignore

+ +

+Before creating and pushing your Home Assistant configuration to GitHub, please make sure to follow the secrets.yaml best practice mentioned above and scrub your configuration for any passwords or sensitive information. +

+ +

Creating a .gitignore file in your repository will tell git which files NOT to push to the GitHub server. This should be used to prevent publishing sensitive files to the public. It should contain a list of filenames and pattern matches. This list should include at least your secrets.yaml file, device configuration files, and the Home Assistant database/directory structure. The .gitignore file should be placed in your Home Assistant directory.

+ +

Here is a sane example, but yours should be based on the files in your structure:

+ +

.gitignore

+ +
*.pid
+*.xml
+*.csr
+*.crt
+*.key
+www
+OZW_Log.txt
+home-assistant.log
+home-assistant_v2.db
+*.db-journal
+lib
+deps
+tts
+secrets.yaml
+known_devices.yaml
+*.conf
+plex.conf
+phue.conf
+harmony_media_room.conf
+pyozw.sqlite
+.*
+!/.gitignore
+
+
+ +

More information on the layout of the file can be found in the .gitignore manual.

+ +

Step 3: Preparing your Home Assistant directory for GitHub

+ +

In your Home Assistant directory, type the following commands as the Home Assistant user, replacing the email address and name with your information:

+ +
$ git init
+$ git config user.email "you@example.com"
+$ git config user.name "Your Name"
+$ git add .
+$ git commit
+
+
+ +

After the git commit command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like “Initial commit of my Home Assistant configuration.”

+ +

Step 4: Creating Repository on GitHub

+ +
    +
  • Connect to GitHub and login to your account (or create an account if you don’t already have one).
  • +
  • Click “New Repository” and give your repository a name/description (Home-AssistantConfig is used in the example below). You do NOT need to change any other options.
  • +
  • Click “Create Repository”
  • +
+ +

Step 5: Your initial commit to GitHub

+ +

Once you are sure you are using secrets.yaml and .gitignore correctly, it is time to push your configuration to the GitHub Repository that you just created.

+ +

In your Home Assistant directory, type the following commands as the Home Assistant user, replacing “username” in the URL with your GitHub username:

+ +
$ git remote add origin https://github.com/username/Home-AssistantConfig
+$ git push -u origin master
+
+
+ +

You will be asked to enter your GitHub username and password (or ssh key passphrase if you use GitHub with ssh).

+ +

Congratulations, you now have a copy of your current Home Assistant Configuration on GitHub!

+ +

Step 6: Keeping your repository up to date

+ +

You should update your repository on a regular basis; ideally after you make a major configuration change (new device, new component, etc.). The below script will update your repository with any changed configuration files and allow you to add a comment with the commit for tracking purposes:

+ +

+You may need to adjust the paths in the script depending on your Home Assistant configuration. +

+ +

gitupdate.sh

+ +
#!/bin/bash
+
+cd /home/homeassistant/.homeassistant
+source /srv/homeassistant/homeassistant_venv/bin/activate
+hass --script check_config
+
+git add .
+git status
+echo -n "Enter the Description for the Change: " [Minor Update]
+read CHANGE_MSG
+git commit -m "${CHANGE_MSG}"
+git push origin master
+
+exit
+
+
+ +

Every time you run this script, you will be prompted for a comment to describe the change(s) that you are commiting. This comment will be displayed beside each changed file on GitHub and will be stored after each commit. You will also be asked to enter your GitHub username and password (or ssh key passphrase if you use GitHub with ssh).

+ +

Extra commands

+ +

You can enter these commands to get a list of the files in your local git repository and a status of files that have changed but not commited yet:

+ +
$ git ls-files
+$ git status
+
+
+

Examples:

+ +
homeassistant@raspberrypi:~/.homeassistant $ git ls-files    
+.gitignore
+README.md
+automation.yaml
+configuration.yaml
+customize.yaml
+device_tracker.yaml
+group.yaml
+script.yaml
+
+homeassistant@raspberrypi:~/.homeassistant $ git status
+On branch master
+Your branch is up-to-date with 'origin/master'.
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git checkout -- <file>..." to discard changes in working directory)
+
+        modified:   .gitignore
+        modified:   automation.yaml
+        modified:   customize.yaml
+        modified:   group.yaml
+
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+ + +
+ + +
+ + + + +
+
+ + + + + + \ No newline at end of file diff --git a/cookbook/index.html b/cookbook/index.html index 8cc3d2d47c..d6ded0078e 100644 --- a/cookbook/index.html +++ b/cookbook/index.html @@ -223,6 +223,9 @@
  • Apache Configuration

  • +
  • +

    Configuration Backup to GitHub

    +
  • OwnTracks with two MQTT brokers

  • diff --git a/cookbook/owntracks_two_mqtt_broker/index.html b/cookbook/owntracks_two_mqtt_broker/index.html index e451880fb4..0357788ab0 100644 --- a/cookbook/owntracks_two_mqtt_broker/index.html +++ b/cookbook/owntracks_two_mqtt_broker/index.html @@ -209,6 +209,9 @@ Fill out
  • Apache Configuration
  • +
  • + Configuration Backup to GitHub +
  • OwnTracks with two MQTT brokers
  • diff --git a/cookbook/tls_self_signed_certificate/index.html b/cookbook/tls_self_signed_certificate/index.html index dad5391c3d..d397e4e85f 100644 --- a/cookbook/tls_self_signed_certificate/index.html +++ b/cookbook/tls_self_signed_certificate/index.html @@ -135,6 +135,9 @@
  • Apache Configuration
  • +
  • + Configuration Backup to GitHub +
  • OwnTracks with two MQTT brokers
  • diff --git a/cookbook/tor_configuration/index.html b/cookbook/tor_configuration/index.html index 75b2a2a4a3..4105b4368e 100644 --- a/cookbook/tor_configuration/index.html +++ b/cookbook/tor_configuration/index.html @@ -213,6 +213,9 @@ HiddenServiceAuthorizeClient stealth haremote1
  • Apache Configuration
  • +
  • + Configuration Backup to GitHub +
  • OwnTracks with two MQTT brokers
  • diff --git a/images/supported_brands/github.png b/images/supported_brands/github.png new file mode 100644 index 0000000000..e03d8dd8bc Binary files /dev/null and b/images/supported_brands/github.png differ diff --git a/sitemap.xml b/sitemap.xml index beb7751380..c702381a97 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2373,6 +2373,9 @@ https://home-assistant.io/cookbook/configuration_yaml_by_cy1701/ +https://home-assistant.io/cookbook/githubbackup/ + + https://home-assistant.io/details/webserver/ @@ -2509,62 +2512,62 @@ https://home-assistant.io/demo/frontend.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/index.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-dev-event.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-dev-info.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-dev-service.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-dev-state.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-dev-template.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-history.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-iframe.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-logbook.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/demo/panels/ha-panel-map.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/googlef4f3693c209fe788.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00 https://home-assistant.io/static/mdi-demo.html -2017-01-08T22:51:04+00:00 +2017-01-08T22:54:21+00:00