From 7d4d65ffed9ac108c9b2813bb8b2a495c2c0d221 Mon Sep 17 00:00:00 2001
From: warcanoid <41340203+warcanoid@users.noreply.github.com>
Date: Tue, 11 Jun 2019 21:02:08 +0200
Subject: [PATCH 01/70] Update zwave.markdown
---
source/hassio/zwave.markdown | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/source/hassio/zwave.markdown b/source/hassio/zwave.markdown
index 949d9ff0bd7..accea2e5206 100644
--- a/source/hassio/zwave.markdown
+++ b/source/hassio/zwave.markdown
@@ -42,6 +42,14 @@ zha:
database_path: /config/zigbee.db
```
+### {% linkable_title INTEL NUC %}
+
+If you have INTEL NUC and host Ubuntu, on some system's the Z-Wave Aeotec stick is not starting up correctly - no Z-Wave nodes on Home Assistant start. Then you have to disable ModemManager:
+
+```bash
+ubuntu$ systemctl disable ModemManager.service
+```
+
### {% linkable_title Finding the path %}
If the above defaults don't work, you can check what hardware has been found using the [`hassio` command](/hassio/commandline/#hardware):
From be55ff8230db1f40d8a33de1923c3fe0fb14fa42 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Wed, 19 Jun 2019 16:34:39 -0700
Subject: [PATCH 02/70] Draft 95
---
_config.yml | 6 +++---
source/_posts/2019-06-26-release-95.markdown | 22 ++++++++++++++++++++
2 files changed, 25 insertions(+), 3 deletions(-)
create mode 100644 source/_posts/2019-06-26-release-95.markdown
diff --git a/_config.yml b/_config.yml
index d6bb61393f3..f86c7aed19b 100644
--- a/_config.yml
+++ b/_config.yml
@@ -138,9 +138,9 @@ social:
# Home Assistant release details
current_major_version: 0
-current_minor_version: 94
-current_patch_version: 3
-date_released: 2019-06-13
+current_minor_version: 95
+current_patch_version: 0
+date_released: 2019-06-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.
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
new file mode 100644
index 00000000000..b1a88fa4652
--- /dev/null
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -0,0 +1,22 @@
+---
+layout: post
+title: "0.95: TBD - UPDATE DATE"
+description: "TBD"
+date: 2019-06-19 04:11:03
+date_formatted: "June 26, 2019"
+author: Paulus Schoutsen
+author_twitter: balloob
+comments: true
+categories: Release-Notes
+og_image: /images/blog/2019-06-release-95/google-ui.png
+redirect_from: /blog/2019/05/29/release-95/
+---
+
+
+
+- Updated Alexa things: UI to manage what Alexa can see, exposed entities pushed to Alexa on change, opt-in state reporting.
+- Better suitability for RV: new `homeassistant.set_location` service and the Met weather service is now able to track your location.
+
+
+
+
From 0b60de54e3eaeb74a4127026b1d5ec9916a0c239 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Wed, 19 Jun 2019 16:35:15 -0700
Subject: [PATCH 03/70] Release 94.4
---
_config.yml | 4 ++--
source/_posts/2019-06-05-release-94.markdown | 16 ++++++++++++++++
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/_config.yml b/_config.yml
index d6bb61393f3..5d495442c51 100644
--- a/_config.yml
+++ b/_config.yml
@@ -139,8 +139,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 94
-current_patch_version: 3
-date_released: 2019-06-13
+current_patch_version: 4
+date_released: 2019-06-19
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_posts/2019-06-05-release-94.markdown b/source/_posts/2019-06-05-release-94.markdown
index f8c89eaf35e..4d9606ea66f 100644
--- a/source/_posts/2019-06-05-release-94.markdown
+++ b/source/_posts/2019-06-05-release-94.markdown
@@ -161,6 +161,22 @@ Because of this, we changed how packages are installed when running Home Assista
[owntracks docs]: /components/owntracks/
[watson_tts docs]: /components/watson_tts/
+## {% linkable_title Release 0.94.4 - June 19 %}
+
+- Fixing tplink issues with offline devices during setup ([@vangorra] - [#23668]) ([tplink docs])
+- Fix zeroconf migration messing up ESPHome discovery ([@OttoWinter] - [#24578]) ([esphome docs])
+- Fixed issue #24335 ([@Swamp-Ig] - [#24612]) ([sun docs])
+
+[#23668]: https://github.com/home-assistant/home-assistant/pull/23668
+[#24578]: https://github.com/home-assistant/home-assistant/pull/24578
+[#24612]: https://github.com/home-assistant/home-assistant/pull/24612
+[@OttoWinter]: https://github.com/OttoWinter
+[@Swamp-Ig]: https://github.com/Swamp-Ig
+[@vangorra]: https://github.com/vangorra
+[esphome docs]: /components/esphome/
+[sun docs]: /components/sun/
+[tplink docs]: /components/tplink/
+
## {% 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.
From 7b004a8c11566a824477419a871eccb2bb8d022a Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Wed, 19 Jun 2019 16:42:27 -0700
Subject: [PATCH 04/70] More release notes
---
source/_posts/2019-06-26-release-95.markdown | 574 ++++++++++++++++++-
1 file changed, 572 insertions(+), 2 deletions(-)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index b1a88fa4652..a88457456ab 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -14,9 +14,579 @@ redirect_from: /blog/2019/05/29/release-95/
-- Updated Alexa things: UI to manage what Alexa can see, exposed entities pushed to Alexa on change, opt-in state reporting.
-- Better suitability for RV: new `homeassistant.set_location` service and the Met weather service is now able to track your location.
+- Better suitability for running Home Assistant in RVs:
+ - new `homeassistant.set_location` service to dynamically set the location of the instance
+ - the Met weather entity can be set up to automatically track your location.
+
+- AdGuard
+- Life360
+
+- Updated Alexa: UI to manage what Alexa can see, exposed entities pushed to Alexa on change (including cleaning up no longer exposed ones), opt-in state reporting.
+
+## {% linkable_title New Integrations %}
+
+- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
+- SolarEdge Local Component ([@drobtravels] - [#23996]) ([solaredge_local docs]) (new-integration) (new-platform)
+- Google Cloud Platform component (TTS) ([@lufton] - [#23629]) ([google_cloud docs]) (new-integration) (new-platform)
+- Life360 integration ([@pnbruckner] - [#24227]) ([life360 docs]) (new-integration) (new-platform)
+- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
+- Queensland bushfire alert feed platform ([@exxamalte] - [#24473]) ([qld_bushfire docs]) (new-integration)
+
+## {% linkable_title New Platforms %}
+
+- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
+- Add LCN scene platform ([@alengwenus] - [#24242]) ([lcn docs]) (new-platform)
+- SolarEdge Local Component ([@drobtravels] - [#23996]) ([solaredge_local docs]) (new-integration) (new-platform)
+- Add Environment Canada weather, sensor, and camera platforms ([@michaeldavie] - [#21110]) ([environment_canada docs]) (new-platform)
+- Google Cloud Platform component (TTS) ([@lufton] - [#23629]) ([google_cloud docs]) (new-integration) (new-platform)
+- Support for Salda Smarty XV/XP Ventilation Unit ([@z0mbieprocess] - [#21491]) ([smarty docs]) (new-platform)
+- Life360 integration ([@pnbruckner] - [#24227]) ([life360 docs]) (new-integration) (new-platform)
+- Add support for ZHA door locks #2 ([@presslab-us] - [#24344]) ([zha docs]) (new-platform)
+- Somfy open api ([@tetienne] - [#19548]) ([somfy docs]) (new-platform)
+- Add APRS device tracker component ([@PhilRW] - [#22469]) ([aprs docs]) (new-platform)
+- Camera platform for buienradar imagery ([@ties] - [#23358]) ([buienradar docs]) (new-platform)
+- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
+- Add incomfort sensor and binary_sensor ([@zxdavb] - [#23812]) ([incomfort docs]) (new-platform)
+- Added ELV PCA 301 smart emeter switch ([@majuss] - [#23300]) ([elv 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).
+
+## {% 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.
+
+
+
+## {% linkable_title Breaking Changes %}
+
+- No longer allow invalid slugs or extra keys ([@balloob] - [#24176]) (breaking change)
+- Add service for adding event to google component ([@isabellaalstrom] - [#22473]) ([google docs]) (breaking change)
+- Remove deprecated AlarmControlPanel ([@SukramJ] - [#24322]) ([homematicip_cloud docs]) (breaking change)
+- Remove attribute lowBat ([@SukramJ] - [#24323]) ([homematicip_cloud docs]) (breaking change)
+- Remove binary sensors for ZHA remotes and controllers ([@dmulcahey] - [#24370]) ([zha docs]) (breaking change)
+- Restore automation last_triggered with initial_state override ([@frenck] - [#24400]) ([automation docs]) (breaking change)
+- Fix recorder defaults ([@balloob] - [#24399]) ([recorder docs]) (breaking change)
+- Uber API is going away on June 13, 2019, remove component ([@robbiet480] - [#24468]) ([uber docs]) (breaking change)
+- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) ([linky docs]) (breaking change)
+- Position is reversed for horizontal awnings ([@kbickar] - [#23257]) ([tahoma docs]) (breaking change)
+- Remove conversation from default config ([@balloob] - [#24515]) ([default_config docs]) (breaking change)
+- Added name to sensors ([@cliffordwhansen] - [#24525]) ([synologydsm docs]) (breaking change)
+- Battery attribute & accuracy filter ([@GoNzCiD] - [#24277]) ([traccar docs]) (breaking change)
+- Added percent to the disk,memory and swap percent labels ([@cliffordwhansen] - [#24575]) ([glances docs]) (breaking change)
+
+## {% linkable_title All changes %}
+
+- Update pysonos to 0.0.14 ([@amelchio] - [#24185]) ([sonos docs])
+- upgrade broadlink library, Use cryptography instead of pycryptodome ([@Danielhiversen] - [#24186]) ([broadlink docs])
+- danielhiversen as codeowner for yr ([@Danielhiversen] - [#24189]) ([yr docs])
+- No longer allow invalid slugs or extra keys ([@balloob] - [#24176]) (breaking change)
+- Update azure-pipelines.yml for check version ([@pvizeli] - [#24194])
+- Update Tibber library ([@Danielhiversen] - [#24192]) ([tibber docs])
+- :pencil2: Corrects incorrect command in hassfest ([@frenck] - [#24188])
+- Fix ESPHome config flow with invalid config entry ([@OttoWinter] - [#24213]) ([esphome docs])
+- Add control of Amcrest indicator light ([@pnbruckner] - [#23986]) ([amcrest docs])
+- ZHA requirements version bump. ([@Adminiuga] - [#24228]) ([zha docs])
+- Bump pychromecast ([@soldag] - [#24234]) ([cast docs])
+- Round Awair sensor values ([@danielsjf] - [#24093]) ([awair docs])
+- Sense update ([@kbickar] - [#24220]) ([sense docs])
+- fix gitlab_ci sad icon ([@Emilv2] - [#24241]) ([gitlab_ci docs])
+- Add details to triggered state for total connect alarms ([@austinmroczek] - [#24106]) ([totalconnect docs])
+- Bump python-velbus version for velbus component ([@Cereal2nd] - [#24226]) ([velbus docs])
+- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
+- Fix typo in integration component ([@Emilv2] - [#24250]) ([integration docs])
+- Replace pyunifi with aiounifi in UniFi device tracker ([@Kane610] - [#24149]) ([unifi docs])
+- Add service for adding event to google component ([@isabellaalstrom] - [#22473]) ([google docs]) (breaking change)
+- Remove icon() ([@fabaff] - [#24280]) ([meteoalarm docs])
+- Split devices of nodes with multiple instances ([@Swamp-Ig] - [#24032]) ([zwave docs])
+- Update pyvera to 0.3.1 for alert support ([@brandond] - [#24289]) ([vera docs])
+- Expose specific device_class for Velux covers ([@gibman] - [#24279]) ([velux docs])
+- Change meteoalertapi to version 0.1.3 ([@rolfberkenbosch] - [#24307]) ([meteoalarm docs])
+- Upgrade pytest and -cov ([@scop] - [#24258])
+- Add LCN scene platform ([@alengwenus] - [#24242]) ([lcn docs]) (new-platform)
+- Add support for learning new commands ([@felipediel] - [#23888]) ([remote docs])
+- Upgrade to newer version of rflink with improve error handling on incoming data. ([@aequitas] - [#24263]) ([rflink docs])
+- SolarEdge Local Component ([@drobtravels] - [#23996]) ([solaredge_local docs]) (new-integration) (new-platform)
+- Push to version 0.7.9 of denonavr ([@scarface-4711] - [#24260]) ([denonavr docs])
+- Bump simplipy to 3.4.2 ([@bachya] - [#24326]) ([simplisafe docs])
+- Meteofrance fix 24244 ([@victorcerutti] - [#24315]) ([meteo_france docs])
+- Only update media icon when necessary ([@jjlawren] - [#24324]) ([webostv docs])
+- components/cover: Typo in docstring. ([@andre-richter] - [#24329]) ([cover docs])
+- Add exception handling for Netatmo climate ([@cgtobi] - [#24311]) ([netatmo docs])
+- Remove deprecated AlarmControlPanel ([@SukramJ] - [#24322]) ([homematicip_cloud docs]) (breaking change)
+- Use node descriptor from Zigpy for ZHA ([@dmulcahey] - [#24316]) ([zha docs])
+- Add abbreviation for light template variable names ([@bieniu] - [#24336]) ([mqtt docs])
+- Remove attribute lowBat ([@SukramJ] - [#24323]) ([homematicip_cloud docs]) (breaking change)
+- Don't load last_checkpoint if shipment is pending ([@davidbb] - [#24301]) ([aftership docs])
+- UPgrade youtube_dl to 2019.05.20 ([@fabaff] - [#24347]) ([media_extractor docs])
+- Add new movement type "actively" of the Xiaomi Vibration Sensor ([@syssi] - [#24334]) ([xiaomi_aqara docs])
+- Fix set_cover_position of the xiaomi_aqara cover for LAN protocol v2 ([@syssi] - [#24333]) ([xiaomi_aqara docs])
+- Add Environment Canada weather, sensor, and camera platforms ([@michaeldavie] - [#21110]) ([environment_canada docs]) (new-platform)
+- Google Cloud Platform component (TTS) ([@lufton] - [#23629]) ([google_cloud docs]) (new-integration) (new-platform)
+- Add Streamlabs Water Monitor ([@cpopp] - [#21205]) ([streamlabswater docs])
+- ebusd: added check for monitored conditions validity within correct circuit ([@danielkucera] - [#22461]) ([ebusd docs])
+- Bring the Sisyphus integration to silver quality ([@jkeljo] - [#22457]) ([sisyphus docs])
+- Support for Salda Smarty XV/XP Ventilation Unit ([@z0mbieprocess] - [#21491]) ([smarty docs]) (new-platform)
+- Bump to pypck==0.6.1 ([@alengwenus] - [#24356]) ([lcn docs])
+- Add templating to MQTT Cover tilt_status ([@tommyjlong] - [#24355]) ([mqtt docs])
+- Upgrade ruamel.yaml to 0.15.97 ([@fabaff] - [#24350])
+- Bump regenmaschine to 1.5.1 ([@bachya] - [#24358]) ([rainmachine docs])
+- Life360 integration ([@pnbruckner] - [#24227]) ([life360 docs]) (new-integration) (new-platform)
+- Refactor Waze Travel Time & Update Requirements ([@Petro31] - [#22428]) ([waze_travel_time docs])
+- Update pyhomematic ([@danielperna84] - [#24368]) ([homematic docs])
+- Add service to update core location ([@balloob] - [#24328]) ([homeassistant docs])
+- Fix ZHA battery level when value is reported via signal ([@dmulcahey] - [#24371]) ([zha docs])
+- Remove binary sensors for ZHA remotes and controllers ([@dmulcahey] - [#24370]) ([zha docs]) (breaking change)
+- Add support for ZHA door locks #2 ([@presslab-us] - [#24344]) ([zha docs]) (new-platform)
+- Upgrade discord.py to 1.1.1 ([@fabaff] - [#24375]) ([discord docs])
+- Upgrade Mastodon.py to 1.4.3 ([@fabaff] - [#24374]) ([mastodon docs])
+- Add shuffle support for itunes component ([@kvanhoorn] - [#24319]) ([itunes docs])
+- Fixed wrong setpoint value on startup when climate was previously turned off ([@alengwenus] - [#24377]) ([lcn docs])
+- Add ATTR_FORECAST_PRECIPITATION option ([@rolfberkenbosch] - [#24308]) ([buienradar docs])
+- Provide an option for the DD-WRT device tracker to include non-wireless devices ([@Klikini] - [#24259]) ([ddwrt docs])
+- Add for option for template triggers ([@pnbruckner] - [#24330]) ([automation docs])
+- Improve amcrest error handling and bump amcrest package to 1.5.3 ([@pnbruckner] - [#24262]) ([amcrest docs])
+- Improve boolean validator ([@Swamp-Ig] - [#24294])
+- add device class to sensors ([@dmulcahey] - [#24373]) ([zha docs])
+- Fixes linter warning in ZHA sensor ([@frenck] - [#24406]) ([zha docs])
+- Use loose version ([@balloob] - [#24394])
+- Restore automation last_triggered with initial_state override ([@frenck] - [#24400]) ([automation docs]) (breaking change)
+- Fix recorder defaults ([@balloob] - [#24399]) ([recorder docs]) (breaking change)
+- Minor improvements to automation test suite ([@frenck] - [#24424])
+- Upgrade broadlink library ([@Danielhiversen] - [#24450]) ([broadlink docs])
+- Upgrade ambiclimate library ([@Danielhiversen] - [#24449]) ([ambiclimate docs])
+- Rename via_hub to via_device ([@Swamp-Ig] - [#24360])
+- Remove frequest asuswrt log spam ([@jwater7] - [#24448]) ([asuswrt docs])
+- Publish test results ([@pvizeli] - [#24460])
+- Life360: Fix config entry handling for accounts imported from configuration ([@pnbruckner] - [#24455]) ([life360 docs])
+- Add default config to constaint file ([@balloob] - [#24423])
+- Add websock command to query device for triggers ([@emontnemery] - [#24044]) ([automation docs]) ([light docs])
+- Uber API is going away on June 13, 2019, remove component ([@robbiet480] - [#24468]) ([uber docs]) (breaking change)
+- Use met.no instead of yr.no in default config ([@thomasloven] - [#24470])
+- Bump pyubee to 0.7 to support more models ([@mzdrale] - [#24477]) ([ubee docs])
+- Somfy open api ([@tetienne] - [#19548]) ([somfy docs]) (new-platform)
+- Add APRS device tracker component ([@PhilRW] - [#22469]) ([aprs docs]) (new-platform)
+- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) ([linky docs]) (breaking change)
+- Add attributs and fix lightlevel inconsistency for LightLevel sensor ([@Cyr-ius] - [#24439]) ([hue docs])
+- Support ZLO device types to support newer Zigbee devices in ZHA ([@jurriaan] - [#24429]) ([zha docs])
+- Camera platform for buienradar imagery ([@ties] - [#23358]) ([buienradar docs]) (new-platform)
+- Position is reversed for horizontal awnings ([@kbickar] - [#23257]) ([tahoma docs]) (breaking change)
+- Fix aprs imports ([@amelchio] - [#24485]) ([aprs docs])
+- Version bump for toonapilib to include new API call for fetching thermostat states, which was sometimes missing causing errors in the library ([@reinder83] - [#24459]) ([toon docs])
+- remove docs from config entries file [skip ci] ([@balloob] - [#24488])
+- Bump adguardhome to 0.2.1 ([@frenck] - [#24486]) ([adguard docs])
+- Add Cast discovery to manifest ([@balloob] - [#24504]) ([cast docs]) ([discovery docs])
+- Bump pyatmo to 2.00 ([@cgtobi] - [#24505]) ([netatmo docs])
+- Migrate HEOS discovery to manifest ([@balloob] - [#24508]) ([discovery docs]) ([heos docs])
+- Bumping Keenetic NDMS2 client to 0.0.8 ([@foxel] - [#24469]) ([keenetic_ndms2 docs])
+- Update DelugeClient to 1.7.1 ([@GuyKh] - [#24518]) ([deluge docs])
+- Clean up Alexa smart home code ([@balloob] - [#24514]) ([alexa docs]) ([cloud docs])
+- Remove conversation from default config ([@balloob] - [#24515]) ([default_config docs]) (breaking change)
+- Refactor yeelight code ([@zewelor] - [#22547]) ([yeelight docs])
+- Migrate Sonos discovery to manifest ([@balloob] - [#24507]) ([discovery docs]) ([sonos docs])
+- Cloud: allow managing Alexa entities via UI ([@balloob] - [#24522]) ([alexa docs]) ([cloud docs])
+- WIP Ps4 Convert entity to Async / Fix entity name changing ([@ktnrg45] - [#24101]) ([ps4 docs])
+- deCONZ - Change attribute Watts to W ([@Kane610] - [#24535]) ([deconz docs])
+- Improve stability of netatmo sensor ([@Danielhiversen] - [#24190]) ([netatmo docs])
+- Update meteoalertapi to 0.1.5 ([@rolfberkenbosch] - [#24528]) ([meteoalarm docs])
+- PS4 bump to 0.8.3 ([@ktnrg45] - [#24527]) ([ps4 docs])
+- Pyyaml5.1 ([@BackSlasher] - [#24529])
+- Added name to sensors ([@cliffordwhansen] - [#24525]) ([synologydsm docs]) (breaking change)
+- Update requirement version and add switcher_kis services ([@TomerFi] - [#23477]) ([switcher_kis docs])
+- Flux switch ([@Swamp-Ig] - [#24542])
+- UniFi simplify update ([@Kane610] - [#24304]) ([unifi docs])
+- Fix incomfort issue #24478 & bump client ([@zxdavb] - [#24548]) ([incomfort docs])
+- Handle stacktrace when rtorrent host is unreachable ([@mafrosis] - [#24541]) ([rtorrent docs])
+- Fix a bug with Ambient PWS reconnection ([@bachya] - [#24540]) ([ambient_station docs])
+- Update __init__.py ([@lundan] - [#24553]) ([nissan_leaf docs])
+- Update ambiclimate library ([@Danielhiversen] - [#24562]) ([ambiclimate docs])
+- Misc. ZHA enhancements ([@dmulcahey] - [#24559]) ([zha docs])
+- Update pysonos to 0.0.15 ([@amelchio] - [#24565]) ([sonos docs])
+- Whitelist yeelight predefined effects per device type ([@zewelor] - [#24544]) ([yeelight docs])
+- Battery attribute & accuracy filter ([@GoNzCiD] - [#24277]) ([traccar docs]) (breaking change)
+- Bump androidtv to 0.0.16 ([@JeffLIrion] - [#24576]) ([androidtv docs])
+- Added percent to the disk,memory and swap percent labels ([@cliffordwhansen] - [#24575]) ([glances docs]) (breaking change)
+- SMA sensor: Add optional path ([@kellerza] - [#24558]) ([sma docs])
+- Fix geniushub issue #24530 (via a client bump) & handle edge cases ([@zxdavb] - [#24546]) ([geniushub docs])
+- Add sensitivity and sensitvity_max attributs for binary sensor ([@Cyr-ius] - [#24438]) ([hue docs])
+- Cloud: Add Alexa report state ([@balloob] - [#24536]) ([alexa docs]) ([cloud docs])
+- Added toggle service to covers ([@kbickar] - [#23198]) ([cover docs])
+- Added invert_percent configuration for zwave rollershutter ([@tommasomarchionni] - [#23101]) ([zwave docs])
+- Add code_arm_required to manual alarm with MQTT ([@JumpMaster] - [#22641]) ([manual_mqtt docs])
+- Add code_arm_required to manual alarm ([@JumpMaster] - [#22618]) ([demo docs]) ([manual docs])
+- Add source selection to Samsung TV media player ([@escoand] - [#22612]) ([samsungtv docs])
+- Fix alarm control panel tests ([@balloob] - [#24586])
+- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
+- Fix honeywell issue #18932 ([@zxdavb] - [#24402]) ([honeywell docs])
+- Bump base Somfy MyLink library version ([@bendews] - [#24587]) ([somfy_mylink docs])
+- Better pairing for Xiaomi devices in ZHA ([@dmulcahey] - [#24564]) ([zha docs])
+- ESPHome config flow only connect when needed ([@OttoWinter] - [#24593]) ([esphome docs])
+- ESPHome load platforms lazily ([@OttoWinter] - [#24594]) ([esphome docs])
+- Add ESPHome event generation and user-defined service array support ([@OttoWinter] - [#24595]) ([esphome docs])
+- Fix validator for lcn.send_keys service ([@alengwenus] - [#24580]) ([lcn docs])
+- Cloud: Make sure on_connect forwards platform only once ([@balloob] - [#24582]) ([cloud docs])
+- Add config entry for Met.no ([@bachya] - [#24608]) ([met docs])
+- Notify Alexa when exposed entities change ([@balloob] - [#24609]) ([alexa docs]) ([cloud docs])
+- Update pysonos to 0.0.16 ([@amelchio] - [#24607]) ([sonos docs])
+- check for None state in broadlink ([@Danielhiversen] - [#24589]) ([broadlink docs])
+- Queensland bushfire alert feed platform ([@exxamalte] - [#24473]) ([qld_bushfire docs]) (new-integration)
+- Add incomfort sensor and binary_sensor ([@zxdavb] - [#23812]) ([incomfort docs]) (new-platform)
+- Add support for opencv wheels ([@pvizeli] - [#24620]) ([opencv docs])
+- tellstick: Add socat to package dependencies ([@torarnv] - [#24531])
+- Tolerance configuration for dlib_face_identify ([@gonzalezcalleja] - [#24497]) ([dlib_face_identify docs])
+- Fix sending update when not logged in ([@balloob] - [#24624]) ([cloud docs])
+- Uses signal dispatcher to invoke state update ([@JohNan] - [#24627]) ([plaato docs])
+- Add weather alert sensor to meteo france component ([@oncleben31] - [#23128]) ([meteo_france docs])
+- Set up Met during onboarding ([@balloob] - [#24622]) ([met docs]) ([onboarding docs])
+- Added ELV PCA 301 smart emeter switch ([@majuss] - [#23300]) ([elv docs]) (new-platform)
+
+[#19548]: https://github.com/home-assistant/home-assistant/pull/19548
+[#21110]: https://github.com/home-assistant/home-assistant/pull/21110
+[#21205]: https://github.com/home-assistant/home-assistant/pull/21205
+[#21491]: https://github.com/home-assistant/home-assistant/pull/21491
+[#22428]: https://github.com/home-assistant/home-assistant/pull/22428
+[#22457]: https://github.com/home-assistant/home-assistant/pull/22457
+[#22461]: https://github.com/home-assistant/home-assistant/pull/22461
+[#22469]: https://github.com/home-assistant/home-assistant/pull/22469
+[#22473]: https://github.com/home-assistant/home-assistant/pull/22473
+[#22547]: https://github.com/home-assistant/home-assistant/pull/22547
+[#22612]: https://github.com/home-assistant/home-assistant/pull/22612
+[#22618]: https://github.com/home-assistant/home-assistant/pull/22618
+[#22641]: https://github.com/home-assistant/home-assistant/pull/22641
+[#23101]: https://github.com/home-assistant/home-assistant/pull/23101
+[#23128]: https://github.com/home-assistant/home-assistant/pull/23128
+[#23198]: https://github.com/home-assistant/home-assistant/pull/23198
+[#23257]: https://github.com/home-assistant/home-assistant/pull/23257
+[#23300]: https://github.com/home-assistant/home-assistant/pull/23300
+[#23358]: https://github.com/home-assistant/home-assistant/pull/23358
+[#23477]: https://github.com/home-assistant/home-assistant/pull/23477
+[#23629]: https://github.com/home-assistant/home-assistant/pull/23629
+[#23726]: https://github.com/home-assistant/home-assistant/pull/23726
+[#23727]: https://github.com/home-assistant/home-assistant/pull/23727
+[#23812]: https://github.com/home-assistant/home-assistant/pull/23812
+[#23888]: https://github.com/home-assistant/home-assistant/pull/23888
+[#23986]: https://github.com/home-assistant/home-assistant/pull/23986
+[#23996]: https://github.com/home-assistant/home-assistant/pull/23996
+[#24032]: https://github.com/home-assistant/home-assistant/pull/24032
+[#24044]: https://github.com/home-assistant/home-assistant/pull/24044
+[#24093]: https://github.com/home-assistant/home-assistant/pull/24093
+[#24101]: https://github.com/home-assistant/home-assistant/pull/24101
+[#24106]: https://github.com/home-assistant/home-assistant/pull/24106
+[#24149]: https://github.com/home-assistant/home-assistant/pull/24149
+[#24176]: https://github.com/home-assistant/home-assistant/pull/24176
+[#24185]: https://github.com/home-assistant/home-assistant/pull/24185
+[#24186]: https://github.com/home-assistant/home-assistant/pull/24186
+[#24188]: https://github.com/home-assistant/home-assistant/pull/24188
+[#24189]: https://github.com/home-assistant/home-assistant/pull/24189
+[#24190]: https://github.com/home-assistant/home-assistant/pull/24190
+[#24192]: https://github.com/home-assistant/home-assistant/pull/24192
+[#24194]: https://github.com/home-assistant/home-assistant/pull/24194
+[#24213]: https://github.com/home-assistant/home-assistant/pull/24213
+[#24219]: https://github.com/home-assistant/home-assistant/pull/24219
+[#24220]: https://github.com/home-assistant/home-assistant/pull/24220
+[#24226]: https://github.com/home-assistant/home-assistant/pull/24226
+[#24227]: https://github.com/home-assistant/home-assistant/pull/24227
+[#24228]: https://github.com/home-assistant/home-assistant/pull/24228
+[#24234]: https://github.com/home-assistant/home-assistant/pull/24234
+[#24241]: https://github.com/home-assistant/home-assistant/pull/24241
+[#24242]: https://github.com/home-assistant/home-assistant/pull/24242
+[#24250]: https://github.com/home-assistant/home-assistant/pull/24250
+[#24258]: https://github.com/home-assistant/home-assistant/pull/24258
+[#24259]: https://github.com/home-assistant/home-assistant/pull/24259
+[#24260]: https://github.com/home-assistant/home-assistant/pull/24260
+[#24262]: https://github.com/home-assistant/home-assistant/pull/24262
+[#24263]: https://github.com/home-assistant/home-assistant/pull/24263
+[#24277]: https://github.com/home-assistant/home-assistant/pull/24277
+[#24279]: https://github.com/home-assistant/home-assistant/pull/24279
+[#24280]: https://github.com/home-assistant/home-assistant/pull/24280
+[#24289]: https://github.com/home-assistant/home-assistant/pull/24289
+[#24294]: https://github.com/home-assistant/home-assistant/pull/24294
+[#24301]: https://github.com/home-assistant/home-assistant/pull/24301
+[#24304]: https://github.com/home-assistant/home-assistant/pull/24304
+[#24307]: https://github.com/home-assistant/home-assistant/pull/24307
+[#24308]: https://github.com/home-assistant/home-assistant/pull/24308
+[#24311]: https://github.com/home-assistant/home-assistant/pull/24311
+[#24315]: https://github.com/home-assistant/home-assistant/pull/24315
+[#24316]: https://github.com/home-assistant/home-assistant/pull/24316
+[#24319]: https://github.com/home-assistant/home-assistant/pull/24319
+[#24322]: https://github.com/home-assistant/home-assistant/pull/24322
+[#24323]: https://github.com/home-assistant/home-assistant/pull/24323
+[#24324]: https://github.com/home-assistant/home-assistant/pull/24324
+[#24326]: https://github.com/home-assistant/home-assistant/pull/24326
+[#24328]: https://github.com/home-assistant/home-assistant/pull/24328
+[#24329]: https://github.com/home-assistant/home-assistant/pull/24329
+[#24330]: https://github.com/home-assistant/home-assistant/pull/24330
+[#24333]: https://github.com/home-assistant/home-assistant/pull/24333
+[#24334]: https://github.com/home-assistant/home-assistant/pull/24334
+[#24336]: https://github.com/home-assistant/home-assistant/pull/24336
+[#24344]: https://github.com/home-assistant/home-assistant/pull/24344
+[#24347]: https://github.com/home-assistant/home-assistant/pull/24347
+[#24350]: https://github.com/home-assistant/home-assistant/pull/24350
+[#24355]: https://github.com/home-assistant/home-assistant/pull/24355
+[#24356]: https://github.com/home-assistant/home-assistant/pull/24356
+[#24358]: https://github.com/home-assistant/home-assistant/pull/24358
+[#24360]: https://github.com/home-assistant/home-assistant/pull/24360
+[#24368]: https://github.com/home-assistant/home-assistant/pull/24368
+[#24370]: https://github.com/home-assistant/home-assistant/pull/24370
+[#24371]: https://github.com/home-assistant/home-assistant/pull/24371
+[#24373]: https://github.com/home-assistant/home-assistant/pull/24373
+[#24374]: https://github.com/home-assistant/home-assistant/pull/24374
+[#24375]: https://github.com/home-assistant/home-assistant/pull/24375
+[#24377]: https://github.com/home-assistant/home-assistant/pull/24377
+[#24394]: https://github.com/home-assistant/home-assistant/pull/24394
+[#24399]: https://github.com/home-assistant/home-assistant/pull/24399
+[#24400]: https://github.com/home-assistant/home-assistant/pull/24400
+[#24402]: https://github.com/home-assistant/home-assistant/pull/24402
+[#24406]: https://github.com/home-assistant/home-assistant/pull/24406
+[#24423]: https://github.com/home-assistant/home-assistant/pull/24423
+[#24424]: https://github.com/home-assistant/home-assistant/pull/24424
+[#24429]: https://github.com/home-assistant/home-assistant/pull/24429
+[#24438]: https://github.com/home-assistant/home-assistant/pull/24438
+[#24439]: https://github.com/home-assistant/home-assistant/pull/24439
+[#24448]: https://github.com/home-assistant/home-assistant/pull/24448
+[#24449]: https://github.com/home-assistant/home-assistant/pull/24449
+[#24450]: https://github.com/home-assistant/home-assistant/pull/24450
+[#24455]: https://github.com/home-assistant/home-assistant/pull/24455
+[#24459]: https://github.com/home-assistant/home-assistant/pull/24459
+[#24460]: https://github.com/home-assistant/home-assistant/pull/24460
+[#24468]: https://github.com/home-assistant/home-assistant/pull/24468
+[#24469]: https://github.com/home-assistant/home-assistant/pull/24469
+[#24470]: https://github.com/home-assistant/home-assistant/pull/24470
+[#24473]: https://github.com/home-assistant/home-assistant/pull/24473
+[#24477]: https://github.com/home-assistant/home-assistant/pull/24477
+[#24485]: https://github.com/home-assistant/home-assistant/pull/24485
+[#24486]: https://github.com/home-assistant/home-assistant/pull/24486
+[#24488]: https://github.com/home-assistant/home-assistant/pull/24488
+[#24497]: https://github.com/home-assistant/home-assistant/pull/24497
+[#24504]: https://github.com/home-assistant/home-assistant/pull/24504
+[#24505]: https://github.com/home-assistant/home-assistant/pull/24505
+[#24507]: https://github.com/home-assistant/home-assistant/pull/24507
+[#24508]: https://github.com/home-assistant/home-assistant/pull/24508
+[#24514]: https://github.com/home-assistant/home-assistant/pull/24514
+[#24515]: https://github.com/home-assistant/home-assistant/pull/24515
+[#24518]: https://github.com/home-assistant/home-assistant/pull/24518
+[#24522]: https://github.com/home-assistant/home-assistant/pull/24522
+[#24525]: https://github.com/home-assistant/home-assistant/pull/24525
+[#24527]: https://github.com/home-assistant/home-assistant/pull/24527
+[#24528]: https://github.com/home-assistant/home-assistant/pull/24528
+[#24529]: https://github.com/home-assistant/home-assistant/pull/24529
+[#24531]: https://github.com/home-assistant/home-assistant/pull/24531
+[#24535]: https://github.com/home-assistant/home-assistant/pull/24535
+[#24536]: https://github.com/home-assistant/home-assistant/pull/24536
+[#24540]: https://github.com/home-assistant/home-assistant/pull/24540
+[#24541]: https://github.com/home-assistant/home-assistant/pull/24541
+[#24542]: https://github.com/home-assistant/home-assistant/pull/24542
+[#24544]: https://github.com/home-assistant/home-assistant/pull/24544
+[#24546]: https://github.com/home-assistant/home-assistant/pull/24546
+[#24548]: https://github.com/home-assistant/home-assistant/pull/24548
+[#24553]: https://github.com/home-assistant/home-assistant/pull/24553
+[#24558]: https://github.com/home-assistant/home-assistant/pull/24558
+[#24559]: https://github.com/home-assistant/home-assistant/pull/24559
+[#24562]: https://github.com/home-assistant/home-assistant/pull/24562
+[#24564]: https://github.com/home-assistant/home-assistant/pull/24564
+[#24565]: https://github.com/home-assistant/home-assistant/pull/24565
+[#24575]: https://github.com/home-assistant/home-assistant/pull/24575
+[#24576]: https://github.com/home-assistant/home-assistant/pull/24576
+[#24580]: https://github.com/home-assistant/home-assistant/pull/24580
+[#24582]: https://github.com/home-assistant/home-assistant/pull/24582
+[#24586]: https://github.com/home-assistant/home-assistant/pull/24586
+[#24587]: https://github.com/home-assistant/home-assistant/pull/24587
+[#24589]: https://github.com/home-assistant/home-assistant/pull/24589
+[#24593]: https://github.com/home-assistant/home-assistant/pull/24593
+[#24594]: https://github.com/home-assistant/home-assistant/pull/24594
+[#24595]: https://github.com/home-assistant/home-assistant/pull/24595
+[#24607]: https://github.com/home-assistant/home-assistant/pull/24607
+[#24608]: https://github.com/home-assistant/home-assistant/pull/24608
+[#24609]: https://github.com/home-assistant/home-assistant/pull/24609
+[#24620]: https://github.com/home-assistant/home-assistant/pull/24620
+[#24622]: https://github.com/home-assistant/home-assistant/pull/24622
+[#24624]: https://github.com/home-assistant/home-assistant/pull/24624
+[#24627]: https://github.com/home-assistant/home-assistant/pull/24627
+[@Adminiuga]: https://github.com/Adminiuga
+[@BackSlasher]: https://github.com/BackSlasher
+[@Cereal2nd]: https://github.com/Cereal2nd
+[@Cyr-ius]: https://github.com/Cyr-ius
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@Emilv2]: https://github.com/Emilv2
+[@GoNzCiD]: https://github.com/GoNzCiD
+[@GuyKh]: https://github.com/GuyKh
+[@JeffLIrion]: https://github.com/JeffLIrion
+[@JohNan]: https://github.com/JohNan
+[@JumpMaster]: https://github.com/JumpMaster
+[@Kane610]: https://github.com/Kane610
+[@Klikini]: https://github.com/Klikini
+[@OttoWinter]: https://github.com/OttoWinter
+[@Petro31]: https://github.com/Petro31
+[@PhilRW]: https://github.com/PhilRW
+[@Quentame]: https://github.com/Quentame
+[@SukramJ]: https://github.com/SukramJ
+[@Swamp-Ig]: https://github.com/Swamp-Ig
+[@TomerFi]: https://github.com/TomerFi
+[@aequitas]: https://github.com/aequitas
+[@alengwenus]: https://github.com/alengwenus
+[@amelchio]: https://github.com/amelchio
+[@andre-richter]: https://github.com/andre-richter
+[@austinmroczek]: https://github.com/austinmroczek
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bendews]: https://github.com/bendews
+[@bieniu]: https://github.com/bieniu
+[@brandond]: https://github.com/brandond
+[@cgtobi]: https://github.com/cgtobi
+[@cliffordwhansen]: https://github.com/cliffordwhansen
+[@cpopp]: https://github.com/cpopp
+[@danielkucera]: https://github.com/danielkucera
+[@danielperna84]: https://github.com/danielperna84
+[@danielsjf]: https://github.com/danielsjf
+[@davidbb]: https://github.com/davidbb
+[@dmulcahey]: https://github.com/dmulcahey
+[@drobtravels]: https://github.com/drobtravels
+[@emontnemery]: https://github.com/emontnemery
+[@escoand]: https://github.com/escoand
+[@exxamalte]: https://github.com/exxamalte
+[@fabaff]: https://github.com/fabaff
+[@felipediel]: https://github.com/felipediel
+[@foxel]: https://github.com/foxel
+[@frenck]: https://github.com/frenck
+[@gibman]: https://github.com/gibman
+[@gonzalezcalleja]: https://github.com/gonzalezcalleja
+[@isabellaalstrom]: https://github.com/isabellaalstrom
+[@jjlawren]: https://github.com/jjlawren
+[@jkeljo]: https://github.com/jkeljo
+[@jurriaan]: https://github.com/jurriaan
+[@jwater7]: https://github.com/jwater7
+[@kbickar]: https://github.com/kbickar
+[@kellerza]: https://github.com/kellerza
+[@ktnrg45]: https://github.com/ktnrg45
+[@kvanhoorn]: https://github.com/kvanhoorn
+[@lufton]: https://github.com/lufton
+[@lundan]: https://github.com/lundan
+[@mafrosis]: https://github.com/mafrosis
+[@majuss]: https://github.com/majuss
+[@michaeldavie]: https://github.com/michaeldavie
+[@mzdrale]: https://github.com/mzdrale
+[@oncleben31]: https://github.com/oncleben31
+[@pnbruckner]: https://github.com/pnbruckner
+[@presslab-us]: https://github.com/presslab-us
+[@pvizeli]: https://github.com/pvizeli
+[@reinder83]: https://github.com/reinder83
+[@robbiet480]: https://github.com/robbiet480
+[@rolfberkenbosch]: https://github.com/rolfberkenbosch
+[@scarface-4711]: https://github.com/scarface-4711
+[@scop]: https://github.com/scop
+[@soldag]: https://github.com/soldag
+[@syssi]: https://github.com/syssi
+[@tetienne]: https://github.com/tetienne
+[@thomasloven]: https://github.com/thomasloven
+[@ties]: https://github.com/ties
+[@tommasomarchionni]: https://github.com/tommasomarchionni
+[@tommyjlong]: https://github.com/tommyjlong
+[@torarnv]: https://github.com/torarnv
+[@victorcerutti]: https://github.com/victorcerutti
+[@z0mbieprocess]: https://github.com/z0mbieprocess
+[@zewelor]: https://github.com/zewelor
+[@zxdavb]: https://github.com/zxdavb
+[adguard docs]: /components/adguard/
+[aftership docs]: /components/aftership/
+[alexa docs]: /components/alexa/
+[ambiclimate docs]: /components/ambiclimate/
+[ambient_station docs]: /components/ambient_station/
+[amcrest docs]: /components/amcrest/
+[androidtv docs]: /components/androidtv/
+[aprs docs]: /components/aprs/
+[asuswrt docs]: /components/asuswrt/
+[automation docs]: /components/automation/
+[awair docs]: /components/awair/
+[broadlink docs]: /components/broadlink/
+[buienradar docs]: /components/buienradar/
+[cast docs]: /components/cast/
+[cloud docs]: /components/cloud/
+[cover docs]: /components/cover/
+[ddwrt docs]: /components/ddwrt/
+[deconz docs]: /components/deconz/
+[default_config docs]: /components/default_config/
+[deluge docs]: /components/deluge/
+[demo docs]: /components/demo/
+[denonavr docs]: /components/denonavr/
+[discord docs]: /components/discord/
+[discovery docs]: /components/discovery/
+[dlib_face_identify docs]: /components/dlib_face_identify/
+[ebusd docs]: /components/ebusd/
+[elv docs]: /components/elv/
+[environment_canada docs]: /components/environment_canada/
+[esphome docs]: /components/esphome/
+[geniushub docs]: /components/geniushub/
+[gitlab_ci docs]: /components/gitlab_ci/
+[glances docs]: /components/glances/
+[google docs]: /components/google/
+[google_cloud docs]: /components/google_cloud/
+[heos docs]: /components/heos/
+[homeassistant docs]: /components/homeassistant/
+[homematic docs]: /components/homematic/
+[homematicip_cloud docs]: /components/homematicip_cloud/
+[honeywell docs]: /components/honeywell/
+[hue docs]: /components/hue/
+[incomfort docs]: /components/incomfort/
+[integration docs]: /components/integration/
+[itunes docs]: /components/itunes/
+[keenetic_ndms2 docs]: /components/keenetic_ndms2/
+[lcn docs]: /components/lcn/
+[life360 docs]: /components/life360/
+[light docs]: /components/light/
+[linky docs]: /components/linky/
+[manual docs]: /components/manual/
+[manual_mqtt docs]: /components/manual_mqtt/
+[mastodon docs]: /components/mastodon/
+[media_extractor docs]: /components/media_extractor/
+[met docs]: /components/met/
+[meteo_france docs]: /components/meteo_france/
+[meteoalarm docs]: /components/meteoalarm/
+[mqtt docs]: /components/mqtt/
+[netatmo docs]: /components/netatmo/
+[nissan_leaf docs]: /components/nissan_leaf/
+[onboarding docs]: /components/onboarding/
+[opencv docs]: /components/opencv/
+[plaato docs]: /components/plaato/
+[ps4 docs]: /components/ps4/
+[qld_bushfire docs]: /components/qld_bushfire/
+[rainmachine docs]: /components/rainmachine/
+[recorder docs]: /components/recorder/
+[remote docs]: /components/remote/
+[rflink docs]: /components/rflink/
+[rtorrent docs]: /components/rtorrent/
+[samsungtv docs]: /components/samsungtv/
+[sense docs]: /components/sense/
+[simplisafe docs]: /components/simplisafe/
+[sisyphus docs]: /components/sisyphus/
+[sma docs]: /components/sma/
+[smarty docs]: /components/smarty/
+[solaredge_local docs]: /components/solaredge_local/
+[somfy docs]: /components/somfy/
+[somfy_mylink docs]: /components/somfy_mylink/
+[sonos docs]: /components/sonos/
+[streamlabswater docs]: /components/streamlabswater/
+[switcher_kis docs]: /components/switcher_kis/
+[synologydsm docs]: /components/synologydsm/
+[tahoma docs]: /components/tahoma/
+[tibber docs]: /components/tibber/
+[toon docs]: /components/toon/
+[totalconnect docs]: /components/totalconnect/
+[traccar docs]: /components/traccar/
+[ubee docs]: /components/ubee/
+[uber docs]: /components/uber/
+[unifi docs]: /components/unifi/
+[velbus docs]: /components/velbus/
+[velux docs]: /components/velux/
+[vera docs]: /components/vera/
+[waze_travel_time docs]: /components/waze_travel_time/
+[webostv docs]: /components/webostv/
+[xiaomi_aqara docs]: /components/xiaomi_aqara/
+[yeelight docs]: /components/yeelight/
+[yr docs]: /components/yr/
+[zha docs]: /components/zha/
+[zwave docs]: /components/zwave/
From 98c39fdc11d53350ff0e175824e54138b4837b35 Mon Sep 17 00:00:00 2001
From: Dubh Ad
Date: Thu, 20 Jun 2019 16:20:50 +0100
Subject: [PATCH 05/70] Update about Google Home (#9666)
The warning needs some clarity, and a link to the paid service ;)
---
source/_components/emulated_hue.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown
index 46baf20fee9..efc6359c0eb 100644
--- a/source/_components/emulated_hue.markdown
+++ b/source/_components/emulated_hue.markdown
@@ -16,7 +16,7 @@ ha_qa_scale: internal
---
-Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](/components/google_assistant/).
+Be aware that `emulated_hue` doesn't work for new users of **Google Home** with `emulated_hue`. If you've not previously set this up and had it working, use the [Google Assistant component](/components/google_assistant/) or (Nabu Casa cloud](https://www.home-assistant.io/components/cloud) component.
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
From 858226e374a8c91cf65505b580da8a20c80e1a5c Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Thu, 20 Jun 2019 09:58:10 -0700
Subject: [PATCH 06/70] Add link to life360 custom
---
source/_posts/2019-06-26-release-95.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index a88457456ab..f57de850893 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -19,7 +19,7 @@ redirect_from: /blog/2019/05/29/release-95/
- the Met weather entity can be set up to automatically track your location.
- AdGuard
-- Life360
+- Life360. If you were using the custom integration, please [read the instructions](https://community.home-assistant.io/t/life360-device-tracker-platform/52406/1077)
- Updated Alexa: UI to manage what Alexa can see, exposed entities pushed to Alexa on change (including cleaning up no longer exposed ones), opt-in state reporting.
From 04275613e914e9a9dfa2740a2bf0fea23c54f3f6 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Thu, 20 Jun 2019 19:06:22 +0200
Subject: [PATCH 07/70] :pencil2: Tweaks
---
source/hassio/zwave.markdown | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/source/hassio/zwave.markdown b/source/hassio/zwave.markdown
index accea2e5206..71f91b85327 100644
--- a/source/hassio/zwave.markdown
+++ b/source/hassio/zwave.markdown
@@ -16,7 +16,7 @@ zwave:
usb_path: /dev/ttyACM0
```
-### {% linkable_title RAZBERRY BOARD %}
+## {% linkable_title RAZBERRY BOARD %}
If you need GPIO on Raspberry Pi 3 for your Z-Wave module, add the following line into `config.txt` (you have to access that on the SD card directly. Simply plug it into your PC and edit it there. The `config.txt` is not accessible from your Hass.io system, you may need to open the SD card on a Windows or Linux system.):
@@ -31,7 +31,7 @@ zwave:
usb_path: /dev/ttyAMA0
```
-### {% linkable_title HUSBZB-1 %}
+## {% linkable_title HUSBZB-1 %}
```yaml
zwave:
@@ -42,12 +42,16 @@ zha:
database_path: /config/zigbee.db
```
-### {% linkable_title INTEL NUC %}
+## {% linkable_title Ubuntu and Debian based host system %}
-If you have INTEL NUC and host Ubuntu, on some system's the Z-Wave Aeotec stick is not starting up correctly - no Z-Wave nodes on Home Assistant start. Then you have to disable ModemManager:
+If your instance is running on a Debian based system, e.g., Ubuntu, the ModemManager may cause unexpected issues.
+
+The ModemManager might be claiming or interfering with a USB Z-Wave stick, like the much used Aeotec ones. If you experience issues where the stick stops responding, needs to be re-plugged or Home Assistant needs a restart to get Z-Wave back, chances are high that the ModemManager is causing the issue.
+
+Execute the following command on your host system to disable the ModemManager:
```bash
-ubuntu$ systemctl disable ModemManager.service
+systemctl disable ModemManager.service
```
### {% linkable_title Finding the path %}
From 774042665b05596249f41898a19d7b4f84ab013d Mon Sep 17 00:00:00 2001
From: warcanoid <41340203+warcanoid@users.noreply.github.com>
Date: Thu, 20 Jun 2019 19:29:07 +0200
Subject: [PATCH 08/70] Update installation.markdown (#9613)
* Update installation.markdown
* :pencil2: Tweaks
---
source/_docs/z-wave/installation.markdown | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index 575e5fadac3..cf95b4f3746 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -227,6 +227,18 @@ $ ls /dev/cu.usbmodem*
If your device path changes when you restart, see [this guide](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/) on fixing it.
+## {% linkable_title Ubuntu and Debian based host system %}
+
+If your instance is running on a Debian based system, e.g., Ubuntu, the ModemManager may cause unexpected issues.
+
+The ModemManager might be claiming or interfering with a USB Z-Wave stick, like the much used Aeotec ones. If you experience issues where the stick stops responding, needs to be re-plugged or Home Assistant needs a restart to get Z-Wave back, chances are high that the ModemManager is causing the issue.
+
+ Execute the following command on your host system to disable the ModemManager:
+
+ ```bash
+systemctl disable ModemManager.service
+```
+
### {% linkable_title Component could not be set up %}
Sometimes the device may not be accessible and you'll get an error message upon startup about not being able to set up Z-Wave. Run the following command for your device path (here we're using `/dev/ttyAMA0` for our Razberry board):
From 9ece97835103602836912cf4f9e120bb29c56505 Mon Sep 17 00:00:00 2001
From: Dubh Ad
Date: Thu, 20 Jun 2019 18:42:06 +0100
Subject: [PATCH 09/70] Update to the macOS guide (#9662)
* Update to the macOS guide
1. Updated the Python version
2. Changed it to a venv install to avoid people breaking things by accident
3. Linked to the auto-start guide
4. Removed link to the outdated video
* Update macos.markdown
* :pencil2: Tweaks
* :pencil2: Tweak
---
source/_docs/installation/macos.markdown | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/source/_docs/installation/macos.markdown b/source/_docs/installation/macos.markdown
index c7b2c7c22c9..45720754da9 100644
--- a/source/_docs/installation/macos.markdown
+++ b/source/_docs/installation/macos.markdown
@@ -11,12 +11,14 @@ footer: true
[macOS](http://www.apple.com/macos/) is available by default on Apple computer. If you run a different operating system, please refer to the other section of the documentation.
-To run Home Assistant on macOS you need to install Python first. Download Python 3.5.3 or later from [https://www.python.org/downloads/mac-osx/](https://www.python.org/downloads/mac-osx/) and follow the instructions of the installer.
+To run Home Assistant on macOS, you need to install Python first. Download Python 3.6 or later (at this time, we recommend Python 3.7) from [https://www.python.org/downloads/mac-osx/](https://www.python.org/downloads/mac-osx/) and follow the instructions of the installer.
-Open a terminal and install Home Assistant.
+Open a terminal and install Home Assistant in a virtual environment:
```bash
+$ python3 -m venv homeassistant
+$ source homeassistant/bin/activate
$ pip3 install homeassistant
```
-Check this [video](https://www.youtube.com/watch?v=hej6ipN86ls) for the installation on macOS.
+You can then configure Home Assistant to autostart by following [this guide](/docs/autostart/macos/).
From 7aabc0113b0722a74d7b669cb86eb2dd012a8d96 Mon Sep 17 00:00:00 2001
From: Karim Geiger
Date: Fri, 21 Jun 2019 12:06:40 +0200
Subject: [PATCH 10/70] Add note on conditions not working without forecast
(#9669)
* Add note on conditions not working without forecast
It tripped me off that some monitored conditions only work with the forecast attribute set, as they require a forecast to be made. This will add a note that explains this behaviour.
* Fix typo
---
source/_components/darksky.markdown | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/source/_components/darksky.markdown b/source/_components/darksky.markdown
index d1942794a56..33757a91179 100644
--- a/source/_components/darksky.markdown
+++ b/source/_components/darksky.markdown
@@ -159,6 +159,10 @@ scan_interval:
type: time
{% endconfiguration %}
+
+Please note that some monitored conditions, such as `temperature_high` or `temperature_low`, may only work when setting the `forecast` attribute to at least `0` (current day).
+
+
#### {% linkable_title Time period dictionary example %}
```yaml
From 9f3341c689d4b06e601bf3bb39189c646d6a7b4c Mon Sep 17 00:00:00 2001
From: Rob
Date: Fri, 21 Jun 2019 18:27:09 +0200
Subject: [PATCH 11/70] Fix title in Aftership docs page (#9671)
---
source/_components/aftership.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/aftership.markdown b/source/_components/aftership.markdown
index 087e520876e..7ba102d0134 100644
--- a/source/_components/aftership.markdown
+++ b/source/_components/aftership.markdown
@@ -60,7 +60,7 @@ api_key:
| `slug` | `False` | string | Carrier e.g. `fedex`
| `title` | `False` | string | Friendly name of package
- ## {% linkable_title Service `remove_tracking` %}
+## {% linkable_title Service `remove_tracking` %}
You can use the service `aftership.remove_tracking` to remove trackings from Aftership.
From 3f09574f45d5dc96f5d7e3862a0ad6beca4beadf Mon Sep 17 00:00:00 2001
From: Sean Mooney
Date: Fri, 21 Jun 2019 18:40:44 -0400
Subject: [PATCH 12/70] Update "OS X" to "macOS"
It's been called macOS for a little over 3 years now (https://www.wired.com/2016/06/apple-os-x-dead-long-live-macos/).
---
source/_docs/ecosystem/hass-configurator.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown
index 3087d6b6b2d..4295138cd03 100644
--- a/source/_docs/ecosystem/hass-configurator.markdown
+++ b/source/_docs/ecosystem/hass-configurator.markdown
@@ -37,7 +37,7 @@ Screenshot of the HASS Configurator.
This tool allows you to browse your filesystem and modify files. So be careful which files you edit, or you might break critical parts of your system.
Consider running the configurator as a user with limited privileges to limit possible damage.
-### {% linkable_title Installation (Linux, OS X) %}
+### {% linkable_title Installation (Linux, macOS) %}
There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline).
- Copy [configurator.py](https://github.com/danielperna84/hass-configurator/blob/master/configurator.py) to your Home Assistant configuration directory (e.g `/home/homeassistant/.homeassistant`): `wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py`
- Make it executable: `sudo chmod 755 configurator.py`
From 92cb16632ee35bd0ada7d9ce90fe305a8f73dec4 Mon Sep 17 00:00:00 2001
From: Veldkornet
Date: Sat, 22 Jun 2019 10:38:46 +0200
Subject: [PATCH 13/70] Added ES5700 (#9676)
Added ES5700 to the list of tested and working models
---
source/_components/samsungtv.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/source/_components/samsungtv.markdown b/source/_components/samsungtv.markdown
index 9ea5d6c3fdc..d7fa1015f2c 100644
--- a/source/_components/samsungtv.markdown
+++ b/source/_components/samsungtv.markdown
@@ -70,6 +70,7 @@ Currently known supported models:
- EH5300
- EH5600
- ES5500
+- ES5700
- ES6300
- ES6800
- F4580
From 92301d052e63810eebcaf9ff9188f7ec77e289f3 Mon Sep 17 00:00:00 2001
From: Jan Olbrecht <43749346+olbjan@users.noreply.github.com>
Date: Sat, 22 Jun 2019 21:38:36 +0200
Subject: [PATCH 14/70] Change SD card recommendation (#9677)
* Change SD card recommendation
Change recommendation from Class 10 to A2. SD cards optimized for hosting applications have much better small I/O handling and a minimum IOPS performance. This makes a big difference to Home Assistant on Raspberry Pi.
* Updated product link
---
source/getting-started/index.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown
index fc4df08f71d..fb3a2b88daf 100644
--- a/source/getting-started/index.markdown
+++ b/source/getting-started/index.markdown
@@ -42,7 +42,7 @@ Follow this guide if you want to get started with Home Assistant easily, or if y
We will need a few things to get started with installing Home Assistant. The latest Raspberry Pi model makes a good and affordable starting point for your home automation journey. Links below are linking to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country.
- [Raspberry Pi 3 Model B+](http://a.co/ak2SQor) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A)
-- [Micro SD Card](http://a.co/gslOydD). Get one that is Class 10 as they are more reliable. Size 32 GB or bigger recommended.
+- [Micro SD Card](http://amzn.com/B07G3GMRYF). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. Size 32 GB or bigger recommended.
- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest)
- Ethernet cable (optional, Hass.io can work with WiFi as well)
From 3e1c360543dc027ee585ca88db4f45f3c7031676 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sat, 22 Jun 2019 21:35:47 -0700
Subject: [PATCH 15/70] Update links
---
source/_components/flux_led.markdown | 10 +++++-----
source/_components/hook.markdown | 2 +-
...ation-with-moteino-mqtt-and-home-assistant.markdown | 5 ++---
.../2016-08-03-laundry-automation-update.markdown | 7 +++----
source/getting-started/index.markdown | 6 +++---
5 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/source/_components/flux_led.markdown b/source/_components/flux_led.markdown
index 08eb44b4584..115b1492a3f 100644
--- a/source/_components/flux_led.markdown
+++ b/source/_components/flux_led.markdown
@@ -21,14 +21,14 @@ The `flux_led` support is integrated into Home Assistant as a light platform. Se
Example of bulbs:
- [Flux Smart Lighting](http://www.fluxsmartlighting.com/)
-- [MagicLight® Plus - WiFi Smart LED Light Bulb4](https://www.amazon.com/gp/product/B00NOC93NG)
-- [Flux WiFi Smart LED Light Bulb4](http://smile.amazon.com/Flux-WiFi-Smart-Light-Bulb/dp/B01A6GHHTE)
-- [WIFI smart LED light Bulb1](http://smile.amazon.com/gp/product/B01CS1EZYK)
+- [MagicLight® Plus - WiFi Smart LED Light Bulb4](https://amzn.to/2X0Zath)
+- [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu)
+- [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr)
Examples of controllers:
-- [Ledenet WiFi RGBW Controller](https://www.amazon.com/gp/product/B01DY56N8U)
-- [SUPERNIGHT WiFi Wireless LED Smart Controller](https://www.amazon.com/dp/B01JZ2SI6Q)
+- [Ledenet WiFi RGBW Controller](https://amzn.to/2WZKXNa)
+- [SUPERNIGHT WiFi Wireless LED Smart Controller](https://amzn.to/2WURx7w)
### {% linkable_title Configuration Details %}
diff --git a/source/_components/hook.markdown b/source/_components/hook.markdown
index d37cba8f1ae..787bf6c8fa0 100644
--- a/source/_components/hook.markdown
+++ b/source/_components/hook.markdown
@@ -17,7 +17,7 @@ redirect_from:
The `hook` component allows you to control the [Hook Smart Home Hub](http://www.hooksmarthome.com/) from within Home Assistant.
-Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://www.amazon.com/Etekcity-Wireless-Electrical-Household-Appliances/dp/B00DQELHBS).
+Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://amzn.to/2WVZdGG).
In short, Hook is an RF to Wi-Fi bridge, controlling devices that receive commands at 315MHz and 433MHz. Unfortunately, this does not allow Hook to determine if the command was successful, so the state is assumed.
diff --git a/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown b/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
index f063627b0f9..9c7f9893881 100644
--- a/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
+++ b/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
@@ -47,8 +47,8 @@ Next I wrote [scripts](/components/script/) that are run whenever the washer or
Materials used:
- [Moteino](https://lowpowerlab.com/moteino/)
- - [2 x Accelerometers](http://www.amazon.com/gp/product/B008BOPN40)
- - [2 x Reed switch](http://www.amazon.com/gp/product/B004PARDRO)
+ - [2 x Accelerometers](https://amzn.to/2WXa2s5)
+ - [2 x Reed switch](https://amzn.to/2X0ZuZ2)
- [Home Assistant](/)
[Sketch for the Moteino is available here.](https://codebender.cc/sketch:144743)
@@ -144,4 +144,3 @@ Resources used:
- [Inspiration and Help with Arduino code](http://www.instructables.com/id/Uber-Home-Automation-w-Arduino-Pi/step13/Washer-Dryer-Smartifier-Water-Leak-Sensor/)
- [Moteino Code](https://github.com/LowPowerLab/RFM69/)
-
diff --git a/source/_posts/2016-08-03-laundry-automation-update.markdown b/source/_posts/2016-08-03-laundry-automation-update.markdown
index 041659c80d2..713695edac4 100644
--- a/source/_posts/2016-08-03-laundry-automation-update.markdown
+++ b/source/_posts/2016-08-03-laundry-automation-update.markdown
@@ -48,9 +48,9 @@ Next I wrote [scripts](/components/script/) that are run whenever the washer or
Materials used:
- - [NodeMCU](https://www.amazon.com/gp/product/B010O1G1ES)
- - [2 x Accelerometers](http://www.amazon.com/gp/product/B008BOPN40)
- - [2 x Reed switch](http://www.amazon.com/gp/product/B004PARDRO)
+ - [NodeMCU](https://amzn.to/2Y9Mmxk)
+ - [2 x Accelerometers](https://amzn.to/2WXa2s5)
+ - [2 x Reed switch](https://amzn.to/2X0ZuZ2)
[Sketch for the NodeMCU is available here.](https://github.com/nkgilley/nodemcu-laundry/blob/master/nodemcu-laundry.ino)
@@ -112,4 +112,3 @@ script:
Resources used:
- [Inspiration and Help with Arduino code](http://www.instructables.com/id/Uber-Home-Automation-w-Arduino-Pi/step13/Washer-Dryer-Smartifier-Water-Leak-Sensor/)
-
diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown
index fb3a2b88daf..38e14b73394 100644
--- a/source/getting-started/index.markdown
+++ b/source/getting-started/index.markdown
@@ -41,9 +41,9 @@ Follow this guide if you want to get started with Home Assistant easily, or if y
We will need a few things to get started with installing Home Assistant. The latest Raspberry Pi model makes a good and affordable starting point for your home automation journey. Links below are linking to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country.
-- [Raspberry Pi 3 Model B+](http://a.co/ak2SQor) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A)
-- [Micro SD Card](http://amzn.com/B07G3GMRYF). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. Size 32 GB or bigger recommended.
-- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest)
+- [Raspberry Pi 3 Model B+](https://amzn.to/2IAyNl0) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A)
+- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. Size 32 GB or bigger recommended.
+- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](https://amzn.to/2WWxntY) (the brand doesn't matter, just pick the cheapest)
- Ethernet cable (optional, Hass.io can work with WiFi as well)
### {% linkable_title Software requirements %}
From b7da85d8daf9411088e25990a82210ed4a48e2cd Mon Sep 17 00:00:00 2001
From: Alessio Margelli
Date: Sun, 23 Jun 2019 13:59:36 +0200
Subject: [PATCH 16/70] Minimal fix of typo (#9681)
---
source/_components/emulated_hue.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown
index efc6359c0eb..348f81cc9be 100644
--- a/source/_components/emulated_hue.markdown
+++ b/source/_components/emulated_hue.markdown
@@ -16,7 +16,7 @@ ha_qa_scale: internal
---
-Be aware that `emulated_hue` doesn't work for new users of **Google Home** with `emulated_hue`. If you've not previously set this up and had it working, use the [Google Assistant component](/components/google_assistant/) or (Nabu Casa cloud](https://www.home-assistant.io/components/cloud) component.
+Be aware that `emulated_hue` doesn't work for new users of **Google Home** with `emulated_hue`. If you've not previously set this up and had it working, use the [Google Assistant component](/components/google_assistant/) or [Nabu Casa cloud](https://www.home-assistant.io/components/cloud) component.
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
From 763a1587aab2e1e3fae1edcbf603ec1ba29496aa Mon Sep 17 00:00:00 2001
From: Jeremy Schlatter
Date: Mon, 24 Jun 2019 03:14:44 -0700
Subject: [PATCH 17/70] Small fix + grammar improvement (#9685)
This text is referring to a field called "action type", not "trigger type".
Adding "the" also feels more natural.
---
source/getting-started/automation.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown
index e57580e4b6f..75595d2b927 100644
--- a/source/getting-started/automation.markdown
+++ b/source/getting-started/automation.markdown
@@ -34,7 +34,7 @@ In the trigger section, click on the dropdown and change trigger type to "Sun".
A new automation with a sun trigger filled in.
-Once we have defined our trigger, scroll down to the action section. Make sure trigger type is set to "Call Service" and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to `{ "entity_id": "all" }`.
+Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call Service" and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to `{ "entity_id": "all" }`.
From 1c9bb986780b48ba2a6c05dbff6cc8905a5ed75a Mon Sep 17 00:00:00 2001
From: eyager1 <44526531+eyager1@users.noreply.github.com>
Date: Mon, 24 Jun 2019 06:16:35 -0400
Subject: [PATCH 18/70] Additional instructions for Mariadb 10.3 (#9679)
In Debian buster (MariaDB 10.3) the command mysql_config needed by the python package mysqlclient was moved to the package libmariadb-dev-compat.
---
source/_components/recorder.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown
index 6035c987ee8..9c522e73cc5 100644
--- a/source/_components/recorder.markdown
+++ b/source/_components/recorder.markdown
@@ -196,7 +196,7 @@ homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate
(homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient
```
-For MariaDB you may have to install a few dependencies. If you're using MariaDB version 10.2, `libmariadbclient-dev` was renamed to `libmariadb-dev`; please install the correct package based on your MariaDB version.
+For MariaDB you may have to install a few dependencies. If you're using MariaDB version 10.2, `libmariadbclient-dev` was renamed to `libmariadb-dev`. If you're using MariaDB 10.3, the package `libmariadb-dev-compat` must also be installed. Please install the correct packages based on your MariaDB version.
On the Python side we use the `mysqlclient`:
From 4c07711813eaecebabbbeb28630263ba98a68e3a Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Mon, 24 Jun 2019 15:09:21 -0700
Subject: [PATCH 19/70] Update notes
---
source/_posts/2019-06-26-release-95.markdown | 76 ++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index f57de850893..ad36d17a123 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -35,6 +35,7 @@ redirect_from: /blog/2019/05/29/release-95/
- Life360 integration ([@pnbruckner] - [#24227]) ([life360 docs]) (new-integration) (new-platform)
- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
- Queensland bushfire alert feed platform ([@exxamalte] - [#24473]) ([qld_bushfire docs]) (new-integration)
+- Vlc telnet ([@rodripf] - [#24290]) ([vlc_telnet docs]) (beta fix) (new-integration) (new-platform)
## {% linkable_title New Platforms %}
@@ -52,6 +53,7 @@ redirect_from: /blog/2019/05/29/release-95/
- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
- Add incomfort sensor and binary_sensor ([@zxdavb] - [#23812]) ([incomfort docs]) (new-platform)
- Added ELV PCA 301 smart emeter switch ([@majuss] - [#23300]) ([elv docs]) (new-platform)
+- Vlc telnet ([@rodripf] - [#24290]) ([vlc_telnet docs]) (beta fix) (new-integration) (new-platform)
## {% linkable_title If you need help... %}
@@ -79,6 +81,29 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Added name to sensors ([@cliffordwhansen] - [#24525]) ([synologydsm docs]) (breaking change)
- Battery attribute & accuracy filter ([@GoNzCiD] - [#24277]) ([traccar docs]) (breaking change)
- Added percent to the disk,memory and swap percent labels ([@cliffordwhansen] - [#24575]) ([glances docs]) (breaking change)
+- Save cached logi_circle tokens in config folder ([@evanjd] - [#24726]) ([logi_circle docs]) (breaking change) (beta fix)
+
+## {% linkable_title Beta Fixes %}
+
+- Vlc telnet ([@rodripf] - [#24290]) ([vlc_telnet docs]) (beta fix) (new-integration) (new-platform)
+- Fix device tracker see for entity registry entities ([@MartinHjelmare] - [#24633]) ([device_tracker docs]) (beta fix)
+- Bump ZHA dependencies. ([@Adminiuga] - [#24637]) ([zha docs]) (beta fix)
+- Update LIFX brightness during long transitions ([@amelchio] - [#24653]) ([lifx docs]) (beta fix)
+- Upgrade blinkpy==0.14.1 for startup bugfix ([@fronzbot] - [#24656]) ([blink docs]) (beta fix)
+- Warn when user tries run custom config flow ([@balloob] - [#24657]) (beta fix)
+- Bump pysmartthings ([@andrewsayre] - [#24659]) ([smartthings docs]) (beta fix)
+- Prefere binary with wheels ([@pvizeli] - [#24669]) (beta fix)
+- Allow extra js modules to be included in frontend ([@thomasloven] - [#24675]) ([frontend docs]) (beta fix)
+- Fix time expression parsing ([@amelchio] - [#24696]) (beta fix)
+- ZHA fix device type mappings ([@dmulcahey] - [#24699]) ([zha docs]) (beta fix)
+- Bump version pyatmo to 2.0.1 ([@cgtobi] - [#24703]) ([netatmo docs]) (beta fix)
+- Extend websocket method usage to port 8002 in Samsung TV media player ([@2sheds] - [#24716]) ([samsungtv docs]) (beta fix)
+- Update ZHA dependencies ([@dmulcahey] - [#24718]) ([zha docs]) (beta fix)
+- Add show_as_state options to Life360 ([@pnbruckner] - [#24725]) ([life360 docs]) (beta fix)
+- Save cached logi_circle tokens in config folder ([@evanjd] - [#24726]) ([logi_circle docs]) (breaking change) (beta fix)
+- Update ZHA dependencies. ([@Adminiuga] - [#24736]) ([zha docs]) (beta fix)
+- AdGuard to update entry ([@balloob] - [#24737]) ([adguard docs]) (beta fix)
+- Update pysonos to 0.0.17 ([@amelchio] - [#24740]) ([sonos docs]) (beta fix)
## {% linkable_title All changes %}
@@ -244,6 +269,25 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Add weather alert sensor to meteo france component ([@oncleben31] - [#23128]) ([meteo_france docs])
- Set up Met during onboarding ([@balloob] - [#24622]) ([met docs]) ([onboarding docs])
- Added ELV PCA 301 smart emeter switch ([@majuss] - [#23300]) ([elv docs]) (new-platform)
+- Vlc telnet ([@rodripf] - [#24290]) ([vlc_telnet docs]) (beta fix) (new-integration) (new-platform)
+- Fix device tracker see for entity registry entities ([@MartinHjelmare] - [#24633]) ([device_tracker docs]) (beta fix)
+- Bump ZHA dependencies. ([@Adminiuga] - [#24637]) ([zha docs]) (beta fix)
+- Update LIFX brightness during long transitions ([@amelchio] - [#24653]) ([lifx docs]) (beta fix)
+- Upgrade blinkpy==0.14.1 for startup bugfix ([@fronzbot] - [#24656]) ([blink docs]) (beta fix)
+- Warn when user tries run custom config flow ([@balloob] - [#24657]) (beta fix)
+- Bump pysmartthings ([@andrewsayre] - [#24659]) ([smartthings docs]) (beta fix)
+- Prefere binary with wheels ([@pvizeli] - [#24669]) (beta fix)
+- Allow extra js modules to be included in frontend ([@thomasloven] - [#24675]) ([frontend docs]) (beta fix)
+- Fix time expression parsing ([@amelchio] - [#24696]) (beta fix)
+- ZHA fix device type mappings ([@dmulcahey] - [#24699]) ([zha docs]) (beta fix)
+- Bump version pyatmo to 2.0.1 ([@cgtobi] - [#24703]) ([netatmo docs]) (beta fix)
+- Extend websocket method usage to port 8002 in Samsung TV media player ([@2sheds] - [#24716]) ([samsungtv docs]) (beta fix)
+- Update ZHA dependencies ([@dmulcahey] - [#24718]) ([zha docs]) (beta fix)
+- Add show_as_state options to Life360 ([@pnbruckner] - [#24725]) ([life360 docs]) (beta fix)
+- Save cached logi_circle tokens in config folder ([@evanjd] - [#24726]) ([logi_circle docs]) (breaking change) (beta fix)
+- Update ZHA dependencies. ([@Adminiuga] - [#24736]) ([zha docs]) (beta fix)
+- AdGuard to update entry ([@balloob] - [#24737]) ([adguard docs]) (beta fix)
+- Update pysonos to 0.0.17 ([@amelchio] - [#24740]) ([sonos docs]) (beta fix)
[#19548]: https://github.com/home-assistant/home-assistant/pull/19548
[#21110]: https://github.com/home-assistant/home-assistant/pull/21110
@@ -305,6 +349,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#24279]: https://github.com/home-assistant/home-assistant/pull/24279
[#24280]: https://github.com/home-assistant/home-assistant/pull/24280
[#24289]: https://github.com/home-assistant/home-assistant/pull/24289
+[#24290]: https://github.com/home-assistant/home-assistant/pull/24290
[#24294]: https://github.com/home-assistant/home-assistant/pull/24294
[#24301]: https://github.com/home-assistant/home-assistant/pull/24301
[#24304]: https://github.com/home-assistant/home-assistant/pull/24304
@@ -407,6 +452,25 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#24622]: https://github.com/home-assistant/home-assistant/pull/24622
[#24624]: https://github.com/home-assistant/home-assistant/pull/24624
[#24627]: https://github.com/home-assistant/home-assistant/pull/24627
+[#24633]: https://github.com/home-assistant/home-assistant/pull/24633
+[#24637]: https://github.com/home-assistant/home-assistant/pull/24637
+[#24653]: https://github.com/home-assistant/home-assistant/pull/24653
+[#24656]: https://github.com/home-assistant/home-assistant/pull/24656
+[#24657]: https://github.com/home-assistant/home-assistant/pull/24657
+[#24659]: https://github.com/home-assistant/home-assistant/pull/24659
+[#24669]: https://github.com/home-assistant/home-assistant/pull/24669
+[#24675]: https://github.com/home-assistant/home-assistant/pull/24675
+[#24696]: https://github.com/home-assistant/home-assistant/pull/24696
+[#24699]: https://github.com/home-assistant/home-assistant/pull/24699
+[#24703]: https://github.com/home-assistant/home-assistant/pull/24703
+[#24716]: https://github.com/home-assistant/home-assistant/pull/24716
+[#24718]: https://github.com/home-assistant/home-assistant/pull/24718
+[#24725]: https://github.com/home-assistant/home-assistant/pull/24725
+[#24726]: https://github.com/home-assistant/home-assistant/pull/24726
+[#24736]: https://github.com/home-assistant/home-assistant/pull/24736
+[#24737]: https://github.com/home-assistant/home-assistant/pull/24737
+[#24740]: https://github.com/home-assistant/home-assistant/pull/24740
+[@2sheds]: https://github.com/2sheds
[@Adminiuga]: https://github.com/Adminiuga
[@BackSlasher]: https://github.com/BackSlasher
[@Cereal2nd]: https://github.com/Cereal2nd
@@ -420,6 +484,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@JumpMaster]: https://github.com/JumpMaster
[@Kane610]: https://github.com/Kane610
[@Klikini]: https://github.com/Klikini
+[@MartinHjelmare]: https://github.com/MartinHjelmare
[@OttoWinter]: https://github.com/OttoWinter
[@Petro31]: https://github.com/Petro31
[@PhilRW]: https://github.com/PhilRW
@@ -431,6 +496,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@alengwenus]: https://github.com/alengwenus
[@amelchio]: https://github.com/amelchio
[@andre-richter]: https://github.com/andre-richter
+[@andrewsayre]: https://github.com/andrewsayre
[@austinmroczek]: https://github.com/austinmroczek
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
@@ -448,11 +514,13 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@drobtravels]: https://github.com/drobtravels
[@emontnemery]: https://github.com/emontnemery
[@escoand]: https://github.com/escoand
+[@evanjd]: https://github.com/evanjd
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@felipediel]: https://github.com/felipediel
[@foxel]: https://github.com/foxel
[@frenck]: https://github.com/frenck
+[@fronzbot]: https://github.com/fronzbot
[@gibman]: https://github.com/gibman
[@gonzalezcalleja]: https://github.com/gonzalezcalleja
[@isabellaalstrom]: https://github.com/isabellaalstrom
@@ -476,6 +544,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@pvizeli]: https://github.com/pvizeli
[@reinder83]: https://github.com/reinder83
[@robbiet480]: https://github.com/robbiet480
+[@rodripf]: https://github.com/rodripf
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
[@scarface-4711]: https://github.com/scarface-4711
[@scop]: https://github.com/scop
@@ -502,6 +571,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[asuswrt docs]: /components/asuswrt/
[automation docs]: /components/automation/
[awair docs]: /components/awair/
+[blink docs]: /components/blink/
[broadlink docs]: /components/broadlink/
[buienradar docs]: /components/buienradar/
[cast docs]: /components/cast/
@@ -513,6 +583,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[deluge docs]: /components/deluge/
[demo docs]: /components/demo/
[denonavr docs]: /components/denonavr/
+[device_tracker docs]: /components/device_tracker/
[discord docs]: /components/discord/
[discovery docs]: /components/discovery/
[dlib_face_identify docs]: /components/dlib_face_identify/
@@ -520,6 +591,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[elv docs]: /components/elv/
[environment_canada docs]: /components/environment_canada/
[esphome docs]: /components/esphome/
+[frontend docs]: /components/frontend/
[geniushub docs]: /components/geniushub/
[gitlab_ci docs]: /components/gitlab_ci/
[glances docs]: /components/glances/
@@ -537,8 +609,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
[keenetic_ndms2 docs]: /components/keenetic_ndms2/
[lcn docs]: /components/lcn/
[life360 docs]: /components/life360/
+[lifx docs]: /components/lifx/
[light docs]: /components/light/
[linky docs]: /components/linky/
+[logi_circle docs]: /components/logi_circle/
[manual docs]: /components/manual/
[manual_mqtt docs]: /components/manual_mqtt/
[mastodon docs]: /components/mastodon/
@@ -564,6 +638,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[simplisafe docs]: /components/simplisafe/
[sisyphus docs]: /components/sisyphus/
[sma docs]: /components/sma/
+[smartthings docs]: /components/smartthings/
[smarty docs]: /components/smarty/
[solaredge_local docs]: /components/solaredge_local/
[somfy docs]: /components/somfy/
@@ -583,6 +658,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[velbus docs]: /components/velbus/
[velux docs]: /components/velux/
[vera docs]: /components/vera/
+[vlc_telnet docs]: /components/vlc_telnet/
[waze_travel_time docs]: /components/waze_travel_time/
[webostv docs]: /components/webostv/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
From 3b8e3d3e1e68042a278c45518b90d66328ee21ce Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Mon, 24 Jun 2019 22:53:27 -0700
Subject: [PATCH 20/70] Fix notes
---
source/_posts/2019-06-26-release-95.markdown | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index ad36d17a123..f6955a5f059 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -27,6 +27,9 @@ redirect_from: /blog/2019/05/29/release-95/
+- We realized that the default database clean up script never automatically ran. This is fixed in this release and so now the defaults will kick in: daily all things older than 10 days will be removed. This is configurable via the recorder integration, check [the docs][recorder docs].
+- If you had some warnings in the last few releases about invalid slugs or extra keys that should be removed. Those warnings will now be errors.
+
## {% linkable_title New Integrations %}
- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
@@ -39,21 +42,15 @@ redirect_from: /blog/2019/05/29/release-95/
## {% linkable_title New Platforms %}
-- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
- Add LCN scene platform ([@alengwenus] - [#24242]) ([lcn docs]) (new-platform)
-- SolarEdge Local Component ([@drobtravels] - [#23996]) ([solaredge_local docs]) (new-integration) (new-platform)
- Add Environment Canada weather, sensor, and camera platforms ([@michaeldavie] - [#21110]) ([environment_canada docs]) (new-platform)
-- Google Cloud Platform component (TTS) ([@lufton] - [#23629]) ([google_cloud docs]) (new-integration) (new-platform)
- Support for Salda Smarty XV/XP Ventilation Unit ([@z0mbieprocess] - [#21491]) ([smarty docs]) (new-platform)
-- Life360 integration ([@pnbruckner] - [#24227]) ([life360 docs]) (new-integration) (new-platform)
- Add support for ZHA door locks #2 ([@presslab-us] - [#24344]) ([zha docs]) (new-platform)
- Somfy open api ([@tetienne] - [#19548]) ([somfy docs]) (new-platform)
- Add APRS device tracker component ([@PhilRW] - [#22469]) ([aprs docs]) (new-platform)
- Camera platform for buienradar imagery ([@ties] - [#23358]) ([buienradar docs]) (new-platform)
-- Adds integration for Plaato Airlock ([@JohNan] - [#23727]) ([plaato docs]) (new-integration) (new-platform)
- Add incomfort sensor and binary_sensor ([@zxdavb] - [#23812]) ([incomfort docs]) (new-platform)
- Added ELV PCA 301 smart emeter switch ([@majuss] - [#23300]) ([elv docs]) (new-platform)
-- Vlc telnet ([@rodripf] - [#24290]) ([vlc_telnet docs]) (beta fix) (new-integration) (new-platform)
## {% linkable_title If you need help... %}
From 9e77bd5e3c2e750b8447e43fbf1d494a3a861601 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Mon, 24 Jun 2019 22:56:50 -0700
Subject: [PATCH 21/70] Add note SD CARD
---
source/_posts/2019-06-26-release-95.markdown | 1 +
1 file changed, 1 insertion(+)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index f6955a5f059..5e3e19f8f33 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -14,6 +14,7 @@ redirect_from: /blog/2019/05/29/release-95/
+- Raspberry Pi 4 got announced. We are STOKED. Working on making Hass.io images available soon. On a side note, there is a special Application class for SD Cards which can give you a lot better performance. Recommended. Generally, don't go cheap on the SD Cards, it really helps with reliability.
- Better suitability for running Home Assistant in RVs:
- new `homeassistant.set_location` service to dynamically set the location of the instance
- the Met weather entity can be set up to automatically track your location.
From 138962b311378b92499c108fecbc2d039b77c5e4 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Tue, 25 Jun 2019 18:00:51 -0700
Subject: [PATCH 22/70] Mention MDI icon update
---
source/_posts/2019-06-26-release-95.markdown | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index 5e3e19f8f33..4de1b4203c7 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -31,6 +31,11 @@ redirect_from: /blog/2019/05/29/release-95/
- We realized that the default database clean up script never automatically ran. This is fixed in this release and so now the defaults will kick in: daily all things older than 10 days will be removed. This is configurable via the recorder integration, check [the docs][recorder docs].
- If you had some warnings in the last few releases about invalid slugs or extra keys that should be removed. Those warnings will now be errors.
+[Austin Andrews](https://twitter.com/templarian) informed us that Material Design Icons 3.7.95 has been released. It includes a handful of the top requested Home Assistant icons (and a total of 100 new icons!).
+
+
+
## {% linkable_title New Integrations %}
- Adds AdGuard Home integration ([@frenck] - [#24219]) ([adguard docs]) (new-integration) (new-platform)
From 93ec350a745206d46b9f4e142a9d438171af3fe9 Mon Sep 17 00:00:00 2001
From: majuss
Date: Thu, 20 Jun 2019 14:42:34 +0200
Subject: [PATCH 23/70] Added documentation for the ELV PCA 301 smart emeter
switch (#8717)
* added PCA 301 docu
* added reference to hexfile for jeelink clone
* cosmetics
* typo
* cosmetics; version bump
* added name conf; deleted linebreak
* :pencil2: Tweaks
---
source/_components/switch.pca.markdown | 40 +++++++++++++++++++++++++
source/images/supported_brands/elv.png | Bin 0 -> 46260 bytes
2 files changed, 40 insertions(+)
create mode 100644 source/_components/switch.pca.markdown
create mode 100644 source/images/supported_brands/elv.png
diff --git a/source/_components/switch.pca.markdown b/source/_components/switch.pca.markdown
new file mode 100644
index 00000000000..55c53006303
--- /dev/null
+++ b/source/_components/switch.pca.markdown
@@ -0,0 +1,40 @@
+---
+layout: page
+title: "ELV PCA 301 Switch"
+description: "Instructions on how to integrate ELV PCA 301 switches into Home Assistant."
+date: 2019-02-24 18:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: elv.png
+ha_category: Switch
+ha_iot_class: Local Polling
+ha_release: 0.95
+---
+
+The `pca` switch platform allows you to control the state of your [ELV PCA 301 smart switch](https://www.elv.de/funkschaltsteckdose-fuer-energiekostenmonitor-pca-301.html). You need an 868 MHz interface like the [JeeLink](https://www.digitalsmarties.net/products/jeelink) flashed with the [pca-hex firmware](https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/firmware/JeeLink_PCA301.hex).
+
+## {% linkable_title Configuration %}
+
+To use your PCA 301 switch or socket in your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+switch:
+ - platform: pca
+ device: SERIAL_PORT
+```
+
+This platform will add all PCA 301 switches which are in range. You can read the total used energy in KWh and the current power in Watt.
+
+{% configuration %}
+device:
+ description: "The path to you serial console. Get it via: `ls /dev/tty*`."
+ required: true
+ type: string
+name:
+ description: Default name for the plugs.
+ required: false
+ type: string
+{% endconfiguration %}
diff --git a/source/images/supported_brands/elv.png b/source/images/supported_brands/elv.png
new file mode 100644
index 0000000000000000000000000000000000000000..139d727b3f129f427371fabb6bb0402331322131
GIT binary patch
literal 46260
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