diff --git a/_config.yml b/_config.yml index 77f78049d6b..f62bb660786 100644 --- a/_config.yml +++ b/_config.yml @@ -142,12 +142,12 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 51 -current_patch_version: 2 -date_released: 2017-08-14 +current_minor_version: 52 +current_patch_version: 0 +date_released: 2017-08-26 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#release-0512--august-14" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): diff --git a/source/_components/abode.markdown b/source/_components/abode.markdown index 5b1368d4c6d..59b247f7bf7 100644 --- a/source/_components/abode.markdown +++ b/source/_components/abode.markdown @@ -2,7 +2,7 @@ layout: page title: "Abode Home Security" description: "Instructions on integrating Abode home security with Home Assistant." -date: 2017-08-26 13:28 +date: 2017-08-26 0:28 sidebar: true comments: false sharing: true diff --git a/source/_components/alarm_control_panel.abode.markdown b/source/_components/alarm_control_panel.abode.markdown index 4b140acdb06..593735b7d20 100644 --- a/source/_components/alarm_control_panel.abode.markdown +++ b/source/_components/alarm_control_panel.abode.markdown @@ -2,7 +2,7 @@ layout: page title: "Abode Alarm Control Panel" description: "Instructions how to setup the Abode Alarm control panel within Home Assistant." -date: 2017-08-26 13:28 +date: 2017-08-26 0:28 sidebar: true comments: false sharing: true diff --git a/source/_components/binary_sensor.abode.markdown b/source/_components/binary_sensor.abode.markdown index d0ee36ad392..35dfeda1713 100644 --- a/source/_components/binary_sensor.abode.markdown +++ b/source/_components/binary_sensor.abode.markdown @@ -2,7 +2,7 @@ layout: page title: "Abode Binary Sensor" description: "Instructions how to integrate Abode binary sensors into Home Assistant." -date: 2017-08-26 13:28 +date: 2017-08-26 0:28 sidebar: true comments: false sharing: true diff --git a/source/_components/sensor.londond_air.markdown b/source/_components/sensor.london_air.markdown similarity index 100% rename from source/_components/sensor.londond_air.markdown rename to source/_components/sensor.london_air.markdown diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 83b1de0f29e..e8a60039668 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Automation Editor" -description: "Instructions on how to use the new automation editor." +description: "Instructions on how to use the automation editor." date: 2016-04-24 08:30 +0100 sidebar: true comments: false @@ -9,11 +9,9 @@ sharing: true footer: true --- -In Home Assistant 0.45 we have introduced the first version of our automation editor. The editor is still in a very early stage and rough around the edges. For now we are only supporting Chrome but better browser support is planned for the future. +In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy. -If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy. - -From the UI choose **Automation** which is located in the sidebar. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/). +From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/). Choose a meaningful name for your automation rules. diff --git a/source/_docs/scripts/editor.markdown b/source/_docs/scripts/editor.markdown new file mode 100644 index 00000000000..e5cc30c2272 --- /dev/null +++ b/source/_docs/scripts/editor.markdown @@ -0,0 +1,28 @@ +--- +layout: page +title: "Script Editor" +description: "Instructions on how to use the new script editor." +date: 2016-08-26 03:30 +0000 +sidebar: true +comments: false +sharing: true +footer: true +redirect_from: /docs/script/editor/ +--- + +In Home Assistant 0.52 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy. + +
+ +
+ +## {% linkable_title Updating your configuration to use the editor %} + +The script editor reads and writes to the file `scripts.yaml` in your [configuration](/docs/configuration/) folder. Make sure that you have set up the script component to read from it: + +```yaml +# Configuration.yaml example +script: !include scripts.yaml +``` + +The conten that was under `script:` should now be moved to `scripts.yaml` to be editable. diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 83fa9419bb0..c113f371a5a 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -78,6 +78,7 @@
  • diff --git a/source/_posts/2017-08-26-release-0-52.markdown b/source/_posts/2017-08-26-release-0-52.markdown new file mode 100644 index 00000000000..152d0621d7c --- /dev/null +++ b/source/_posts/2017-08-26-release-0-52.markdown @@ -0,0 +1,376 @@ +--- +layout: post +title: "0.51: Massive history speed up, finished automation editor and official vacuum cleaner support" +description: "Lots of frontend bugs have been squashed, the automation editor now supports all triggers and actions and vacuum cleaners are now an official component." +date: 2017-08-26 00:11:05 +date_formatted: "August 26, 2017" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2017-08-0.52/components.png +--- + + + +Although the summer is in full progress, the development hasn't stalled. This release brings bug fixes, clean ups and another 8 new integrations. On top of that we are also introducing a new [script editor](/docs/scripts/editor/)! + +To use the scripts editor, create a new file in your config directory named `scripts.yaml` and copy your existing scripts over: + +```yaml +# scripts.yaml +turn_on_some_lights: + alias: Turn on the lights + sequence: + - data: {} + service: light.turn_on +``` + + Than update your `configuration.yaml` to look like this: + +```yaml +# Configuration.yaml example +script: !include scripts.yaml +``` + +
    + +
    + +## New Platforms + +- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform) +- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform) +- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform) +- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform) +- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform) +- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform) +- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform) +- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform) + +## {% linkable_title If you need help... %} +...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. + +## {% linkable_title Reporting Issues %} +Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template. + + +## Breaking Changes + +- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change) +- MQTT Switch: command and availability payload are now no longer linked. Command and availability payload default to ON/OFF and must be configured individually if custom values are required. ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change) + +```yaml + - platform: mqtt + name: "Kitchen" + state_topic: "stat/sonoff_1/POWER" + command_topic: "cmnd/sonoff_1/POWER" + availability_topic: "tele/sonoff_1/LWT" + payload_available: "Online" + payload_not_available: "Offline" + retain: true +``` + +- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform) + +```yaml +usps: + username: user + password: pass + name: optional +``` + +- eliqonline: The optional channel_id configuration variable of the Eliqonline sensor needs to be a positive integer. ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change) +- MySensors: Not a breaking change per se but users that have not been following the mysensors [serial API](https://www.mysensors.org/download/serial_api_20) could face dropped messages after this change. Messages are now validated according to the API before being passed along from/to devices. See [0.11 release notes](https://github.com/theolind/pymysensors/releases/tag/0.11) for more info. ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change) +- Automatic has disabled password authentication on their API. Home Assistant will now use OAuth2 to authenticate accounts. The following steps must be taken to transition your setup: + 1) Log in to your Automatic developer account. In the Automatic Developer Apps Manager, specify the OAuth Redirect URL in the developer page. This should be configured to `/api/automatic/callback`. (Example: `http://hassio.local:8123/api/automatic/callback`) Note that this URL only needs to be accessible from the browser you use to perform the authentication. + 2) Remove username/password from your automatic device tracker configuration in configuration.yaml. + 3) If you have authorized your account for `scope:current_location`, add `current_location: true` to your automatic device tracker configuration in configuration.yaml. + 4) When you restart home assistant, click on the Automatic Configure link in the Configurator card, and follow the instructions to authorize Home Assistant.

    NOTE: Automatic's API is currently not correctly authorizing with refresh tokens, so Step 4 currently needs to be performed after every restart. ([@armills] - [#8962] [#9002]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change) + +## All changes + +- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform) +- Fix hue lights for Philips and non-philips lights ([@groth-its] - [#8905]) ([light.hue docs]) +- Fixed cert_expiry sensor to delay firing on HA startup ([@arsaboo] - [#8920]) ([sensor.cert_expiry docs]) +- Remove spaces from Xiami switch attributes ([@syssi] - [#8952]) ([switch.xiaomi docs]) (breaking change) +- Add service to alarm control panel for night mode arming ([@schmittx] - [#8614]) ([alarm_control_panel docs]) ([alarm_control_panel.totalconnect docs]) +- Add support for Automatic OAuth2 authentication ([@armills] - [#8962]) ([configurator docs]) ([device_tracker.automatic docs]) (breaking change) +- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform) +- Added continue-on-errors, added value template ([@iamjackg] - [#8971]) ([sensor.snmp docs]) +- Is_allowed_path raise for None path ([@danielhiversen] - [#8953]) +- Fix #8960 - Decora Wi-Fi Switch unable to set brightness ([@tlyakhov] - [#8989]) ([light.decora_wifi docs]) +- Adds port/SSL config options for RainMachine ([@bachya] - [#8986]) ([switch.rainmachine docs]) +- Automatic device tracker remove password ([@armills] - [#9002]) ([device_tracker.automatic docs]) (breaking change) +- Add scripts editor backend ([@balloob] - [#8993]) ([config docs]) ([script docs]) (new-platform) +- MQTT Switch - Add configurable availability payload ([@timstanley1985] - [#8934]) ([switch.mqtt docs]) (breaking change) +- Buienradar newconditions ([@mjj4791] - [#8897]) ([sensor.buienradar docs]) ([weather.buienradar docs]) +- Pushbullet, fix multiple messages sent when url param is set ([@karlkar] - [#9006]) ([notify.pushbullet docs]) +- Update to pyenvisalink 2.2, and remove range validation on zonedump i… ([@Cinntax] - [#8981]) ([envisalink docs]) +- Fix #9010 - Swiss Public Transportation shows departure time in the past ([@michaelhertig] - [#9011]) ([sensor.swiss_public_transport docs]) +- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform) +- Update onkyo-eiscp to 1.2.3 ([@danieljkemp] - [#9019]) ([media_player.onkyo docs]) +- Check if album image(s) exist in spotify ([@Tommatheussen] - [#9024]) ([media_player.spotify docs]) +- Update ffmpeg to 1.7 to fix severals problems ([@pvizeli] - [#9029]) +- Add state_with_unit property to state objects in templates ([@balloob] - [#9014]) +- Fix Geizhals index issue when not 4 prices available ([@celeroll] - [#9035]) ([sensor.geizhals docs]) +- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform) +- Set password after connecting. Fixes #8983 ([@StevenLooman] - [#9039]) ([media_player.mpd docs]) +- Update iOS sensor (battery icon fix and format updates) ([@schmittx] - [#9032]) +- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform) +- Update pwmled to 1.2.1. ([@soldag] - [#9040]) ([light.rpi_gpio_pwm docs]) +- Configurable timeout for webostv. ([@soldag] - [#9042]) ([media_player.webostv docs]) +- Update ios.py ([@schmittx] - [#9041]) ([sensor.ios docs]) +- Support Windows in UPNP discovery ([@kabongsteve] - [#8936]) +- Upgrade python-pushover to 0.3 ([@fanaticDavid] - [#9045]) ([notify.pushover docs]) +- Add speeds to fan dropdown in ISY fan component ([@boojew] - [#9004]) ([fan.isy994 docs]) +- Update Fitbit sensor (icons, formatting, client update) ([@schmittx] - [#9031]) ([sensor.fitbit docs]) +- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform) +- LIFX: avoid rare NoneType errors ([@amelchio] - [#9054]) ([light.lifx docs]) +- Bump dlib face_recognition to 0.2.2 ([@arsaboo] - [#9060]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs]) +- Update fitbit.py ([@schmittx] - [#9064]) ([sensor.fitbit docs]) +- Upgrade sendgrid to 5.0.0 ([@fabaff] - [#9062]) ([notify.sendgrid docs]) +- Upgrade slacker to 0.9.60 ([@fabaff] - [#9065]) ([notify.slack docs]) +- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform) +- Upgrade onkyo-eiscp to 1.2.4 (fixes #8995) ([@fabaff] - [#9068]) ([media_player.onkyo docs]) +- Workday sensor offset ([@LaStrada] - [#8824]) ([binary_sensor.workday docs]) +- eliqonline: channel id is an integer ([@molobrakos] - [#9072]) ([sensor.eliqonline docs]) (breaking change) +- Use builtin constants for Abode alarm_control_panel ([@arsaboo] - [#9059]) ([alarm_control_panel.abode docs]) +- bump python-ecobee-api version to 0.0.8 ([@nkgilley] - [#9074]) ([ecobee docs]) +- Bump abodepy to 0.7.1 ([@arsaboo] - [#9077]) ([abode docs]) +- async_query returns False if connection to server failed, handle this properly ([@molobrakos] - [#9070]) ([media_player.squeezebox docs]) +- Added insteonplm device_override multiple capabilities ([@teharris1] - [#9078]) ([insteon_plm docs]) +- Upgrade uber_rides to 0.5.1 ([@fabaff] - [#9080]) ([sensor.uber docs]) +- Upgrade discord.py to 0.16.10 ([@fabaff] - [#9082]) ([notify.discord docs]) +- Fix `device` attribute in fritz_callmonitor.py (fixes #9055) ([@870074+max-te] - [#9081]) ([sensor.fritzbox_callmonitor docs]) +- Upgrade youtube_dl to 2017.8.18 ([@fabaff] - [#9079]) ([media_extractor docs]) +- Remove dash ([@fabaff] - [#9089]) +- Upgrade credstash to 1.13.3 ([@fabaff] - [#9088]) +- 9043 Fixed error while running dev docker ([@MungoRae] - [#9044]) +- Don't redefine consts ([@fabaff] - [#9086]) ([notify.hipchat docs]) +- Fix octoprint errors when printer is off/disconnected ([@w1ll1am23] - [#8988]) ([octoprint docs]) ([sensor.octoprint docs]) +- Pilight switch: restore last state after restart ([@janLo] - [#8580]) ([switch.pilight docs]) +- Fix netdata system_load and add disk_free. ([@michaelarnauts] - [#9091]) ([sensor.netdata docs]) +- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform) +- Support changing the bulb color for tplink smartbulbs, fixes #8766 ([@rytilahti] - [#8780]) ([light.tplink docs]) +- bump snapcast version ([@happyleavesaoc] - [#9100]) ([media_player.snapcast docs]) +- bump fedex version ([@happyleavesaoc] - [#9099]) ([sensor.fedex docs]) +- Yeelight fix updates on hsv mode ([@rytilahti] - [#9093]) ([light.yeelight docs]) +- Catch exceptions ([@fabaff] - [#9085]) ([notify.discord docs]) +- Fix issue 8894 with uk_transport component if no next_buses or next_trains ([@robmarkcole] - [#9046]) ([sensor.uk_transport docs]) +- upgrade Xiaomi Gateway lib to 0.3 ([@danielhiversen] - [#9101]) ([xiaomi docs]) +- pythonegardia package requirement to .18 ([@jeroenterheerdt] - [#9104]) ([alarm_control_panel.egardia docs]) +- Simplisafe unknown status fix ([@lekobob] - [#9111]) ([alarm_control_panel.simplisafe docs]) +- Update flux_led.py ([@danielhiversen] - [#9122]) ([light.flux_led docs]) +- Xiaomi ([@danielhiversen] - [#9126]) ([xiaomi docs]) +- refactor pushbullet ([@danielhiversen] - [#9125]) ([notify.pushbullet docs]) +- optimistic mode for template covers (w/o timed movement) ([@PhracturedBlue] - [#8402]) ([cover.template docs]) +- Use const ([@fabaff] - [#9127]) ([prometheus docs]) +- Refactor mysensors callback and add validation ([@MartinHjelmare] - [#9069]) ([mysensors docs]) ([binary_sensor.mysensors docs]) ([climate.mysensors docs]) ([cover.mysensors docs]) ([device_tracker.mysensors docs]) ([light.mysensors docs]) ([notify.mysensors docs]) ([sensor.mysensors docs]) ([switch.mysensors docs]) (breaking change) + +[#8402]: https://github.com/home-assistant/home-assistant/pull/8402 +[#8580]: https://github.com/home-assistant/home-assistant/pull/8580 +[#8614]: https://github.com/home-assistant/home-assistant/pull/8614 +[#8679]: https://github.com/home-assistant/home-assistant/pull/8679 +[#8780]: https://github.com/home-assistant/home-assistant/pull/8780 +[#8824]: https://github.com/home-assistant/home-assistant/pull/8824 +[#8860]: https://github.com/home-assistant/home-assistant/pull/8860 +[#8897]: https://github.com/home-assistant/home-assistant/pull/8897 +[#8905]: https://github.com/home-assistant/home-assistant/pull/8905 +[#8912]: https://github.com/home-assistant/home-assistant/pull/8912 +[#8918]: https://github.com/home-assistant/home-assistant/pull/8918 +[#8920]: https://github.com/home-assistant/home-assistant/pull/8920 +[#8934]: https://github.com/home-assistant/home-assistant/pull/8934 +[#8936]: https://github.com/home-assistant/home-assistant/pull/8936 +[#8952]: https://github.com/home-assistant/home-assistant/pull/8952 +[#8953]: https://github.com/home-assistant/home-assistant/pull/8953 +[#8957]: https://github.com/home-assistant/home-assistant/pull/8957 +[#8962]: https://github.com/home-assistant/home-assistant/pull/8962 +[#8971]: https://github.com/home-assistant/home-assistant/pull/8971 +[#8981]: https://github.com/home-assistant/home-assistant/pull/8981 +[#8986]: https://github.com/home-assistant/home-assistant/pull/8986 +[#8988]: https://github.com/home-assistant/home-assistant/pull/8988 +[#8989]: https://github.com/home-assistant/home-assistant/pull/8989 +[#8993]: https://github.com/home-assistant/home-assistant/pull/8993 +[#9002]: https://github.com/home-assistant/home-assistant/pull/9002 +[#9004]: https://github.com/home-assistant/home-assistant/pull/9004 +[#9006]: https://github.com/home-assistant/home-assistant/pull/9006 +[#9011]: https://github.com/home-assistant/home-assistant/pull/9011 +[#9014]: https://github.com/home-assistant/home-assistant/pull/9014 +[#9019]: https://github.com/home-assistant/home-assistant/pull/9019 +[#9020]: https://github.com/home-assistant/home-assistant/pull/9020 +[#9024]: https://github.com/home-assistant/home-assistant/pull/9024 +[#9028]: https://github.com/home-assistant/home-assistant/pull/9028 +[#9029]: https://github.com/home-assistant/home-assistant/pull/9029 +[#9030]: https://github.com/home-assistant/home-assistant/pull/9030 +[#9031]: https://github.com/home-assistant/home-assistant/pull/9031 +[#9032]: https://github.com/home-assistant/home-assistant/pull/9032 +[#9035]: https://github.com/home-assistant/home-assistant/pull/9035 +[#9039]: https://github.com/home-assistant/home-assistant/pull/9039 +[#9040]: https://github.com/home-assistant/home-assistant/pull/9040 +[#9041]: https://github.com/home-assistant/home-assistant/pull/9041 +[#9042]: https://github.com/home-assistant/home-assistant/pull/9042 +[#9044]: https://github.com/home-assistant/home-assistant/pull/9044 +[#9045]: https://github.com/home-assistant/home-assistant/pull/9045 +[#9046]: https://github.com/home-assistant/home-assistant/pull/9046 +[#9054]: https://github.com/home-assistant/home-assistant/pull/9054 +[#9059]: https://github.com/home-assistant/home-assistant/pull/9059 +[#9060]: https://github.com/home-assistant/home-assistant/pull/9060 +[#9062]: https://github.com/home-assistant/home-assistant/pull/9062 +[#9064]: https://github.com/home-assistant/home-assistant/pull/9064 +[#9065]: https://github.com/home-assistant/home-assistant/pull/9065 +[#9068]: https://github.com/home-assistant/home-assistant/pull/9068 +[#9069]: https://github.com/home-assistant/home-assistant/pull/9069 +[#9070]: https://github.com/home-assistant/home-assistant/pull/9070 +[#9072]: https://github.com/home-assistant/home-assistant/pull/9072 +[#9074]: https://github.com/home-assistant/home-assistant/pull/9074 +[#9077]: https://github.com/home-assistant/home-assistant/pull/9077 +[#9078]: https://github.com/home-assistant/home-assistant/pull/9078 +[#9079]: https://github.com/home-assistant/home-assistant/pull/9079 +[#9080]: https://github.com/home-assistant/home-assistant/pull/9080 +[#9081]: https://github.com/home-assistant/home-assistant/pull/9081 +[#9082]: https://github.com/home-assistant/home-assistant/pull/9082 +[#9085]: https://github.com/home-assistant/home-assistant/pull/9085 +[#9086]: https://github.com/home-assistant/home-assistant/pull/9086 +[#9088]: https://github.com/home-assistant/home-assistant/pull/9088 +[#9089]: https://github.com/home-assistant/home-assistant/pull/9089 +[#9091]: https://github.com/home-assistant/home-assistant/pull/9091 +[#9093]: https://github.com/home-assistant/home-assistant/pull/9093 +[#9099]: https://github.com/home-assistant/home-assistant/pull/9099 +[#9100]: https://github.com/home-assistant/home-assistant/pull/9100 +[#9101]: https://github.com/home-assistant/home-assistant/pull/9101 +[#9104]: https://github.com/home-assistant/home-assistant/pull/9104 +[#9111]: https://github.com/home-assistant/home-assistant/pull/9111 +[#9122]: https://github.com/home-assistant/home-assistant/pull/9122 +[#9125]: https://github.com/home-assistant/home-assistant/pull/9125 +[#9126]: https://github.com/home-assistant/home-assistant/pull/9126 +[#9127]: https://github.com/home-assistant/home-assistant/pull/9127 +[@870074+max-te]: https://github.com/870074+max-te +[@BioSehnsucht]: https://github.com/BioSehnsucht +[@Cinntax]: https://github.com/Cinntax +[@LaStrada]: https://github.com/LaStrada +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MungoRae]: https://github.com/MungoRae +[@PhracturedBlue]: https://github.com/PhracturedBlue +[@StevenLooman]: https://github.com/StevenLooman +[@Tommatheussen]: https://github.com/Tommatheussen +[@aetolus]: https://github.com/aetolus +[@amelchio]: https://github.com/amelchio +[@armills]: https://github.com/armills +[@arsaboo]: https://github.com/arsaboo +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@boojew]: https://github.com/boojew +[@celeroll]: https://github.com/celeroll +[@danielhiversen]: https://github.com/danielhiversen +[@danieljkemp]: https://github.com/danieljkemp +[@fabaff]: https://github.com/fabaff +[@fanaticDavid]: https://github.com/fanaticDavid +[@groth-its]: https://github.com/groth-its +[@happyleavesaoc]: https://github.com/happyleavesaoc +[@iamjackg]: https://github.com/iamjackg +[@janLo]: https://github.com/janLo +[@jeroenterheerdt]: https://github.com/jeroenterheerdt +[@kabongsteve]: https://github.com/kabongsteve +[@karlkar]: https://github.com/karlkar +[@lekobob]: https://github.com/lekobob +[@mbrrg]: https://github.com/mbrrg +[@mezz64]: https://github.com/mezz64 +[@michaelarnauts]: https://github.com/michaelarnauts +[@michaelhertig]: https://github.com/michaelhertig +[@mjj4791]: https://github.com/mjj4791 +[@molobrakos]: https://github.com/molobrakos +[@nkgilley]: https://github.com/nkgilley +[@pschmitt]: https://github.com/pschmitt +[@pvizeli]: https://github.com/pvizeli +[@robmarkcole]: https://github.com/robmarkcole +[@rytilahti]: https://github.com/rytilahti +[@schmittx]: https://github.com/schmittx +[@soldag]: https://github.com/soldag +[@syssi]: https://github.com/syssi +[@teharris1]: https://github.com/teharris1 +[@timstanley1985]: https://github.com/timstanley1985 +[@tlyakhov]: https://github.com/tlyakhov +[@w1ll1am23]: https://github.com/w1ll1am23 +[abode docs]: https://home-assistant.io/components/abode/ +[alarm_control_panel docs]: https://home-assistant.io/components/alarm_control_panel/ +[alarm_control_panel.abode docs]: https://home-assistant.io/components/alarm_control_panel.abode/ +[alarm_control_panel.egardia docs]: https://home-assistant.io/components/alarm_control_panel.egardia/ +[alarm_control_panel.simplisafe docs]: https://home-assistant.io/components/alarm_control_panel.simplisafe/ +[alarm_control_panel.totalconnect docs]: https://home-assistant.io/components/alarm_control_panel.totalconnect/ +[binary_sensor.abode docs]: https://home-assistant.io/components/binary_sensor.abode/ +[binary_sensor.mysensors docs]: https://home-assistant.io/components/binary_sensor.mysensors/ +[binary_sensor.workday docs]: https://home-assistant.io/components/binary_sensor.workday/ +[camera.usps docs]: https://home-assistant.io/components/camera.usps/ +[climate.mysensors docs]: https://home-assistant.io/components/climate.mysensors/ +[config docs]: https://home-assistant.io/components/config/ +[configurator docs]: https://home-assistant.io/components/configurator/ +[cover.mysensors docs]: https://home-assistant.io/components/cover.mysensors/ +[cover.template docs]: https://home-assistant.io/components/cover.template/ +[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/ +[device_tracker.mysensors docs]: https://home-assistant.io/components/device_tracker.mysensors/ +[ecobee docs]: https://home-assistant.io/components/ecobee/ +[emulated_hue.upnp docs]: https://home-assistant.io/components/emulated_hue.upnp/ +[envisalink docs]: https://home-assistant.io/components/envisalink/ +[fan.isy994 docs]: https://home-assistant.io/components/fan.isy994/ +[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/ +[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/ +[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/ +[light.decora_wifi docs]: https://home-assistant.io/components/light.decora_wifi/ +[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/ +[light.hue docs]: https://home-assistant.io/components/light.hue/ +[light.lifx docs]: https://home-assistant.io/components/light.lifx/ +[light.mysensors docs]: https://home-assistant.io/components/light.mysensors/ +[light.rpi_gpio_pwm docs]: https://home-assistant.io/components/light.rpi_gpio_pwm/ +[light.tplink docs]: https://home-assistant.io/components/light.tplink/ +[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/ +[lock.nello docs]: https://home-assistant.io/components/lock.nello/ +[media_extractor docs]: https://home-assistant.io/components/media_extractor/ +[media_player.mpd docs]: https://home-assistant.io/components/media_player.mpd/ +[media_player.onkyo docs]: https://home-assistant.io/components/media_player.onkyo/ +[media_player.snapcast docs]: https://home-assistant.io/components/media_player.snapcast/ +[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/ +[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/ +[media_player.webostv docs]: https://home-assistant.io/components/media_player.webostv/ +[mysensors docs]: https://home-assistant.io/components/mysensors/ +[notify.discord docs]: https://home-assistant.io/components/notify.discord/ +[notify.hipchat docs]: https://home-assistant.io/components/notify.hipchat/ +[notify.mysensors docs]: https://home-assistant.io/components/notify.mysensors/ +[notify.prowl docs]: https://home-assistant.io/components/notify.prowl/ +[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/ +[notify.pushover docs]: https://home-assistant.io/components/notify.pushover/ +[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/ +[notify.slack docs]: https://home-assistant.io/components/notify.slack/ +[octoprint docs]: https://home-assistant.io/components/octoprint/ +[prometheus docs]: https://home-assistant.io/components/prometheus/ +[script docs]: https://home-assistant.io/components/script/ +[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/ +[sensor.cert_expiry docs]: https://home-assistant.io/components/sensor.cert_expiry/ +[sensor.eliqonline docs]: https://home-assistant.io/components/sensor.eliqonline/ +[sensor.fedex docs]: https://home-assistant.io/components/sensor.fedex/ +[sensor.fitbit docs]: https://home-assistant.io/components/sensor.fitbit/ +[sensor.fritzbox_callmonitor docs]: https://home-assistant.io/components/sensor.fritzbox_callmonitor/ +[sensor.geizhals docs]: https://home-assistant.io/components/sensor.geizhals/ +[sensor.ios docs]: https://home-assistant.io/components/sensor.ios/ +[sensor.london_air docs]: https://home-assistant.io/components/sensor.london_air/ +[sensor.mysensors docs]: https://home-assistant.io/components/sensor.mysensors/ +[sensor.netdata docs]: https://home-assistant.io/components/sensor.netdata/ +[sensor.octoprint docs]: https://home-assistant.io/components/sensor.octoprint/ +[sensor.snmp docs]: https://home-assistant.io/components/sensor.snmp/ +[sensor.swiss_public_transport docs]: https://home-assistant.io/components/sensor.swiss_public_transport/ +[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/ +[sensor.uk_transport docs]: https://home-assistant.io/components/sensor.uk_transport/ +[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/ +[sensor.version docs]: https://home-assistant.io/components/sensor.version/ +[sensor.worldtidesinfo docs]: https://home-assistant.io/components/sensor.worldtidesinfo/ +[switch.mqtt docs]: https://home-assistant.io/components/switch.mqtt/ +[switch.mysensors docs]: https://home-assistant.io/components/switch.mysensors/ +[switch.pilight docs]: https://home-assistant.io/components/switch.pilight/ +[switch.rainmachine docs]: https://home-assistant.io/components/switch.rainmachine/ +[switch.xiaomi docs]: https://home-assistant.io/components/switch.xiaomi/ +[usps docs]: https://home-assistant.io/components/usps/ +[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/ +[xiaomi docs]: https://home-assistant.io/components/xiaomi/ +[forum]: https://community.home-assistant.io/ +[issue]: https://github.com/home-assistant/home-assistant/issues +[discord]: https://discord.gg/c5DvZ4e diff --git a/source/images/blog/2017-08-0.52/components.png b/source/images/blog/2017-08-0.52/components.png new file mode 100644 index 00000000000..14225ee5fee Binary files /dev/null and b/source/images/blog/2017-08-0.52/components.png differ