From 8ffd8883addf5fe1e332ff45eda1ed2f214a8cf5 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 26 Jan 2018 21:07:25 -0800 Subject: [PATCH] Add release blog post for 0.62 --- source/_posts/2018-01-27-release-62.markdown | 480 ++++++++++++++++++ source/hassio/index.markdown | 1 + .../images/blog/2018-01-0.62/components.png | Bin 0 -> 23954 bytes 3 files changed, 481 insertions(+) create mode 100644 source/_posts/2018-01-27-release-62.markdown create mode 100644 source/images/blog/2018-01-0.62/components.png diff --git a/source/_posts/2018-01-27-release-62.markdown b/source/_posts/2018-01-27-release-62.markdown new file mode 100644 index 00000000000..60a7f006010 --- /dev/null +++ b/source/_posts/2018-01-27-release-62.markdown @@ -0,0 +1,480 @@ +--- +layout: post +title: "0.62: MyChevy, Iota and Venstar Thermostat" +description: "Keep track of your Chevy Bolt, monitor your IOTA wallets and control your Venstar Thermostats." +date: 2018-01-27 01:00:00 +date_formatted: "January 27, 2018" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2018-01-0.62/components.png +--- + + + +Second release of the year and it's buzzing on GitHub. This release we had 70 people contribute code. We've also managed to finally get our PR count below a 100 open PRs again. A lot of cool stuff still waiting to make it to a future Home Assistant release. + +I want to give a shout out to [@martinhjelmare] and [@frenck]. Martin is doing an amazing job at code reviews and Franck has been kicking ass with Hass.io add-ons and keeping track of our documentation PRs. Thanks for this amazing work! + +## MyChevy + +With this new integration by [@sdague] you are able to keep an eye on your Chevy Bolt EV. Keep track if your car is plugged in, the battery stats and the range it is currently capable of driving. Hip! + +## New Platforms + +- Adding support for Lutron covers ([@nickovs] - [#11602]) ([lutron docs]) ([cover.lutron docs]) (new-platform) +- Add basic mychevy component ([@sdague] - [#11409]) ([mychevy docs]) (new-platform) +- Added support for TekSavvy bandwidth sensor ([@jpjodoin] - [#11186]) ([sensor.teksavvy docs]) (new-platform) +- Ihc component and platforms ([@dingusdk] - [#10916]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([sensor.ihc docs]) ([switch.ihc docs]) (new-platform) +- Iota wallet ([@jinnerbichler] - [#11398]) ([iota docs]) ([sensor.iota docs]) (new-platform) + +## {% linkable_title If you need help... %} + +...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). 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](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. + + + +## Breaking Changes + +- Tahoma platform will get new entity IDs ([@glpatcern] - [#11547]) ([tahoma docs]) ([cover.tahoma docs]) (breaking change) +- Mold indicator: attribute names no longer include spaces or periods ([@olskar] - [#11694]) ([sensor.mold_indicator docs]) (breaking change) +- Custom component devs only: `EntityComponent.add_entity(entity)` and `EntityComponent.async_add_entity(entity)` have been removed. Use `EntityComponent.add_entities([entity])` and `EntityComponent.async_add_entities([entity])` instead. ([@balloob] - [#11691]) (breaking change) + +## All changes + +- Upgrade keyring to 10.6.0 ([@fabaff] - [#11608]) +- Upgrad youtube_dl to 2017.12.31 ([@fabaff] - [#11610]) +- small sonos cleanup ([@pvizeli] - [#11607]) ([media_player.sonos docs]) +- Update Xiaomi Miio compontent broken URI ([@keesschollaart81] - [#11621]) ([light.xiaomi_miio docs]) +- light/mqqt_json: allow brightness scaling ([@jkoelker] - [#11613]) +- Adding support for Lutron covers ([@nickovs] - [#11602]) ([lutron docs]) ([cover.lutron docs]) (new-platform) +- Hyperion: Add brightness, HDMI and effect support ([@starkillerOG] - [#11543]) ([light.hyperion docs]) +- Fixes and enhancements for the Tahoma platform ([@glpatcern] - [#11547]) ([tahoma docs]) ([cover.tahoma docs]) (breaking change) +- upgrade xiaomi lib ([@danielhiversen] - [#11629]) +- Add templates to MQTT climate ([@tinloaf] - [#11623]) +- Upgrade coinmarketcap to 4.1.2 ([@fabaff] - [#11634]) +- Add Deconz support for Zigbee green power devices like Hue Tap ([@Kane610] - [#11455]) ([deconz docs]) ([sensor.deconz docs]) +- Bump dev to 0.62.0.dev0 ([@fabaff] - [#11652]) +- Add ability to specify a sender in the clicksend notification ([@heydonms] - [#11046]) ([notify.clicksend docs]) +- Round values to one decimal ([@covrig] - [#11673]) ([sensor.xiaomi_aqara docs]) +- Add basic mychevy component ([@sdague] - [#11409]) ([mychevy docs]) (new-platform) +- update mypy commandline arguments ([@benleb] - [#11638]) +- Add support for configuring jeelink RF parameters ([@hthiery] - [#11620]) +- Wemo Dimmer Support ([@angel12] - [#10882]) ([wemo docs]) ([light.wemo docs]) +- add temperature controls to eph-ember ([@ttroy50] - [#11400]) ([climate.ephember docs]) +- Upgrade youtube_dl to 2018.01.14 ([@fabaff] - [#11661]) +- Change line separator to LN ([@fabaff] - [#11662]) ([hive docs]) ([map docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([notify.prowl docs]) ([sensor.hive docs]) ([switch.hive docs]) +- Upgrade sqlalchemy to 1.2.1 ([@fabaff] - [#11666]) +- Upgrade pylast to 2.1.0 ([@fabaff] - [#11668]) +- Added extra arguments to onvif platform config ([@karlkar] - [#11680]) ([camera.onvif docs]) +- Enable probot move ([@fabaff] - [#11690]) +- fixed not to include spaces or dots in attribute names ([@olskar] - [#11694]) ([sensor.mold_indicator docs]) (breaking change) +- Add attributes ([@fabaff] - [#11698]) ([sensor.random docs]) +- Feature/fritzdect errorhandling ([@BastianPoe] - [#11490]) ([switch.fritzdect docs]) +- Tesla bug fix #11598 ([@zabuldon] - [#11707]) +- Update mold_indicator.py ([@olskar] - [#11715]) ([sensor.mold_indicator docs]) +- Override default name for TP-Link devices ([@DanNixon] - [#11710]) ([light.tplink docs]) ([switch.tplink docs]) +- Don't use None inside header ([@pvizeli] - [#11725]) ([hassio docs]) +- Add enable_output service to Yamaha platform ([@postlund] - [#11103]) ([media_player.yamaha docs]) +- Fix effects not appearing in UI due to missing attribute ([@shortbloke] - [#11738]) ([light.flux_led docs]) +- Fix for None object access attempt ([@karlkar] - [#11748]) +- Fixed universal media player templated source_select bug (issue #10981) and corrected typo in test_universal ([@iliketoprogram14] - [#11746]) +- Fix Tahoma device class ([@bakedraccoon] - [#11745]) ([cover.tahoma docs]) +- Add deCONZ entities in a predicitive order ([@Kane610] - [#11712]) ([binary_sensor.deconz docs]) ([sensor.deconz docs]) +- Xbox sensor - Extend error handling ([@ReneNulschDE] - [#11637]) ([sensor.xbox_live docs]) +- Upgrade netdisco ([@balloob] - [#11752]) +- set default value for rfxtrx config ([@danielhiversen] - [#11767]) ([binary_sensor.rfxtrx docs]) +- Round off exchange rate ([@arsaboo] - [#11765]) ([sensor.alpha_vantage docs]) +- Update icon (fixes #11744) ([@fabaff] - [#11758]) ([sensor.fixer docs]) +- Use localized forecast for openweathermap ([@brainexe] - [#11770]) ([sensor.openweathermap docs]) +- Unit should be mph as that is what the metoffices datapoint API returns ([@ioangogo] - [#11760]) ([sensor.metoffice docs]) +- Owntracks: Use bluetooth_le as source_type if beacon was used for location change. ([@cnrd] - [#11615]) ([device_tracker.owntracks docs]) +- Add a 'last' mode and attribute to min_max sensor ([@markferry] - [#11037]) ([sensor.min_max docs]) +- Update header and make it less verbose ([@fabaff] - [#11774]) ([asterisk_mbox docs]) +- Added support for TekSavvy bandwidth sensor ([@jpjodoin] - [#11186]) ([sensor.teksavvy docs]) (new-platform) +- Fix for Neato D3 and D5 ([@karlkar] - [#11775]) +- Axis discovery fails to save conf ([@Kane610] - [#11769]) ([axis docs]) +- Limit service description loading to a single thread ([@amelchio] - [#11733]) +- Snips: (change) Removed unknown intent speech response ([@tschmidty69] - [#11776]) ([snips docs]) +- Implemented event_data_template (new) ([@tschmidty69] - [#11057]) +- Fix PEP8 and PEP257 issues ([@fabaff] - [#11780]) ([deconz docs]) ([scene docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs]) +- Fix typos ([@fabaff] - [#11781]) ([system_log docs]) +- Support for performance mode on Rheem water heaters. ([@w1ll1am23] - [#11786]) ([climate.econet docs]) +- Service for setting a fixed scene of Xiaomi MIIO lights ([@syssi] - [#10819]) ([light.xiaomi_miio docs]) +- Homematic ip tilt covers ([@steffenslavetinsky] - [#11650]) ([cover.homematic docs]) +- plant - check history for min_brightness ([@ChristianKuehnel] - [#9534]) ([plant docs]) +- add generic rollershutter agian, was missing in last merge ([@philklei] - [#11788]) ([tahoma docs]) +- Additional attributes and services of the Xiaomi Air Purifier introduced ([@syssi] - [#11249]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs]) +- flux led version 0.20 ([@danielhiversen] - [#11791]) +- Hyperion: fix ([@starkillerOG] - [#11793]) ([light.hyperion docs]) +- Fix sensibo function names ([@andrey-git] - [#11797]) ([climate.sensibo docs]) +- Always load yr picture from https ([@andrey-git] - [#11796]) ([sensor.yr docs]) +- Make Google TTS secure ([@PRabahy] - [#11031]) ([tts.google docs]) +- Correct inadvertent change to file permissions ([@shortbloke] - [#11755]) ([light.flux_led docs]) +- Fix recorder purge ([@tinloaf] - [#11802]) +- Disable installing Telldus in Docker ([@balloob] - [#11806]) +- Nad ([@robhuls] - [#11800]) +- bump roku version ([@soberstadt] - [#11816]) +- MiFlora - use bluepy on linux systems ([@ChristianKuehnel] - [#11284]) ([light.decora docs]) ([sensor.miflora docs]) +- Ihc component and platforms ([@dingusdk] - [#10916]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([sensor.ihc docs]) ([switch.ihc docs]) (new-platform) +- Change telldus domain to download.telldus.com ([@michaelarnauts] - [#11825]) +- Add more workday sensor countries and update holidays library to version 0.9.3 ([@drndos] - [#11826]) ([binary_sensor.workday docs]) +- Add missing availability schema to MQTT alarm panel ([@DanNixon] - [#11829]) ([alarm_control_panel.mqtt docs]) +- python-miio version bumped. Fixes all xiaomi_miio components. (Closes: #11768) ([@syssi] - [#11837]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs]) +- Add waterfurnace platform ([@sdague] - [#11732]) +- (Re)Enable Daikin autodiscovery ([@rofrantz] - [#11842]) +- Fixes for PEP257 ([@fabaff] - [#11810]) +- bump eq3bt version ([@rytilahti] - [#11834]) ([climate.eq3btsmart docs]) +- Fix Unifi direct errors caused by AP reboot. ([@w1ll1am23] - [#11835]) ([device_tracker.unifi_direct docs]) +- Change 'on' to 'heat' as fallback thermostat mode ([@andrewdolphin] - [#11377]) ([google_assistant docs]) +- Use strict timeout when polling Samsung TV (Fix for #6375) ([@kennedyshead] - [#11759]) ([media_player.samsungtv docs]) +- Fix issues with generic thermostat ([@ciotlosm] - [#11805]) +- maxcube: Set MAX! Window Sensor's class to 'window' ([@leppa] - [#11799]) ([binary_sensor.maxcube docs]) +- Fix new iframe panel url ([@pvizeli] - [#11850]) ([hassio docs]) +- Fix races on recorder test ([@sdague] - [#11857]) +- Clean up entity component ([@balloob] - [#11691]) (breaking change) +- Allow exposing sensors as temperature or humidity 'climate' devices to Google Assistant ([@rofrantz] - [#11095]) ([google_assistant docs]) +- BME680 Sensor Component ([@arcsur] - [#11695]) +- Respond to Alexa scene activation correctly ([@bitglue] - [#11869]) ([alexa docs]) +- Checking Xiaomi Aqara devices unavailability states ([@PaulAnnekov] - [#11631]) ([xiaomi_aqara docs]) ([binary_sensor.xiaomi_aqara docs]) ([cover.xiaomi_aqara docs]) ([light.xiaomi_aqara docs]) ([sensor.xiaomi_aqara docs]) ([switch.xiaomi_aqara docs]) +- Hass.io panel v2 ([@pvizeli] - [#11860]) ([hassio docs]) +- Add missing mock call for test_minimal_config ([@sdague] - [#11858]) +- Expose Alexa Smart Home via HTTP POST ([@bitglue] - [#11859]) ([alexa docs]) +- fixed async function called in a thread ([@PaulAnnekov] - [#11882]) ([xiaomi_aqara docs]) +- upgrade ecobee ([@nkgilley] - [#11878]) ([ecobee docs]) +- Fix for hive aux_heat target temperature display ([@Rendili] - [#11884]) ([hive docs]) +- Bump waterfurnace library to 0.3.0 ([@sdague] - [#11888]) ([waterfurnace docs]) +- Postpone "Z-wave not ready" warning ([@amelchio] - [#11807]) ([zwave docs]) +- [SMALL-PR] Don't make climate calls if feature is not supported ([@rofrantz] - [#11841]) ([climate docs]) +- Handle Daikin AC adapters without fan mode and swing mode support ([@rofrantz] - [#11840]) ([climate.daikin docs]) +- device tracker - tomato https support ([@GregoryDosh] - [#11566]) ([device_tracker.tomato docs]) +- Bme680 ([@arcsur] - [#11892]) ([sensor.bme680 docs]) +- Add android option for linux_battery.py ([@mu4yu3] - [#11852]) ([sensor.linux_battery docs]) +- Pushbullet (fix) invalid keyword, added unittests ([@tschmidty69] - [#11804]) +- Snips - (fix) removed endSession mqtt response on error and unknown intents ([@tschmidty69] - [#11908]) ([snips docs]) +- Clarify emulated hue warning ([@balloob] - [#11910]) ([emulated_hue docs]) +- Use API to discover Hue if no bridges specified ([@balloob] - [#11909]) ([hue docs]) +- Update python-wink version and multiple wink fixes/updates. ([@w1ll1am23] - [#11833]) ([wink docs]) ([binary_sensor.wink docs]) ([climate.wink docs]) ([cover.wink docs]) +- New venstar climate component ([@Cinntax] - [#11639]) +- Iota wallet ([@jinnerbichler] - [#11398]) ([iota docs]) ([sensor.iota docs]) (new-platform) +- Improve foscam library exception support ([@i-am-shodan] - [#11701]) ([camera.foscam docs]) +- Added Xeoma camera platform ([@jeradM] - [#11619]) +- Multi-Room Support for Greenwave Reality ([@dfiel] - [#11364]) ([light.greenwave docs]) +- Minor fix to configuration validation and related log line. ([@arcsur] - [#11898]) ([sensor.bme680 docs]) +- Report scripts and groups as scenes to Alexa ([@bitglue] - [#11900]) ([alexa docs]) +- Add ERC20 tokens to etherscan.io sensor ([@nkgilley] - [#11916]) ([sensor.etherscan docs]) +- Allow separate command and state OIDs and payloads in SNMP switch ([@nkaminski] - [#11075]) ([switch.snmp docs]) +- Add "write" service to system_log ([@andrey-git] - [#11901]) ([system_log docs]) +- fixes #11848 ([@kennedyshead] - [#11915]) ([device_tracker.asuswrt docs]) +- Allow setting climate devices to AUTO mode via Google Assistant ([@balloob] - [#11923]) ([google_assistant docs]) ([climate.nest docs]) +- Fixed rfxtrx binary_sensor KeyError on missing optional device_class ([@basschipper] - [#11925]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs]) +- Implement Alexa temperature sensors ([@bitglue] - [#11930]) ([alexa docs]) +- Update pyhomematic to 0.1.38 ([@danielperna84] - [#11936]) ([homematic docs]) + +[#10819]: https://github.com/home-assistant/home-assistant/pull/10819 +[#10882]: https://github.com/home-assistant/home-assistant/pull/10882 +[#10916]: https://github.com/home-assistant/home-assistant/pull/10916 +[#11031]: https://github.com/home-assistant/home-assistant/pull/11031 +[#11037]: https://github.com/home-assistant/home-assistant/pull/11037 +[#11046]: https://github.com/home-assistant/home-assistant/pull/11046 +[#11057]: https://github.com/home-assistant/home-assistant/pull/11057 +[#11075]: https://github.com/home-assistant/home-assistant/pull/11075 +[#11095]: https://github.com/home-assistant/home-assistant/pull/11095 +[#11103]: https://github.com/home-assistant/home-assistant/pull/11103 +[#11186]: https://github.com/home-assistant/home-assistant/pull/11186 +[#11249]: https://github.com/home-assistant/home-assistant/pull/11249 +[#11284]: https://github.com/home-assistant/home-assistant/pull/11284 +[#11364]: https://github.com/home-assistant/home-assistant/pull/11364 +[#11377]: https://github.com/home-assistant/home-assistant/pull/11377 +[#11398]: https://github.com/home-assistant/home-assistant/pull/11398 +[#11400]: https://github.com/home-assistant/home-assistant/pull/11400 +[#11409]: https://github.com/home-assistant/home-assistant/pull/11409 +[#11455]: https://github.com/home-assistant/home-assistant/pull/11455 +[#11490]: https://github.com/home-assistant/home-assistant/pull/11490 +[#11543]: https://github.com/home-assistant/home-assistant/pull/11543 +[#11547]: https://github.com/home-assistant/home-assistant/pull/11547 +[#11566]: https://github.com/home-assistant/home-assistant/pull/11566 +[#11602]: https://github.com/home-assistant/home-assistant/pull/11602 +[#11607]: https://github.com/home-assistant/home-assistant/pull/11607 +[#11608]: https://github.com/home-assistant/home-assistant/pull/11608 +[#11610]: https://github.com/home-assistant/home-assistant/pull/11610 +[#11613]: https://github.com/home-assistant/home-assistant/pull/11613 +[#11615]: https://github.com/home-assistant/home-assistant/pull/11615 +[#11619]: https://github.com/home-assistant/home-assistant/pull/11619 +[#11620]: https://github.com/home-assistant/home-assistant/pull/11620 +[#11621]: https://github.com/home-assistant/home-assistant/pull/11621 +[#11623]: https://github.com/home-assistant/home-assistant/pull/11623 +[#11629]: https://github.com/home-assistant/home-assistant/pull/11629 +[#11631]: https://github.com/home-assistant/home-assistant/pull/11631 +[#11634]: https://github.com/home-assistant/home-assistant/pull/11634 +[#11637]: https://github.com/home-assistant/home-assistant/pull/11637 +[#11638]: https://github.com/home-assistant/home-assistant/pull/11638 +[#11639]: https://github.com/home-assistant/home-assistant/pull/11639 +[#11650]: https://github.com/home-assistant/home-assistant/pull/11650 +[#11652]: https://github.com/home-assistant/home-assistant/pull/11652 +[#11661]: https://github.com/home-assistant/home-assistant/pull/11661 +[#11662]: https://github.com/home-assistant/home-assistant/pull/11662 +[#11666]: https://github.com/home-assistant/home-assistant/pull/11666 +[#11668]: https://github.com/home-assistant/home-assistant/pull/11668 +[#11673]: https://github.com/home-assistant/home-assistant/pull/11673 +[#11680]: https://github.com/home-assistant/home-assistant/pull/11680 +[#11690]: https://github.com/home-assistant/home-assistant/pull/11690 +[#11691]: https://github.com/home-assistant/home-assistant/pull/11691 +[#11694]: https://github.com/home-assistant/home-assistant/pull/11694 +[#11695]: https://github.com/home-assistant/home-assistant/pull/11695 +[#11698]: https://github.com/home-assistant/home-assistant/pull/11698 +[#11701]: https://github.com/home-assistant/home-assistant/pull/11701 +[#11707]: https://github.com/home-assistant/home-assistant/pull/11707 +[#11710]: https://github.com/home-assistant/home-assistant/pull/11710 +[#11712]: https://github.com/home-assistant/home-assistant/pull/11712 +[#11715]: https://github.com/home-assistant/home-assistant/pull/11715 +[#11725]: https://github.com/home-assistant/home-assistant/pull/11725 +[#11732]: https://github.com/home-assistant/home-assistant/pull/11732 +[#11733]: https://github.com/home-assistant/home-assistant/pull/11733 +[#11738]: https://github.com/home-assistant/home-assistant/pull/11738 +[#11745]: https://github.com/home-assistant/home-assistant/pull/11745 +[#11746]: https://github.com/home-assistant/home-assistant/pull/11746 +[#11748]: https://github.com/home-assistant/home-assistant/pull/11748 +[#11752]: https://github.com/home-assistant/home-assistant/pull/11752 +[#11755]: https://github.com/home-assistant/home-assistant/pull/11755 +[#11758]: https://github.com/home-assistant/home-assistant/pull/11758 +[#11759]: https://github.com/home-assistant/home-assistant/pull/11759 +[#11760]: https://github.com/home-assistant/home-assistant/pull/11760 +[#11765]: https://github.com/home-assistant/home-assistant/pull/11765 +[#11767]: https://github.com/home-assistant/home-assistant/pull/11767 +[#11769]: https://github.com/home-assistant/home-assistant/pull/11769 +[#11770]: https://github.com/home-assistant/home-assistant/pull/11770 +[#11774]: https://github.com/home-assistant/home-assistant/pull/11774 +[#11775]: https://github.com/home-assistant/home-assistant/pull/11775 +[#11776]: https://github.com/home-assistant/home-assistant/pull/11776 +[#11780]: https://github.com/home-assistant/home-assistant/pull/11780 +[#11781]: https://github.com/home-assistant/home-assistant/pull/11781 +[#11786]: https://github.com/home-assistant/home-assistant/pull/11786 +[#11788]: https://github.com/home-assistant/home-assistant/pull/11788 +[#11791]: https://github.com/home-assistant/home-assistant/pull/11791 +[#11793]: https://github.com/home-assistant/home-assistant/pull/11793 +[#11796]: https://github.com/home-assistant/home-assistant/pull/11796 +[#11797]: https://github.com/home-assistant/home-assistant/pull/11797 +[#11799]: https://github.com/home-assistant/home-assistant/pull/11799 +[#11800]: https://github.com/home-assistant/home-assistant/pull/11800 +[#11802]: https://github.com/home-assistant/home-assistant/pull/11802 +[#11804]: https://github.com/home-assistant/home-assistant/pull/11804 +[#11805]: https://github.com/home-assistant/home-assistant/pull/11805 +[#11806]: https://github.com/home-assistant/home-assistant/pull/11806 +[#11807]: https://github.com/home-assistant/home-assistant/pull/11807 +[#11810]: https://github.com/home-assistant/home-assistant/pull/11810 +[#11816]: https://github.com/home-assistant/home-assistant/pull/11816 +[#11825]: https://github.com/home-assistant/home-assistant/pull/11825 +[#11826]: https://github.com/home-assistant/home-assistant/pull/11826 +[#11829]: https://github.com/home-assistant/home-assistant/pull/11829 +[#11833]: https://github.com/home-assistant/home-assistant/pull/11833 +[#11834]: https://github.com/home-assistant/home-assistant/pull/11834 +[#11835]: https://github.com/home-assistant/home-assistant/pull/11835 +[#11837]: https://github.com/home-assistant/home-assistant/pull/11837 +[#11840]: https://github.com/home-assistant/home-assistant/pull/11840 +[#11841]: https://github.com/home-assistant/home-assistant/pull/11841 +[#11842]: https://github.com/home-assistant/home-assistant/pull/11842 +[#11850]: https://github.com/home-assistant/home-assistant/pull/11850 +[#11852]: https://github.com/home-assistant/home-assistant/pull/11852 +[#11857]: https://github.com/home-assistant/home-assistant/pull/11857 +[#11858]: https://github.com/home-assistant/home-assistant/pull/11858 +[#11859]: https://github.com/home-assistant/home-assistant/pull/11859 +[#11860]: https://github.com/home-assistant/home-assistant/pull/11860 +[#11869]: https://github.com/home-assistant/home-assistant/pull/11869 +[#11878]: https://github.com/home-assistant/home-assistant/pull/11878 +[#11882]: https://github.com/home-assistant/home-assistant/pull/11882 +[#11884]: https://github.com/home-assistant/home-assistant/pull/11884 +[#11888]: https://github.com/home-assistant/home-assistant/pull/11888 +[#11892]: https://github.com/home-assistant/home-assistant/pull/11892 +[#11898]: https://github.com/home-assistant/home-assistant/pull/11898 +[#11900]: https://github.com/home-assistant/home-assistant/pull/11900 +[#11901]: https://github.com/home-assistant/home-assistant/pull/11901 +[#11908]: https://github.com/home-assistant/home-assistant/pull/11908 +[#11909]: https://github.com/home-assistant/home-assistant/pull/11909 +[#11910]: https://github.com/home-assistant/home-assistant/pull/11910 +[#11915]: https://github.com/home-assistant/home-assistant/pull/11915 +[#11916]: https://github.com/home-assistant/home-assistant/pull/11916 +[#11923]: https://github.com/home-assistant/home-assistant/pull/11923 +[#11925]: https://github.com/home-assistant/home-assistant/pull/11925 +[#11930]: https://github.com/home-assistant/home-assistant/pull/11930 +[#11936]: https://github.com/home-assistant/home-assistant/pull/11936 +[#9534]: https://github.com/home-assistant/home-assistant/pull/9534 +[@BastianPoe]: https://github.com/BastianPoe +[@ChristianKuehnel]: https://github.com/ChristianKuehnel +[@Cinntax]: https://github.com/Cinntax +[@DanNixon]: https://github.com/DanNixon +[@GregoryDosh]: https://github.com/GregoryDosh +[@Kane610]: https://github.com/Kane610 +[@PRabahy]: https://github.com/PRabahy +[@PaulAnnekov]: https://github.com/PaulAnnekov +[@Rendili]: https://github.com/Rendili +[@ReneNulschDE]: https://github.com/ReneNulschDE +[@amelchio]: https://github.com/amelchio +[@andrewdolphin]: https://github.com/andrewdolphin +[@andrey-git]: https://github.com/andrey-git +[@angel12]: https://github.com/angel12 +[@arcsur]: https://github.com/arcsur +[@arsaboo]: https://github.com/arsaboo +[@bakedraccoon]: https://github.com/bakedraccoon +[@balloob]: https://github.com/balloob +[@basschipper]: https://github.com/basschipper +[@benleb]: https://github.com/benleb +[@bitglue]: https://github.com/bitglue +[@brainexe]: https://github.com/brainexe +[@ciotlosm]: https://github.com/ciotlosm +[@cnrd]: https://github.com/cnrd +[@covrig]: https://github.com/covrig +[@danielhiversen]: https://github.com/danielhiversen +[@danielperna84]: https://github.com/danielperna84 +[@dfiel]: https://github.com/dfiel +[@dingusdk]: https://github.com/dingusdk +[@drndos]: https://github.com/drndos +[@fabaff]: https://github.com/fabaff +[@glpatcern]: https://github.com/glpatcern +[@heydonms]: https://github.com/heydonms +[@hthiery]: https://github.com/hthiery +[@i-am-shodan]: https://github.com/i-am-shodan +[@iliketoprogram14]: https://github.com/iliketoprogram14 +[@ioangogo]: https://github.com/ioangogo +[@jeradM]: https://github.com/jeradM +[@jinnerbichler]: https://github.com/jinnerbichler +[@jkoelker]: https://github.com/jkoelker +[@jpjodoin]: https://github.com/jpjodoin +[@karlkar]: https://github.com/karlkar +[@keesschollaart81]: https://github.com/keesschollaart81 +[@kennedyshead]: https://github.com/kennedyshead +[@leppa]: https://github.com/leppa +[@markferry]: https://github.com/markferry +[@michaelarnauts]: https://github.com/michaelarnauts +[@mu4yu3]: https://github.com/mu4yu3 +[@nickovs]: https://github.com/nickovs +[@nkaminski]: https://github.com/nkaminski +[@nkgilley]: https://github.com/nkgilley +[@olskar]: https://github.com/olskar +[@philklei]: https://github.com/philklei +[@postlund]: https://github.com/postlund +[@pvizeli]: https://github.com/pvizeli +[@robhuls]: https://github.com/robhuls +[@rofrantz]: https://github.com/rofrantz +[@rytilahti]: https://github.com/rytilahti +[@sdague]: https://github.com/sdague +[@shortbloke]: https://github.com/shortbloke +[@soberstadt]: https://github.com/soberstadt +[@starkillerOG]: https://github.com/starkillerOG +[@steffenslavetinsky]: https://github.com/steffenslavetinsky +[@syssi]: https://github.com/syssi +[@tinloaf]: https://github.com/tinloaf +[@tschmidty69]: https://github.com/tschmidty69 +[@ttroy50]: https://github.com/ttroy50 +[@w1ll1am23]: https://github.com/w1ll1am23 +[@zabuldon]: https://github.com/zabuldon +[alarm_control_panel.mqtt docs]: https://home-assistant.io/components/alarm_control_panel.mqtt/ +[alexa docs]: https://home-assistant.io/components/alexa/ +[asterisk_mbox docs]: https://home-assistant.io/components/asterisk_mbox/ +[axis docs]: https://home-assistant.io/components/axis/ +[binary_sensor.deconz docs]: https://home-assistant.io/components/binary_sensor.deconz/ +[binary_sensor.hive docs]: https://home-assistant.io/components/binary_sensor.hive/ +[binary_sensor.ihc docs]: https://home-assistant.io/components/binary_sensor.ihc/ +[binary_sensor.maxcube docs]: https://home-assistant.io/components/binary_sensor.maxcube/ +[binary_sensor.rfxtrx docs]: https://home-assistant.io/components/binary_sensor.rfxtrx/ +[binary_sensor.wink docs]: https://home-assistant.io/components/binary_sensor.wink/ +[binary_sensor.workday docs]: https://home-assistant.io/components/binary_sensor.workday/ +[binary_sensor.xiaomi_aqara docs]: https://home-assistant.io/components/binary_sensor.xiaomi_aqara/ +[camera.foscam docs]: https://home-assistant.io/components/camera.foscam/ +[camera.onvif docs]: https://home-assistant.io/components/camera.onvif/ +[climate docs]: https://home-assistant.io/components/climate/ +[climate.daikin docs]: https://home-assistant.io/components/climate.daikin/ +[climate.econet docs]: https://home-assistant.io/components/climate.econet/ +[climate.ephember docs]: https://home-assistant.io/components/climate.ephember/ +[climate.eq3btsmart docs]: https://home-assistant.io/components/climate.eq3btsmart/ +[climate.hive docs]: https://home-assistant.io/components/climate.hive/ +[climate.nest docs]: https://home-assistant.io/components/climate.nest/ +[climate.sensibo docs]: https://home-assistant.io/components/climate.sensibo/ +[climate.wink docs]: https://home-assistant.io/components/climate.wink/ +[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/ +[cover.lutron docs]: https://home-assistant.io/components/cover.lutron/ +[cover.tahoma docs]: https://home-assistant.io/components/cover.tahoma/ +[cover.wink docs]: https://home-assistant.io/components/cover.wink/ +[cover.xiaomi_aqara docs]: https://home-assistant.io/components/cover.xiaomi_aqara/ +[deconz docs]: https://home-assistant.io/components/deconz/ +[device_tracker.asuswrt docs]: https://home-assistant.io/components/device_tracker.asuswrt/ +[device_tracker.owntracks docs]: https://home-assistant.io/components/device_tracker.owntracks/ +[device_tracker.tomato docs]: https://home-assistant.io/components/device_tracker.tomato/ +[device_tracker.unifi_direct docs]: https://home-assistant.io/components/device_tracker.unifi_direct/ +[ecobee docs]: https://home-assistant.io/components/ecobee/ +[emulated_hue docs]: https://home-assistant.io/components/emulated_hue/ +[fan.xiaomi_miio docs]: https://home-assistant.io/components/fan.xiaomi_miio/ +[google_assistant docs]: https://home-assistant.io/components/google_assistant/ +[hassio docs]: https://home-assistant.io/components/hassio/ +[hive docs]: https://home-assistant.io/components/hive/ +[homematic docs]: https://home-assistant.io/components/homematic/ +[hue docs]: https://home-assistant.io/components/hue/ +[ihc docs]: https://home-assistant.io/components/ihc/ +[ihc.const docs]: https://home-assistant.io/components/ihc.const/ +[ihc.ihcdevice docs]: https://home-assistant.io/components/ihc.ihcdevice/ +[iota docs]: https://home-assistant.io/components/iota/ +[light.deconz docs]: https://home-assistant.io/components/light.deconz/ +[light.decora docs]: https://home-assistant.io/components/light.decora/ +[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/ +[light.greenwave docs]: https://home-assistant.io/components/light.greenwave/ +[light.hive docs]: https://home-assistant.io/components/light.hive/ +[light.hyperion docs]: https://home-assistant.io/components/light.hyperion/ +[light.ihc docs]: https://home-assistant.io/components/light.ihc/ +[light.tplink docs]: https://home-assistant.io/components/light.tplink/ +[light.wemo docs]: https://home-assistant.io/components/light.wemo/ +[light.xiaomi_aqara docs]: https://home-assistant.io/components/light.xiaomi_aqara/ +[light.xiaomi_miio docs]: https://home-assistant.io/components/light.xiaomi_miio/ +[lutron docs]: https://home-assistant.io/components/lutron/ +[map docs]: https://home-assistant.io/components/map/ +[media_player.samsungtv docs]: https://home-assistant.io/components/media_player.samsungtv/ +[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/ +[media_player.yamaha docs]: https://home-assistant.io/components/media_player.yamaha/ +[notify.clicksend docs]: https://home-assistant.io/components/notify.clicksend/ +[notify.prowl docs]: https://home-assistant.io/components/notify.prowl/ +[plant docs]: https://home-assistant.io/components/plant/ +[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/ +[scene docs]: https://home-assistant.io/components/scene/ +[sensor.alpha_vantage docs]: https://home-assistant.io/components/sensor.alpha_vantage/ +[sensor.linux_battery docs]: https://home-assistant.io/components/sensor.linux_battery/ +[sensor.bme680 docs]: https://home-assistant.io/components/sensor.bme680/ +[sensor.deconz docs]: https://home-assistant.io/components/sensor.deconz/ +[sensor.etherscan docs]: https://home-assistant.io/components/sensor.etherscan/ +[sensor.fixer docs]: https://home-assistant.io/components/sensor.fixer/ +[sensor.hive docs]: https://home-assistant.io/components/sensor.hive/ +[sensor.ihc docs]: https://home-assistant.io/components/sensor.ihc/ +[sensor.iota docs]: https://home-assistant.io/components/sensor.iota/ +[sensor.metoffice docs]: https://home-assistant.io/components/sensor.metoffice/ +[sensor.miflora docs]: https://home-assistant.io/components/sensor.miflora/ +[sensor.min_max docs]: https://home-assistant.io/components/sensor.min_max/ +[sensor.mold_indicator docs]: https://home-assistant.io/components/sensor.mold_indicator/ +[mychevy docs]: https://home-assistant.io/components/mychevy/ +[sensor.openweathermap docs]: https://home-assistant.io/components/sensor.openweathermap/ +[sensor.random docs]: https://home-assistant.io/components/sensor.random/ +[sensor.teksavvy docs]: https://home-assistant.io/components/sensor.teksavvy/ +[sensor.xbox_live docs]: https://home-assistant.io/components/sensor.xbox_live/ +[sensor.xiaomi_aqara docs]: https://home-assistant.io/components/sensor.xiaomi_aqara/ +[sensor.yr docs]: https://home-assistant.io/components/sensor.yr/ +[snips docs]: https://home-assistant.io/components/snips/ +[switch.fritzdect docs]: https://home-assistant.io/components/switch.fritzdect/ +[switch.hive docs]: https://home-assistant.io/components/switch.hive/ +[switch.ihc docs]: https://home-assistant.io/components/switch.ihc/ +[switch.snmp docs]: https://home-assistant.io/components/switch.snmp/ +[switch.tplink docs]: https://home-assistant.io/components/switch.tplink/ +[switch.xiaomi_aqara docs]: https://home-assistant.io/components/switch.xiaomi_aqara/ +[switch.xiaomi_miio docs]: https://home-assistant.io/components/switch.xiaomi_miio/ +[system_log docs]: https://home-assistant.io/components/system_log/ +[tahoma docs]: https://home-assistant.io/components/tahoma/ +[tts.google docs]: https://home-assistant.io/components/tts.google/ +[vacuum.xiaomi_miio docs]: https://home-assistant.io/components/vacuum.xiaomi_miio/ +[waterfurnace docs]: https://home-assistant.io/components/waterfurnace/ +[wemo docs]: https://home-assistant.io/components/wemo/ +[wink docs]: https://home-assistant.io/components/wink/ +[xiaomi_aqara docs]: https://home-assistant.io/components/xiaomi_aqara/ +[zwave docs]: https://home-assistant.io/components/zwave/ +[@martinhjelmare]: https://github.com/martinhjelmare +[@frenck]: https://github.com/frenck \ No newline at end of file diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown index 21b11a2e050..d1da527f06c 100644 --- a/source/hassio/index.markdown +++ b/source/hassio/index.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /components/hassio/ --- Hass.io turns your Raspberry Pi (or another device) into the ultimate home automation hub powered by Home Assistant. With Hass.io you can focus on integrating your devices and writing automations. diff --git a/source/images/blog/2018-01-0.62/components.png b/source/images/blog/2018-01-0.62/components.png new file mode 100644 index 0000000000000000000000000000000000000000..cf3ecb92c770ab7cbcc819dc248613878028d792 GIT binary patch literal 23954 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 Tva8SkN)1@cK(pqN