From ce0b046bca84240a0b60145a296d0cbb81cb6eb1 Mon Sep 17 00:00:00 2001
From: Alex Barcelo
Date: Wed, 21 Feb 2018 17:03:36 +0100
Subject: [PATCH 01/13] Consistent documentation for user_id / chat_id
Using a more consistent usage regarding the interaction between `target`, `user_id` and `chat_id`.
The `target` can be both a `user_id` or a `target_id`, leaving the `user_id` (which was the original one). But the `chat_id` parameters should be a `chat_id` identificator, for consistency.
Also updated the description for `target` parameter on Telegram calls.
---
source/_components/telegram_bot.markdown | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown
index be2dcff5e5c..0c5ef3e5026 100644
--- a/source/_components/telegram_bot.markdown
+++ b/source/_components/telegram_bot.markdown
@@ -29,7 +29,7 @@ Send a notification.
|---------------------------|----------|--------------------------------------------------|
| `message` | no | Message body of the notification. |
| `title` | yes | Optional title for your notification. Will be composed as '%title\n%message'. |
-| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
+| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
| `parse_mode` | yes | Parser for the message text: `html` or `markdown`. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
@@ -47,7 +47,7 @@ Send a photo.
| `username` | yes | Username for a URL which require HTTP basic authentication. |
| `password` | yes | Password for a URL which require HTTP basic authentication. |
| `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. |
-| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
+| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
@@ -64,7 +64,7 @@ Send a video.
| `username` | yes | Username for a URL which requires HTTP basic authentication. |
| `password` | yes | Password for a URL which requires HTTP basic authentication. |
| `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. |
-| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
+| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false to send the message silently. iOS users and web users will not receive a notification. Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
@@ -80,7 +80,7 @@ Send a document.
| `username` | yes | Username for a URL which require HTTP basic authentication. |
| `password` | yes | Password for a URL which require HTTP basic authentication. |
| `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. |
-| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
+| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
@@ -92,7 +92,7 @@ Send a location.
|---------------------------|----------|--------------------------------------------------|
| `latitude` | no | The latitude to send. |
| `longitude` | no | The longitude to send. |
-| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
+| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
@@ -316,7 +316,7 @@ Message editor:
- service: telegram_bot.edit_message
data_template:
message_id: {% raw %}'{{ trigger.event.data.message.message_id }}'{% endraw %}
- chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %}
+ chat_id: {% raw %}'{{ trigger.event.data.chat_id }}'{% endraw %}
title: '*Message edit*'
inline_keyboard:
- "Edit message:/edit_msg, Don't:/do_nothing"
@@ -344,7 +344,7 @@ Keyboard editor:
- service: telegram_bot.edit_replymarkup
data_template:
message_id: 'last'
- chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %}
+ chat_id: {% raw %}'{{ trigger.event.data.chat_id }}'{% endraw %}
inline_keyboard:
- "Edit message:/edit_msg, Don't:/do_nothing"
```
@@ -400,7 +400,7 @@ class TelegramBotEventListener(appapi.AppDaemon):
assert event_id == 'telegram_callback'
data_callback = payload_event['data']
callback_id = payload_event['id']
- user_id = payload_event['user_id']
+ chat_id = payload_event['chat_id']
# keyboard = ["Edit message:/edit_msg, Don't:/do_nothing",
# "Remove this button:/remove button"]
keyboard = [[("Edit message", "/edit_msg"),
@@ -420,7 +420,7 @@ class TelegramBotEventListener(appapi.AppDaemon):
title = '*Message edit*'
msg = 'Callback received from %s. Message id: %s. Data: ``` %s ```'
self.call_service('telegram_bot/edit_message',
- chat_id=user_id,
+ chat_id=chat_id,
message_id=msg_id,
title=title,
message=msg % (user, msg_id, data_callback),
@@ -436,7 +436,7 @@ class TelegramBotEventListener(appapi.AppDaemon):
# Edit the keyboard
new_keyboard = keyboard[:1]
self.call_service('telegram_bot/edit_replymarkup',
- chat_id=user_id,
+ chat_id=chat_id,
message_id='last',
inline_keyboard=new_keyboard)
From cce17bbd79a5fd65652ed1c5230cb232a0d49a52 Mon Sep 17 00:00:00 2001
From: Mark Grimes
Date: Thu, 22 Feb 2018 09:13:26 -0500
Subject: [PATCH 02/13] Adds comment about deprecated homeassistant_start event
The note in the documentation for triggers says that the
homeassistant_start event has been deprecated. This PR just adds that
note to the events page.
It is unclear to me if homeassistant_stop has also been replaced by
'stop' on the 'homeassistant' platform. If so, the note should probably
be expanded on both pages to indicate that.
---
source/_docs/configuration/events.markdown | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown
index 6ad5aa152d9..7d4be04c87f 100644
--- a/source/_docs/configuration/events.markdown
+++ b/source/_docs/configuration/events.markdown
@@ -17,6 +17,10 @@ Home Assistant contains a few built-in events that are used to coordinate betwee
### {% linkable_title Event `homeassistant_start` %}
Event `homeassistant_start` is fired when all components from the configuration have been intitialized. This is the event that will start the timer firing off `time_changed` events.
+
+ Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' [platform](docs/automation/trigger) instead.
+
+
### {% linkable_title Event `homeassistant_stop` %}
Event `homeassistant_stop` is fired when Home Assistant is shutting down. It should be used to close any open connection or release any resources.
From f6b1e6aa8c519b47fb15cce55928cb8ef1118f6d Mon Sep 17 00:00:00 2001
From: Oncleben31
Date: Fri, 23 Feb 2018 00:05:08 +0100
Subject: [PATCH 03/13] `automation` and `automation old` in the same time
Additional comment and example to explain we can use the both sections in the same time.
---
source/_docs/automation/editor.markdown | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown
index b0f16e14450..d91f7c55621 100644
--- a/source/_docs/automation/editor.markdown
+++ b/source/_docs/automation/editor.markdown
@@ -65,6 +65,14 @@ automation old:
platform: ...
```
+You can use the `automation:` and `automation old:` sections in the same time to keep yout manual designed automations and use the editor for next ones:
+
+```yaml
+automation: !include automations.yaml
+automation old: !include_dir_merge_list automations
+```
+
+
## {% linkable_title Migrating your automations to `automations.yaml` %}
If you want to migrate your old automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over you'll have to add an `id`. This can be any string as long as it's unique.
From 69a8299c943f306804fd040a24707f915e7ac5d7 Mon Sep 17 00:00:00 2001
From: Kristian
Date: Sun, 25 Feb 2018 19:32:37 +0100
Subject: [PATCH 04/13] How to find GIID
Updated the giid part with how to find your giid.
---
source/_components/verisure.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown
index d73c9c9e490..3f41ed18a59 100644
--- a/source/_components/verisure.markdown
+++ b/source/_components/verisure.markdown
@@ -45,4 +45,4 @@ Configuration variables:
- **mouse** (*Optional*): Set to 1 to show mouse detectors, 0 to disable. Default 1.
- **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1.
- **code_digits** (*Optional*): Number of digits in PIN code. Default 4.
-- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system).
+- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations'
From 54e2fb4343af4f9d5b6dc6bbfa7f2655bf61123f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joakim=20S=C3=B8rensen?=
Date: Mon, 26 Feb 2018 17:48:43 +0100
Subject: [PATCH 05/13] Example JSON has invalid synstax (#4767)
---
source/_components/notify.nfandroidtv.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/notify.nfandroidtv.markdown b/source/_components/notify.nfandroidtv.markdown
index 79b3096a7de..cebd6447077 100644
--- a/source/_components/notify.nfandroidtv.markdown
+++ b/source/_components/notify.nfandroidtv.markdown
@@ -52,7 +52,7 @@ This is a fully customized JSON you can use to test how the final notification w
"duration":2,
"transparency":"0%",
"color": "red",
- "interrupt": 1,
+ "interrupt": 1
}
}
```
From a08e94f7890216b00412a31836ad238918e4ed6d Mon Sep 17 00:00:00 2001
From: Oncleben31
Date: Mon, 26 Feb 2018 19:03:44 +0100
Subject: [PATCH 06/13] Update editor.markdown
---
source/_docs/automation/editor.markdown | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown
index d91f7c55621..3788800fd14 100644
--- a/source/_docs/automation/editor.markdown
+++ b/source/_docs/automation/editor.markdown
@@ -65,7 +65,9 @@ automation old:
platform: ...
```
-You can use the `automation:` and `automation old:` sections in the same time to keep yout manual designed automations and use the editor for next ones:
+You can use the `automation:` and `automation old:` sections in the same time:
+ - `automation old:` to keep your manual designed automations
+ - `automation:` to save the automation created by the online editor
```yaml
automation: !include automations.yaml
From d8001b41302cfd54713b4b4411f8f02a58dcc0fc Mon Sep 17 00:00:00 2001
From: Federico Zivolo
Date: Mon, 26 Feb 2018 23:41:14 +0100
Subject: [PATCH 07/13] docs: Added buttons map for Tradfri remote
---
source/_components/deconz.markdown | 2 ++
1 file changed, 2 insertions(+)
diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown
index 8f9c85f58e2..abebcec8039 100644
--- a/source/_components/deconz.markdown
+++ b/source/_components/deconz.markdown
@@ -101,6 +101,8 @@ Typical values for switches, the event codes are 4 numbers where the first and l
Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up button.
+For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is left, and 5 is right.
+
## {% linkable_title Examples %}
### {% linkable_title Step up and step down input number with wireless dimmer %}
From e4370ccb323cbb304f33b7824c4a1c689b8e78fd Mon Sep 17 00:00:00 2001
From: Jerry Workman
Date: Mon, 26 Feb 2018 21:11:17 -0500
Subject: [PATCH 08/13] Add note for systemd
Add note for systemd to start Mosquitto before Home Assistant
---
source/_docs/mqtt/broker.markdown | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index 74e45a91d0d..4421d209be5 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -109,6 +109,15 @@ There is an issue with the Mosquitto package included in Ubuntu 14.04 LTS. Speci
If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS'` then you need to set `tls_version: '1.2'`.
+
+If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file /etc/systemd/system/home-assistant@homeassistant.service as root (e.g. sudo nano /etc/systemd/system/home-assistant@homeassistant.service) and add the mosquitto service:
+```
+[Unit]
+Description=Home Assistant
+After=network.target mosquitto.service
+```
+
+
If you are running a Mosquitto instance on a different server with proper SSL encryption using a service like Let's Encrypt you may have to set the certificate to the operating systems own `.crt` certificates file. In the instance of Ubuntu this would be `certificate: /etc/ssl/certs/ca-certificates.crt`
From 93df84bb5ae0fd68b28faa610c57ee7877e68150 Mon Sep 17 00:00:00 2001
From: Jerry Workman
Date: Mon, 26 Feb 2018 21:19:33 -0500
Subject: [PATCH 09/13] Add note to ensure database instance starts before Home
Assistant
---
source/_components/recorder.markdown | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown
index 039d94ceb2d..f8eebfe4e38 100644
--- a/source/_components/recorder.markdown
+++ b/source/_components/recorder.markdown
@@ -156,6 +156,15 @@ If the `recorder` component is activated then some components support `restore_s
| PostgreSQL | `postgresql://scott:tiger@SERVER_IP/DB_NAME` |
| MS SQL Server | `mssql+pymssql://user:pass@SERVER_IP/DB_NAME?charset=utf8` |
++
++If you are running a database server instance on the same server as Home Assistant then you must ensure that this service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file /etc/systemd/system/home-assistant@homeassistant.service as root (e.g. sudo nano /etc/systemd/system/home-assistant@homeassistant.service) and add the service - for PostgreSQL:
++```
++[Unit]
++Description=Home Assistant
++After=network.target postgresql.service
++```
++
+
## {% linkable_title Installation notes %}
Not all Python bindings for the chosen database engine can be installed directly. This section contains additional details which should help you to get it working.
From 62b6e6229783e822b2ab76b98744810165d46cce Mon Sep 17 00:00:00 2001
From: JudgeDredd <5932122+JudgeDreddKLC@users.noreply.github.com>
Date: Mon, 26 Feb 2018 23:49:29 -0500
Subject: [PATCH 10/13] update recorder docs for mariadb 10.2
https://mariadb.com/kb/en/library/mariadb-1023-changelog/
Revision #1965f03 2016-11-26 22:22:50 +0100
Deb: Rename libmariadbclient-dev to libmariadb-dev
---
source/_components/recorder.markdown | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown
index 039d94ceb2d..ce32a6e1408 100644
--- a/source/_components/recorder.markdown
+++ b/source/_components/recorder.markdown
@@ -162,7 +162,17 @@ Not all Python bindings for the chosen database engine can be installed directly
### {% linkable_title MariaDB and MySQL %}
-For MariaDB you may have to install a few dependencies. On the Python side we use the `mysqlclient`:
+If you are in a virtual environment, don't forget to activate it before installing the `mysqlclient` Python package described below.
+
+```bash
+pi@homeassistant:~ $ sudo su homeassistant -s /bin/bash
+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.
+
+On the Python side we use the `mysqlclient`:
```bash
$ sudo apt-get install libmariadbclient-dev libssl-dev
@@ -176,14 +186,6 @@ $ sudo apt-get install default-libmysqlclient-dev libssl-dev
$ pip3 install mysqlclient
```
-If you are in a virtual environment, don't forget to activate it before installing the `mysqlclient` Python package.
-
-```bash
-pi@homeassistant:~ $ sudo su homeassistant -s /bin/bash
-homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate
-(homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient
-```
-
After installing the dependencies, it is required to create the database manually. During the startup, Home Assistant will look for the database specified in the `db_url`. If the database doesn't exist, it will not automatically create it for you.
Once Home Assistant finds the database, with right level of permissions, all the required tables will then be automatically created and the data will be populated accordingly.
From 255f50399e373557c1a2271b641485f8f8a82607 Mon Sep 17 00:00:00 2001
From: DubhAd
Date: Tue, 27 Feb 2018 08:25:35 +0000
Subject: [PATCH 11/13] Initial stab at documenting the hassio commands
---
source/hassio/index.markdown | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown
index d1da527f06c..fdddad8dd39 100644
--- a/source/hassio/index.markdown
+++ b/source/hassio/index.markdown
@@ -54,3 +54,27 @@ Hass.io upgrade process from the SSH command line
[ResinOS]: https://resinos.io/
[Docker]: https://www.docker.com/
[install]: /hassio/installation/
+
+## {% linkable_title hassio command %}
+
+On the SSH command line tyou can use the `hassio` command to retrieve logs, check the details of connected hardware, and more.
+
+HomeAssistant:
+``` $ hassio homeassistant logs
+ $ hassio homeassistant restart
+ $ hassio homeassistant stop
+ $ hassio homeassistant start
+ $ hassio homeassistant update
+ $ hassio homeassistant check```
+
+Host:
+``` $ hassio host hardware
+ $ hassio host reboot
+ $ hassio host shutdown
+ $ hassio host update```
+
+Supervisor
+``` $ hassio supervisor logs
+ $ hassio supervisor info
+ $ hassio supervisor reload
+ $ hassio supervisor update```
From 986fdfa1dccd3443340a13f5d9279fec15447252 Mon Sep 17 00:00:00 2001
From: Donal Phipps
Date: Tue, 27 Feb 2018 12:34:52 +0000
Subject: [PATCH 12/13] small typo - effect / affect.
For the pedants.
---
source/_docs/configuration/entity-registry.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_docs/configuration/entity-registry.markdown b/source/_docs/configuration/entity-registry.markdown
index 7d9369c1f98..e31e014c329 100644
--- a/source/_docs/configuration/entity-registry.markdown
+++ b/source/_docs/configuration/entity-registry.markdown
@@ -18,7 +18,7 @@ The entity registry makes sure that entities get unique identifiers and allow
customizing the identifiers and names of these entities.
As this is still a very new part of Home Assistant, changes will require a
-restart of Home Assistant to take affect. A config user interface will be added
+restart of Home Assistant to take effect. A config user interface will be added
in a future version.
From ead4f1996516bbc634d945944dc909c93e19fa02 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Tue, 27 Feb 2018 11:27:41 -0800
Subject: [PATCH 13/13] Release 0.64.1
---
_config.yml | 2 +-
source/_posts/2018-02-26-release-64.markdown | 60 ++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/_config.yml b/_config.yml
index ba99209d8e8..e658ece8fe8 100644
--- a/_config.yml
+++ b/_config.yml
@@ -146,7 +146,7 @@ date_released: 2018-02-26
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
-patch_version_notes: "#"
+patch_version_notes: "#release-0641---february-27"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments
diff --git a/source/_posts/2018-02-26-release-64.markdown b/source/_posts/2018-02-26-release-64.markdown
index 8742bd19fbd..32185857ce8 100644
--- a/source/_posts/2018-02-26-release-64.markdown
+++ b/source/_posts/2018-02-26-release-64.markdown
@@ -60,6 +60,28 @@ Major new integration by [@snjoetw]: August locks and door bells! Lock and unloc
- Spotcrime ([@jcconnell] - [#12460]) ([sensor.spotcrime docs]) (new-platform)
- Add Tahoma scenes ([@bakedraccoon] - [#12498]) ([scene docs]) ([tahoma docs]) (new-platform)
+## {% linkable_title Release 0.64.1 - February 27 %}
+
+- Frontend: Don't put unit of sensor on new line ([@NovapaX])
+- Frontend: Fix display issues on iOS 9.3.5 ([@NovapaX])
+- Frontend: Fix chart legend not showing correctly when data has 1 serie ([@fanthos])
+- Frontend: Fix cards not getting updated ([@balloob])
+- Cast automatically drop connection ([@OttoWinter] - [#12635]) ([media_player.cast docs])
+- Roomba timeout ([@kellerza] - [#12645]) ([vacuum.roomba docs])
+- Fix a problem with calling `deconz.close` ([@aronsky] - [#12657]) ([deconz docs])
+- Harmony: make activity optional ([@balloob] - [#12679]) ([remote.harmony docs])
+- Fix getting state from iglo ([@jesserockz] - [#12685]) ([light.iglo docs])
+- Fix mysensor defaults ([@balloob] - [#12687]) ([mysensors docs])
+- Component deconz: Fix dark attribute on presence sensors ([@tumik] - [#12691]) ([binary_sensor.deconz docs])
+- Bugfix: Update of sources for non AVR-X devices always fails ([@scarface-4711] - [#12711]) ([media_player.denonavr docs])
+- Don't allow to use a old unsecure library ([@pvizeli] - [#12715])
+- Unbreak tahoma ([@bakedraccoon] - [#12719]) ([tahoma docs])
+- fix for https://github.com/home-assistant/home-assistant/issues/12673 ([@ChristianKuehnel] - [#12726]) ([sensor.alpha_vantage docs])
+- Fix harmony duplicate detection ([@amelchio] - [#12729]) ([remote.harmony docs])
+- Update ZHA deps ([@balloob] - [#12737]) ([zha docs])
+- MQTT: Fix doing async inside sync context ([@OttoWinter])
+- Fix DarSky humidity precision ([@PhilRW])
+
## {% 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.
@@ -546,3 +568,41 @@ Experiencing issues introduced by this release? Please report them in our [issue
[weblink docs]: https://home-assistant.io/components/weblink/
[xiaomi_aqara docs]: https://home-assistant.io/components/xiaomi_aqara/
[zha docs]: https://home-assistant.io/components/zha/
+[#12635]: https://github.com/home-assistant/home-assistant/pull/12635
+[#12645]: https://github.com/home-assistant/home-assistant/pull/12645
+[#12657]: https://github.com/home-assistant/home-assistant/pull/12657
+[#12679]: https://github.com/home-assistant/home-assistant/pull/12679
+[#12685]: https://github.com/home-assistant/home-assistant/pull/12685
+[#12687]: https://github.com/home-assistant/home-assistant/pull/12687
+[#12691]: https://github.com/home-assistant/home-assistant/pull/12691
+[#12711]: https://github.com/home-assistant/home-assistant/pull/12711
+[#12715]: https://github.com/home-assistant/home-assistant/pull/12715
+[#12719]: https://github.com/home-assistant/home-assistant/pull/12719
+[#12726]: https://github.com/home-assistant/home-assistant/pull/12726
+[#12729]: https://github.com/home-assistant/home-assistant/pull/12729
+[#12737]: https://github.com/home-assistant/home-assistant/pull/12737
+[@ChristianKuehnel]: https://github.com/ChristianKuehnel
+[@NovapaX]: https://github.com/NovapaX
+[@OttoWinter]: https://github.com/OttoWinter
+[@amelchio]: https://github.com/amelchio
+[@aronsky]: https://github.com/aronsky
+[@bakedraccoon]: https://github.com/bakedraccoon
+[@balloob]: https://github.com/balloob
+[@jesserockz]: https://github.com/jesserockz
+[@kellerza]: https://github.com/kellerza
+[@pvizeli]: https://github.com/pvizeli
+[@scarface-4711]: https://github.com/scarface-4711
+[@tumik]: https://github.com/tumik
+[@fanthos]: https://github.com/fanthos
+[@PhilRW]: https://github.com/PhilRW
+[binary_sensor.deconz docs]: https://home-assistant.io/components/binary_sensor.deconz/
+[deconz docs]: https://home-assistant.io/components/deconz/
+[light.iglo docs]: https://home-assistant.io/components/light.iglo/
+[media_player.cast docs]: https://home-assistant.io/components/media_player.cast/
+[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
+[mysensors docs]: https://home-assistant.io/components/mysensors/
+[remote.harmony docs]: https://home-assistant.io/components/remote.harmony/
+[sensor.alpha_vantage docs]: https://home-assistant.io/components/sensor.alpha_vantage/
+[tahoma docs]: https://home-assistant.io/components/tahoma/
+[vacuum.roomba docs]: https://home-assistant.io/components/vacuum.roomba/
+[zha docs]: https://home-assistant.io/components/zha/