The Home Assistant community has been super busy in the last two weeks to bring you this amazing release. 60 different contributors have done over a 100 PRs filled with new features, bug fixes and performance improvements.
9 days away from our 4th birthday, we've just accomplished a couple of great milestones that I would love to share with you. We've hit over 8000 stars 🌟 on GitHub and starting this release we now ship over 800 platforms and components!
Customize editor
Another step in making Home Assistant configurable via the frontend has been contributed by andrey-git: a customization editor! You are now able to inspect all (possible) customizations of an entity and update them with just a few taps. Want to change the name or icon of an entity? All possible in mere seconds.
![screen shot 2017-09-08 at 23 24 22](https://user-images.githubusercontent.com/1444314/30237818-f5d0f95a-94ee-11e7-9da3-0818db50d33f.png)
New Home Assistant configurations will be created correctly automatically. If you are an existing user, make sure you have the config screen enabled and that you include customizations from `customize.yaml`.
yaml
Example configuration.yaml entry
homeassistant:
Include the customizations.
customize: !include customize.yaml
Enable the config screen
config:
Tesla
Thanks to the contribution by zabuldon, you will now be able to control your Tesla car from Home Assistant. You're able to check the temperature inside and outside your car, control your AC and unlock the car.
Input text
This release introduces a new input component: `input_text` contributed by BioSehnsucht. With this component you will be able to set free form from the UI and then let that be used by your automations or templates.
KNX
This release ships a new KNX implementation thanks to Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunnelling devices. In the background it uses asyncio communication.
https://www.youtube.com/watch?v=Fe3yaflU2XM
https://www.youtube.com/watch?v=JI0VJzlGpx4
New Platforms
- Xiaomi Philips Lights integration ([syssi] - [9087]) ([light.philipslight docs]) (new-platform)
- Backend changes for customize config panel. ([andrey-git] - [9134]) ([config docs]) ([config.customize docs]) (breaking change) (new-platform)
- Mycroft notify/component ([btotharye] - [9173]) ([mycroft docs]) ([notify.mycroft docs]) (new-platform)
- Add counter component ([fabaff] - [9146]) ([counter docs]) (new-platform)
- Support for season sensor ([w1ll1am23] - [8958]) ([sensor.season docs]) (new-platform)
- Abode push events and lock, cover, and switch components ([1091741+MisterWil] - [9095]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) ([cover.abode docs]) ([lock.abode docs]) ([switch.abode docs]) (new-platform)
- Bayesian Binary Sensor ([jlmcgehee21] - [8810]) ([binary_sensor.bayesian docs]) (new-platform)
- Add Tank Utility sensor ([krismolendyke] - [9132]) ([sensor.tank_utility docs]) (new-platform)
- Tesla platform ([zabuldon] - [9211]) ([tesla docs]) ([binary_sensor.tesla docs]) ([climate.tesla docs]) ([device_tracker.tesla docs]) ([lock.tesla docs]) ([sensor.tesla docs]) (new-platform)
- mopar sensor ([happyleavesaoc] - [9136]) ([sensor.mopar docs]) (new-platform)
- Add Geofency device tracker ([gunnarhelgason] - [9106]) ([device_tracker.geofency docs]) (new-platform)
- Added DWD WarnApp Sensor ([runningman84] - [8657]) ([sensor.dwd_warnapp docs]) (new-platform)
- Add input_text component ([BioSehnsucht] - [9112]) ([input_box docs]) (new-platform)
- Introducing a media_player component for Yamaha Multicast devices ([jalmeroth] - [9258]) ([media_player.yamaha_musiccast docs]) (new-platform)
- Stable and asynchronous KNX library. ([Julius2342] - [8725]) ([xknx docs]) ([binary_sensor.xknx docs]) ([climate.xknx docs]) ([cover.xknx docs]) ([light.xknx docs]) ([sensor.xknx docs]) ([switch.xknx docs]) (new-platform)
- Adds the AirVisual air quality sensor platform ([bachya] - [9320]) ([sensor.airvisual docs]) (new-platform)
Breaking Changes
- The new customize editor is using the file `customize.yaml` in your config folder. If you are using this file today for other config, make sure to rename it before using the new customize UI editor. ([andrey-git] - [9134]) ([config docs]) ([config.customize docs]) (breaking change) (new-platform)
- The frontend component now supports loading custom html files when Home Assistant front end starts ([andrey-git] - [9150]) (breaking change). It could be Javascript, CSS or custom Web Components. Along there was a breaking change in the way Custom UI is used:
* `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
* `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
frontend:
extra_html_url:
- /local/custom_ui/state-card-custom-ui.html
- The Egardia alarm control panel now defaults to port 52010 instead of 85. ([jeroenterheerdt] - [9225]) ([alarm_control_panel.egardia docs]) (breaking change)
- The Homematic `delay` option has been dropped because it is no longer necessary ([pvizeli] - [9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
- Switch - Dlink: Remove spaces and capital letters from attribute names for consistency ([emlt] - [9277]) ([switch.dlink docs]) (breaking change)
All changes
- Xiaomi Philips Lights integration ([syssi] - [9087]) ([light.philipslight docs]) (new-platform)
- Backend changes for customize config panel. ([andrey-git] - [9134]) ([config docs]) ([config.customize docs]) (breaking change) (new-platform)
- Upgrade async_timeout to 1.3.0 ([fabaff] - [9156])
- Remove links to gitter ([fabaff] - [9155])
- Upgrade sphinx-autodoc-typehints to 1.2.3 ([fabaff] - [9151])
- Upgrade uber_rides to 0.5.2 ([fabaff] - [9149]) ([sensor.uber docs])
- Allow specifying custom html urls to load. ([andrey-git] - [9150]) (breaking change)
- Allow getting number of available states in template ([balloob] - [9158])
- upgrade xiaomi lib to 0.3.1 to supprt water sensor ([danielhiversen] - [9168]) ([xiaomi docs])
- Use node_modules gulp in script/build_frontend ([armills] - [9170])
- Mysensors nodes can be renamed in config file ([EmitKiwi] - [9123]) ([mysensors docs])
- Xiaomi gateway: Device support for the Aqara Water Leak Sensor (sensor_wleak.aq1) ([syssi] - [9172]) ([xiaomi docs]) ([binary_sensor.xiaomi docs])
- "TypeError: write_to_hub() takes 2 positional arguments but 4 were given" fixed. ([syssi] - [9174]) ([cover.xiaomi docs])
- Mycroft notify/component ([btotharye] - [9173]) ([mycroft docs]) ([notify.mycroft docs]) (new-platform)
- Fix dht22 when no data was read initially 8976 ([maweki] - [9198]) ([sensor.dht docs])
- Update pushbullet.py ([bobnwk] - [9200]) ([notify.pushbullet docs])
- fix worldtidesinfo 9184 ([aetolus] - [9201]) ([sensor.worldtidesinfo docs])
- Add "status" to Sonarr sensor ([tboyce021] - [9204]) ([sensor.radarr docs]) ([sensor.sonarr docs])
- Prevent error when no forecast data was available ([mjj4791] - [9176]) ([sensor.buienradar docs])
- Fix and optimize digitalloggers platform ([dale3h] - [9203]) ([switch.digitalloggers docs])
- Add counter component ([fabaff] - [9146]) ([counter docs]) (new-platform)
- Support for season sensor ([w1ll1am23] - [8958]) ([sensor.season docs]) (new-platform)
- Issue 6893 in rfxtrx ([danielhiversen] - [9130]) ([rfxtrx docs])
- Refactor rfxtrx ([danielhiversen] - [9117]) ([rfxtrx docs]) ([cover.rfxtrx docs]) ([light.rfxtrx docs]) ([switch.rfxtrx docs])
- Upgrade pymysensors to 0.11.1 ([MartinHjelmare] - [9212]) ([mysensors docs])
- Abode push events and lock, cover, and switch components ([1091741+MisterWil] - [9095]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) ([cover.abode docs]) ([lock.abode docs]) ([switch.abode docs]) (new-platform)
- Add cloud auth support ([balloob] - [9208])
- Bayesian Binary Sensor ([jlmcgehee21] - [8810]) ([binary_sensor.bayesian docs]) (new-platform)
- directv: extended discovery via REST api, bug fix ([sielicki] - [8800]) ([media_player.directv docs])
- Upgrade pyasn1 to 0.3.3 and pyasn1-modules to 0.1.1 ([fabaff] - [9216]) ([notify.xmpp docs])
- Upgrade sendgrid to 5.0.1 ([fabaff] - [9215]) ([notify.sendgrid docs])
- Fix fitbit error when trying to access token after upgrade. ([tchellomello] - [9183]) ([sensor.fitbit docs])
- Allow sonos to select album as a source ([commento] - [9221]) ([media_player.sonos docs])
- Add max_age to statistics sensor ([tinloaf] - [8790]) ([sensor.statistics docs])
- Egardia package to .19 and change in port number for egardiaserver ([jeroenterheerdt] - [9225]) ([alarm_control_panel.egardia docs]) (breaking change)
- pushbullet, send a file from url ([danielhiversen] - [9189]) ([notify.pushbullet docs])
- Add Tank Utility sensor ([krismolendyke] - [9132]) ([sensor.tank_utility docs]) (new-platform)
- Upgrade shodan to 1.7.5 ([fabaff] - [9228]) ([sensor.shodan docs])
- Tesla platform ([zabuldon] - [9211]) ([tesla docs]) ([binary_sensor.tesla docs]) ([climate.tesla docs]) ([device_tracker.tesla docs]) ([lock.tesla docs]) ([sensor.tesla docs]) (new-platform)
- [light.tradfri] Full range of white spectrum lightbulbs support ([matemaciek] - [9224]) ([tradfri docs]) ([light.tradfri docs])
- Allow panels with external URL ([andrey-git] - [9214])
- Use ZCL mandatory attribute to determine ZHA light capabilities ([jkl1337] - [9232]) ([light.zha docs])
- A bugfix for pushbullet ([danielhiversen] - [9237]) ([notify.pushbullet docs])
- mopar sensor ([happyleavesaoc] - [9136]) ([sensor.mopar docs]) (new-platform)
- Upgrade discord.py to 0.16.11 ([fabaff] - [9239]) ([notify.discord docs])
- Skip automatic events older than latest data ([armills] - [9230]) ([device_tracker.automatic docs])
- title and message was swapped in pushbullet ([danielhiversen] - [9241]) ([notify.pushbullet docs])
- Fix possible KeyError ([MartinHjelmare] - [9242]) ([mysensors docs])
- WIP: Homematic improvments with new hass interfaces ([pvizeli] - [9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
- Add available to sonos ([pvizeli] - [9243]) ([media_player.sonos docs])
- Make sure Ring binary_sensor state will update only if device_id matches ([tchellomello] - [9247]) ([binary_sensor.ring docs])
- Added configurable timeout for receiver HTTP requests | Additional AV… ([scarface-4711] - [9244]) ([media_player.denonavr docs])
- upgrade xiaomi lib ([danielhiversen] - [9250]) ([xiaomi docs])
- Fix nello.io login ([pschmitt] - [9251]) ([lock.nello docs])
- This is to fix 6386: Manual Alarm not re-arm after 2nd trigger ([snjoetw] - [9249]) ([alarm_control_panel.manual docs])
- Version bump of DLink switch to v0.6.0 ([LinuxChristian] - [9252]) ([switch.dlink docs])
- Upgrade sendgrid to 5.2.0 ([fabaff] - [9254]) ([notify.sendgrid docs])
- Upgrade psutil to 5.3.0 ([fabaff] - [9253]) ([sensor.systemmonitor docs])
- Adding ZWave CentralScene activation handler. ([sirmalloc] - [9178]) ([zwave docs])
- Add Geofency device tracker ([gunnarhelgason] - [9106]) ([device_tracker.geofency docs]) (new-platform)
- flux: fix for when stop_time is after midnight ([abmantis] - [8932])
- Change attribute names ([emlt] - [9277]) ([switch.dlink docs]) (breaking change)
- insteon_plm: fix typo in attributes ([drkp] - [9284]) ([insteon_plm docs])
- discovery: If unknown NetDisco service discovered, log about it. ([pfalcon] - [9280])
- Upgrade youtube_dl to 2017.9.2 ([fabaff] - [9279]) ([media_extractor docs])
- Upgrade python-telegram-bot to 8.0.0 ([fabaff] - [9282]) ([telegram_bot docs]) ([switch.rest docs])
- rfxtrx lib upgrade ([danielhiversen] - [9288]) ([rfxtrx docs])
- Fixing bug when using egardiaserver - package requirement updated to 1.0.20. ([jeroenterheerdt] - [9294]) ([alarm_control_panel.egardia docs])
- Added intent_type to exception log ([andreasjacobsen93] - [9289]) ([snips docs])
- Handle spotify failing to refresh access_token ([Tommatheussen] - [9295]) ([media_player.spotify docs])
- Core track same state for a period / Allow on platforms ([pvizeli] - [9273])
- Improved Lutron Caseta shade support ([30200174+upsert] - [9302]) ([lutron_caseta docs]) ([cover.lutron_caseta docs]) ([light.lutron_caseta docs]) ([switch.lutron_caseta docs])
- Upgrade mycroftapi to 2.0 ([btotharye] - [9309]) ([mycroft docs])
- Fix for Honeywell Round thermostats ([dansarginson] - [9308]) ([climate.honeywell docs])
- Update jinja to 2.9.6 ([pvizeli] - [9306])
- Ensure display-name does not exceed 12 characters for CecAdapter. ([gollo] - [9268]) ([hdmi_cec docs])
- Expose hue group 0 ([filcole] - [8663]) ([light.hue docs])
- Added DWD WarnApp Sensor ([runningman84] - [8657]) ([sensor.dwd_warnapp docs]) (new-platform)
- Add input_text component ([BioSehnsucht] - [9112]) ([input_box docs]) (new-platform)
- Introducing a media_player component for Yamaha Multicast devices ([jalmeroth] - [9258]) ([media_player.yamaha_musiccast docs]) (new-platform)
- Handle the case where no registration number is available (instead display VIN (vehicle identification number)). ([molobrakos] - [9073]) ([volvooncall docs]) ([device_tracker.volvooncall docs])
- Add post_pending_state attribute to manual alarm_control_panel ([snjoetw] - [9291]) ([alarm_control_panel.manual docs])
- Add new config variable to MQTT light ([belyalov] - [9304]) ([light.mqtt docs])
- Follow Twitter guidelines for media upload by conforming to the "STATUS" phase, when required, and by providing "media_category" information. These will, for example, allow users to upload videos that exceed the basic 30 second limit. ([MikeChristianson] - [9261]) ([notify.twitter docs])
- Optionally disable ssl certificate validity check. ([1868995+ohmer1] - [9181]) ([notify.xmpp docs])
- Version bump dlib to 1.0.0 ([arsaboo] - [9316]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
- Fixed bug with devices not being discovered correctly. ([1091741+MisterWil] - [9311]) ([abode docs])
- Platform not ready behavior fixed. ([syssi] - [9325]) ([light.xiaomi_philipslight docs])
- Stable and asynchronous KNX library. ([Julius2342] - [8725]) ([xknx docs]) ([binary_sensor.xknx docs]) ([climate.xknx docs]) ([cover.xknx docs]) ([light.xknx docs]) ([sensor.xknx docs]) ([switch.xknx docs]) (new-platform)
- Fix for potential issue with tesla initialization ([zabuldon] - [9307]) ([tesla docs])
- Adds the AirVisual air quality sensor platform ([bachya] - [9320]) ([sensor.airvisual docs]) (new-platform)
- Cleanup input_text ([balloob] - [9326]) ([input_text docs])
- Bump pyHik version to add IO support ([mezz64] - [9341]) ([binary_sensor.hikvision docs])
[8657]: https://github.com/home-assistant/home-assistant/pull/8657
[8663]: https://github.com/home-assistant/home-assistant/pull/8663
[8725]: https://github.com/home-assistant/home-assistant/pull/8725
[8790]: https://github.com/home-assistant/home-assistant/pull/8790
[8800]: https://github.com/home-assistant/home-assistant/pull/8800
[8810]: https://github.com/home-assistant/home-assistant/pull/8810
[8932]: https://github.com/home-assistant/home-assistant/pull/8932
[8958]: https://github.com/home-assistant/home-assistant/pull/8958
[9058]: https://github.com/home-assistant/home-assistant/pull/9058
[9073]: https://github.com/home-assistant/home-assistant/pull/9073
[9087]: https://github.com/home-assistant/home-assistant/pull/9087
[9095]: https://github.com/home-assistant/home-assistant/pull/9095
[9106]: https://github.com/home-assistant/home-assistant/pull/9106
[9112]: https://github.com/home-assistant/home-assistant/pull/9112
[9117]: https://github.com/home-assistant/home-assistant/pull/9117
[9123]: https://github.com/home-assistant/home-assistant/pull/9123
[9130]: https://github.com/home-assistant/home-assistant/pull/9130
[9132]: https://github.com/home-assistant/home-assistant/pull/9132
[9134]: https://github.com/home-assistant/home-assistant/pull/9134
[9136]: https://github.com/home-assistant/home-assistant/pull/9136
[9146]: https://github.com/home-assistant/home-assistant/pull/9146
[9149]: https://github.com/home-assistant/home-assistant/pull/9149
[9150]: https://github.com/home-assistant/home-assistant/pull/9150
[9151]: https://github.com/home-assistant/home-assistant/pull/9151
[9155]: https://github.com/home-assistant/home-assistant/pull/9155
[9156]: https://github.com/home-assistant/home-assistant/pull/9156
[9158]: https://github.com/home-assistant/home-assistant/pull/9158
[9168]: https://github.com/home-assistant/home-assistant/pull/9168
[9170]: https://github.com/home-assistant/home-assistant/pull/9170
[9172]: https://github.com/home-assistant/home-assistant/pull/9172
[9173]: https://github.com/home-assistant/home-assistant/pull/9173
[9174]: https://github.com/home-assistant/home-assistant/pull/9174
[9176]: https://github.com/home-assistant/home-assistant/pull/9176
[9178]: https://github.com/home-assistant/home-assistant/pull/9178
[9181]: https://github.com/home-assistant/home-assistant/pull/9181
[9183]: https://github.com/home-assistant/home-assistant/pull/9183
[9189]: https://github.com/home-assistant/home-assistant/pull/9189
[9198]: https://github.com/home-assistant/home-assistant/pull/9198
[9200]: https://github.com/home-assistant/home-assistant/pull/9200
[9201]: https://github.com/home-assistant/home-assistant/pull/9201
[9203]: https://github.com/home-assistant/home-assistant/pull/9203
[9204]: https://github.com/home-assistant/home-assistant/pull/9204
[9208]: https://github.com/home-assistant/home-assistant/pull/9208
[9211]: https://github.com/home-assistant/home-assistant/pull/9211
[9212]: https://github.com/home-assistant/home-assistant/pull/9212
[9214]: https://github.com/home-assistant/home-assistant/pull/9214
[9215]: https://github.com/home-assistant/home-assistant/pull/9215
[9216]: https://github.com/home-assistant/home-assistant/pull/9216
[9221]: https://github.com/home-assistant/home-assistant/pull/9221
[9224]: https://github.com/home-assistant/home-assistant/pull/9224
[9225]: https://github.com/home-assistant/home-assistant/pull/9225
[9228]: https://github.com/home-assistant/home-assistant/pull/9228
[9230]: https://github.com/home-assistant/home-assistant/pull/9230
[9232]: https://github.com/home-assistant/home-assistant/pull/9232
[9237]: https://github.com/home-assistant/home-assistant/pull/9237
[9239]: https://github.com/home-assistant/home-assistant/pull/9239
[9241]: https://github.com/home-assistant/home-assistant/pull/9241
[9242]: https://github.com/home-assistant/home-assistant/pull/9242
[9243]: https://github.com/home-assistant/home-assistant/pull/9243
[9244]: https://github.com/home-assistant/home-assistant/pull/9244
[9247]: https://github.com/home-assistant/home-assistant/pull/9247
[9249]: https://github.com/home-assistant/home-assistant/pull/9249
[9250]: https://github.com/home-assistant/home-assistant/pull/9250
[9251]: https://github.com/home-assistant/home-assistant/pull/9251
[9252]: https://github.com/home-assistant/home-assistant/pull/9252
[9253]: https://github.com/home-assistant/home-assistant/pull/9253
[9254]: https://github.com/home-assistant/home-assistant/pull/9254
[9258]: https://github.com/home-assistant/home-assistant/pull/9258
[9261]: https://github.com/home-assistant/home-assistant/pull/9261
[9268]: https://github.com/home-assistant/home-assistant/pull/9268
[9273]: https://github.com/home-assistant/home-assistant/pull/9273
[9277]: https://github.com/home-assistant/home-assistant/pull/9277
[9279]: https://github.com/home-assistant/home-assistant/pull/9279
[9280]: https://github.com/home-assistant/home-assistant/pull/9280
[9282]: https://github.com/home-assistant/home-assistant/pull/9282
[9284]: https://github.com/home-assistant/home-assistant/pull/9284
[9288]: https://github.com/home-assistant/home-assistant/pull/9288
[9289]: https://github.com/home-assistant/home-assistant/pull/9289
[9291]: https://github.com/home-assistant/home-assistant/pull/9291
[9294]: https://github.com/home-assistant/home-assistant/pull/9294
[9295]: https://github.com/home-assistant/home-assistant/pull/9295
[9302]: https://github.com/home-assistant/home-assistant/pull/9302
[9304]: https://github.com/home-assistant/home-assistant/pull/9304
[9306]: https://github.com/home-assistant/home-assistant/pull/9306
[9307]: https://github.com/home-assistant/home-assistant/pull/9307
[9308]: https://github.com/home-assistant/home-assistant/pull/9308
[9309]: https://github.com/home-assistant/home-assistant/pull/9309
[9311]: https://github.com/home-assistant/home-assistant/pull/9311
[9316]: https://github.com/home-assistant/home-assistant/pull/9316
[9320]: https://github.com/home-assistant/home-assistant/pull/9320
[9325]: https://github.com/home-assistant/home-assistant/pull/9325
[9326]: https://github.com/home-assistant/home-assistant/pull/9326
[9341]: https://github.com/home-assistant/home-assistant/pull/9341
[1091741+MisterWil]: https://github.com/1091741+MisterWil
[1868995+ohmer1]: https://github.com/1868995+ohmer1
[30200174+upsert]: https://github.com/30200174+upsert
[BioSehnsucht]: https://github.com/BioSehnsucht
[EmitKiwi]: https://github.com/EmitKiwi
[Julius2342]: https://github.com/Julius2342
[LinuxChristian]: https://github.com/LinuxChristian
[MartinHjelmare]: https://github.com/MartinHjelmare
[MikeChristianson]: https://github.com/MikeChristianson
[Tommatheussen]: https://github.com/Tommatheussen
[abmantis]: https://github.com/abmantis
[aetolus]: https://github.com/aetolus
[andreasjacobsen93]: https://github.com/andreasjacobsen93
[andrey-git]: https://github.com/andrey-git
[armills]: https://github.com/armills
[arsaboo]: https://github.com/arsaboo
[bachya]: https://github.com/bachya
[balloob]: https://github.com/balloob
[belyalov]: https://github.com/belyalov
[bobnwk]: https://github.com/bobnwk
[btotharye]: https://github.com/btotharye
[commento]: https://github.com/commento
[dale3h]: https://github.com/dale3h
[danielhiversen]: https://github.com/danielhiversen
[dansarginson]: https://github.com/dansarginson
[drkp]: https://github.com/drkp
[emlt]: https://github.com/emlt
[fabaff]: https://github.com/fabaff
[filcole]: https://github.com/filcole
[gollo]: https://github.com/gollo
[gunnarhelgason]: https://github.com/gunnarhelgason
[happyleavesaoc]: https://github.com/happyleavesaoc
[jalmeroth]: https://github.com/jalmeroth
[jeroenterheerdt]: https://github.com/jeroenterheerdt
[jkl1337]: https://github.com/jkl1337
[jlmcgehee21]: https://github.com/jlmcgehee21
[krismolendyke]: https://github.com/krismolendyke
[matemaciek]: https://github.com/matemaciek
[maweki]: https://github.com/maweki
[mezz64]: https://github.com/mezz64
[mjj4791]: https://github.com/mjj4791
[molobrakos]: https://github.com/molobrakos
[pfalcon]: https://github.com/pfalcon
[pschmitt]: https://github.com/pschmitt
[pvizeli]: https://github.com/pvizeli
[runningman84]: https://github.com/runningman84
[scarface-4711]: https://github.com/scarface-4711
[sielicki]: https://github.com/sielicki
[sirmalloc]: https://github.com/sirmalloc
[snjoetw]: https://github.com/snjoetw
[syssi]: https://github.com/syssi
[tboyce021]: https://github.com/tboyce021
[tchellomello]: https://github.com/tchellomello
[tinloaf]: https://github.com/tinloaf
[w1ll1am23]: https://github.com/w1ll1am23
[zabuldon]: https://github.com/zabuldon
[abode docs]: https://home-assistant.io/components/abode/
[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.manual docs]: https://home-assistant.io/components/alarm_control_panel.manual/
[binary_sensor.abode docs]: https://home-assistant.io/components/binary_sensor.abode/
[binary_sensor.bayesian docs]: https://home-assistant.io/components/binary_sensor.bayesian/
[binary_sensor.hikvision docs]: https://home-assistant.io/components/binary_sensor.hikvision/
[binary_sensor.homematic docs]: https://home-assistant.io/components/binary_sensor.homematic/
[binary_sensor.ring docs]: https://home-assistant.io/components/binary_sensor.ring/
[binary_sensor.tesla docs]: https://home-assistant.io/components/binary_sensor.tesla/
[binary_sensor.xiaomi docs]: https://home-assistant.io/components/binary_sensor.xiaomi/
[binary_sensor.xknx docs]: https://home-assistant.io/components/binary_sensor.xknx/
[climate.homematic docs]: https://home-assistant.io/components/climate.homematic/
[climate.honeywell docs]: https://home-assistant.io/components/climate.honeywell/
[climate.tesla docs]: https://home-assistant.io/components/climate.tesla/
[climate.xknx docs]: https://home-assistant.io/components/climate.xknx/
[cloud docs]: https://home-assistant.io/components/cloud/
[cloud.cloud_api docs]: https://home-assistant.io/components/cloud.cloud_api/
[cloud.const docs]: https://home-assistant.io/components/cloud.const/
[cloud.http_api docs]: https://home-assistant.io/components/cloud.http_api/
[cloud.util docs]: https://home-assistant.io/components/cloud.util/
[config docs]: https://home-assistant.io/components/config/
[config.customize docs]: https://home-assistant.io/components/config.customize/
[counter docs]: https://home-assistant.io/components/counter/
[cover.abode docs]: https://home-assistant.io/components/cover.abode/
[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/
[cover.lutron_caseta docs]: https://home-assistant.io/components/cover.lutron_caseta/
[cover.rfxtrx docs]: https://home-assistant.io/components/cover.rfxtrx/
[cover.xiaomi docs]: https://home-assistant.io/components/cover.xiaomi/
[cover.xknx docs]: https://home-assistant.io/components/cover.xknx/
[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/
[device_tracker.geofency docs]: https://home-assistant.io/components/device_tracker.geofency/
[device_tracker.tesla docs]: https://home-assistant.io/components/device_tracker.tesla/
[device_tracker.volvooncall docs]: https://home-assistant.io/components/device_tracker.volvooncall/
[hdmi_cec docs]: https://home-assistant.io/components/hdmi_cec/
[homematic docs]: https://home-assistant.io/components/homematic/
[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/
[input_box docs]: https://home-assistant.io/components/input_box/
[input_text docs]: https://home-assistant.io/components/input_text/
[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/
[light.homematic docs]: https://home-assistant.io/components/light.homematic/
[light.hue docs]: https://home-assistant.io/components/light.hue/
[light.lutron_caseta docs]: https://home-assistant.io/components/light.lutron_caseta/
[light.mqtt docs]: https://home-assistant.io/components/light.mqtt/
[light.philipslight docs]: https://home-assistant.io/components/light.philipslight/
[light.rfxtrx docs]: https://home-assistant.io/components/light.rfxtrx/
[light.tradfri docs]: https://home-assistant.io/components/light.tradfri/
[light.xiaomi_philipslight docs]: https://home-assistant.io/components/light.xiaomi_philipslight/
[light.xknx docs]: https://home-assistant.io/components/light.xknx/
[light.zha docs]: https://home-assistant.io/components/light.zha/
[lock.abode docs]: https://home-assistant.io/components/lock.abode/
[lock.nello docs]: https://home-assistant.io/components/lock.nello/
[lock.tesla docs]: https://home-assistant.io/components/lock.tesla/
[lutron_caseta docs]: https://home-assistant.io/components/lutron_caseta/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
[media_player.directv docs]: https://home-assistant.io/components/media_player.directv/
[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
[media_player.yamaha_musiccast docs]: https://home-assistant.io/components/media_player.yamaha_musiccast/
[mycroft docs]: https://home-assistant.io/components/mycroft/
[mysensors docs]: https://home-assistant.io/components/mysensors/
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
[notify.mycroft docs]: https://home-assistant.io/components/notify.mycroft/
[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/
[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/
[notify.twitter docs]: https://home-assistant.io/components/notify.twitter/
[notify.xmpp docs]: https://home-assistant.io/components/notify.xmpp/
[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/
[sensor.airvisual docs]: https://home-assistant.io/components/sensor.airvisual/
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
[sensor.dht docs]: https://home-assistant.io/components/sensor.dht/
[sensor.dwd_warnapp docs]: https://home-assistant.io/components/sensor.dwd_warnapp/
[sensor.fitbit docs]: https://home-assistant.io/components/sensor.fitbit/
[sensor.homematic docs]: https://home-assistant.io/components/sensor.homematic/
[sensor.mopar docs]: https://home-assistant.io/components/sensor.mopar/
[sensor.radarr docs]: https://home-assistant.io/components/sensor.radarr/
[sensor.season docs]: https://home-assistant.io/components/sensor.season/
[sensor.shodan docs]: https://home-assistant.io/components/sensor.shodan/
[sensor.sonarr docs]: https://home-assistant.io/components/sensor.sonarr/
[sensor.statistics docs]: https://home-assistant.io/components/sensor.statistics/
[sensor.systemmonitor docs]: https://home-assistant.io/components/sensor.systemmonitor/
[sensor.tank_utility docs]: https://home-assistant.io/components/sensor.tank_utility/
[sensor.tesla docs]: https://home-assistant.io/components/sensor.tesla/
[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
[sensor.worldtidesinfo docs]: https://home-assistant.io/components/sensor.worldtidesinfo/
[sensor.xknx docs]: https://home-assistant.io/components/sensor.xknx/
[snips docs]: https://home-assistant.io/components/snips/
[switch.abode docs]: https://home-assistant.io/components/switch.abode/
[switch.digitalloggers docs]: https://home-assistant.io/components/switch.digitalloggers/
[switch.dlink docs]: https://home-assistant.io/components/switch.dlink/
[switch.homematic docs]: https://home-assistant.io/components/switch.homematic/
[switch.lutron_caseta docs]: https://home-assistant.io/components/switch.lutron_caseta/
[switch.rest docs]: https://home-assistant.io/components/switch.rest/
[switch.rfxtrx docs]: https://home-assistant.io/components/switch.rfxtrx/
[switch.xknx docs]: https://home-assistant.io/components/switch.xknx/
[telegram_bot docs]: https://home-assistant.io/components/telegram_bot/
[tesla docs]: https://home-assistant.io/components/tesla/
[tradfri docs]: https://home-assistant.io/components/tradfri/
[volvooncall docs]: https://home-assistant.io/components/volvooncall/
[xiaomi docs]: https://home-assistant.io/components/xiaomi/
[xknx docs]: https://home-assistant.io/components/xknx/
[zwave docs]: https://home-assistant.io/components/zwave/