0.115: B-Day release! Media browser, tags, automations & WTH
Happy Birthday Home Assistant!
There's a party goin' on right here 🕺
A dedication to last throughout the years 🥳
So bring your good times, and your laughter too 😂
We gonna celebrate our party with you 🎁
It's a celebration! 🎉
~ Kool & The Gang - Celebration
7! Siete! Soch! Syv! Sieben! Seitsemän! Cедем! Sept! Sju! επτά! Zeven! Sette! Seven! Years old today! And ooooh, are we going to party and celebrate with you!
You might have noticed, this release is a bit late, two weeks late. Our regular release cycle is 3 weeks, this time however, we took 5 weeks. Sure, the reason was, of course, related to our birthday today, but what is a better gift than a jam-packed release that has something for everybody?
Thankfully, a lot of you have been sharing their gift wishlist items during the month of “What the heck?!” (WTH). I love you all! What a good and amazing set of great ideas, annoyances and other suggestions have been made in that forum this month!
And it is not just that, a lot of people jumped in fixing these things as well! What a community! The month of WTH is almost over now, after that we will close the category on the forum, until the next WTH month.
Besides that, two totally new and big features are added this release, which we really wanted to polish before releasing it.
I usually write some things about the release in my personal introduction note right here, but honestly, I have no idea where to start… it is just too darn much! I love the new automation features, but there are so many of those in this release as well. 😅 I’m not going to try writing this. 😂
So, let me close with a thank you to our founding father:
Paulus, thank you so much for what you have imagined, started and created 7 years ago. Your idea has changed the lives of many, including my own. Thank you.
Of course, it is not just Paulus, but everybody else who contributes to the project in any way. Code, text, support, chat, YouTube video, live streams, blogs, articles, community guides, documentation, tweets, issues, bug reports, feature requests, ideas, questions or even if you just use it. Thank you for contributing! ❤️
Happy birthday and enjoy the release!
../Frenck
Table of contents
Alright, this release is massive, so here is a table of contents for helping navigating you around this release.
- Happy Birthday Home Assistant!
- Table of contents
- Media Browser
- Home Assistant Tags
- Customize the sidebar
- Person image upload
- Updated more info dialog
- More information in the logbook panel
- Automation & Scripts updates
- Calendar card
- Template developer tools
- Reload everything YAML
- User password change
- Improved ways of exposing entities via Home Assistant Cloud
- Add card by entities
- Order entities in Lovelace UI editor
- Other noteworthy changes
- New Integrations
- New Platforms
- Integrations now available to set up from the UI
- If you need help…
- Breaking Changes
- Farewell to the following
- Release 0.115.1 - September 18
- Release 0.115.2 - September 19
- Release 0.115.3 - September 25
- Release 0.115.4 - September 28
- Release 0.115.5 - September 29
- Release 0.115.6 - September 30
- All changes
Media Browser
This release includes an exciting set of features around media. If the media player supports it, you can now browse the player’s media library and quickly change what you’re listening to. No need for two apps anymore if you want to change the lights and pick some music.
Any media player can enable this new feature. This release adds media browser support to Arcam FMJ, Kodi, Philips JS, Plex, Roku, Sonos and Spotify!
Thanks to @jjlawren for the initial implementation and to @cgtobi, @ctalkington, @martinhjelmare, @elupus for the work on the various integrations and backend refining.
But a media browser isn’t just backend, it also needs to look good. Thankfully, we had @zsarnett on the case, with the help of @bramkragten. They came up with a beautiful design so you can browse your media in style.
When @hunterjm saw the new media browser, he got an idea. What if the user can use the media browser to browse media offered by any integration and play it on any of their media players? And so the media source integration was born.
The first media source that has been added is to allow users to play local media. Local media can be motion detection events from your IP camera or a bunch of music files to be used with Home Assistant Tags.
Home Assistant, by default, will look at the /media
path. If you’re using Home
Assistant OS (the default install), you can use the Samba add-on to upload media.
If you use Docker, you need to mount a volume at /media
and if you use a
Python virtual environment, the default is <config>/media
.
You can also specify your own media paths with a new configuration option
in configuration.yaml
:
homeassistant:
media_dirs:
motion: /media/motion_events
music: /media/music
Media Source is not limited to local media. Any integration can offer its media. @cgtobi has upgraded the Netatmo integration, which will now offer its recorded motion events to play.
Media player integrations that want to play media sources will need to be updated. In this release, we’ve updated the Chromecast integration. If you click its media browser button, you will be presented with the available local sources.
Sometimes you just want to play your media without having to turn on the TV. To cover that case, @zsarnett added a new media browser to the Home Assistant interface, which can be used to play your media. That way, you can quickly see what that motion event that you just received was about.
Home Assistant Tags
The Home Assistant tag reader, made by Adonno with the help of MagnusO.
Home Assistant now has native support for tags! With Home Assistant Tags, we’re making scannable tags (NFC/RFID) a first-class citizen in Home Assistant. Easy to read, write and automate!
We have a beautiful UI for it in the frontend, our mobile companion apps have been updated to work seamlessly with tags and there is now even an open-source scanner available, as shown in the image above.
For all details, read the dedicated blog post about Home Assistant tags!
Customize the sidebar
One of the most requested functions of What the heck was customizing the sidebar: You do want history for your entities in the more info dialog, but you don’t use that history panel. Or you do want calendars for automating, or in the new Lovelace cards, but don’t want a calendar panel with all your calendars.
Now you can hide panels from the sidebar and rearrange them, by just drag and drop them.
Screen recording of customizing the sidebar.
You can enter edit mode by pressing and holding the sidebar’s header or from
your profile page. You can then drag the items in the order you want them
or remove them by clicking the x
next to it.
The removed items will be visible at the bottom of the list, by clicking the
+
button, you can add them back to the sidebar.
These settings are stored on your device in the local storage of your browser, this means that this setting is device-based and will be cleared when you logout.
Person image upload
You can now upload images for a person in the frontend!
Select or drop an image in the input field and then crop it to a square. The image is stored on your Home Assistant instance.
We will use the image in the frontend for your persons and the sidebar for the user linked to this person.
This feature is powered by the new image integration and opens up for future possibilities. For example, uploading images, for use in your Lovelace picture cards, would be nice!
Updated more info dialog
The more info dialog is updated. In case an entity has controls, for example a light, the more info dialog will now have 2 tabs. One for controls and one for history.
On the history tab, you can find the history graph you are used to and now also a list of logbook entries of the specific entity.
The updated more info dialogs, showing the two tabs: details & history.
For entities without controls (like a sensor), no tabs will be shown like before.
More information in the logbook panel
The logbook will now show what automation or script caused the change and what action was used to make the change happen.
This solves yet another WTH request. It will be really helpful to find those cases that are: WTH turned on this light?
The logbook shows which automation changed the state of my stream light.
Automation & Scripts updates
The month of “What the heck?!” brought in a lot of topics that evolve around automations and scripts, of which quite a few have been addressed this release. Furthermore, we already had quite a bunch of improvements pending. If you like doing automation in YAML, you’ll probably just love this release.
Before starting on the list of newly added features, let’s talk about the Home Assistant frontend. You can now duplicate an automation and, the long present but always disabled, duplicate condition, trigger, and action function are now also finally working!
New action: Wait for trigger
This is a special new action than can be used in an automation action or script sequence that allows you to pause the execution until a certain trigger is been fired. It can be helpful for automations or scripts that consist of multiple stages.
In this example, a notification is sent when one passes through two gates to enter the garden, but only when both gates are passed within 10 seconds.
automation:
- trigger:
- platform: state
entity_id: binary_sensor.gate1
to: "on"
action:
- wait_for_trigger:
- platform: state
entity_id: binary_sensor.gate2
to: "on"
timeout: 10
continue_on_timeout: false
- service: notify.notify
data:
message: Someone just entered the yard!
This example is simple and probably fairly useless for most of us. However, let’s say you left your garage door open and you leave the “Home” zone. Home Assistant could send you an actionable notification, saying: “Hey, you left the garage door open, shall I close if for you?” with 2 choices: Yes/No.
Where you previously would have needed 3 automations for this. The first
for sending a notification and two others for handling the “Yes” or “No”
answer. Using the wait_for_trigger
this could be done in a single automation.
Right after sending the notification, the wait_for_trigger
could halt the
script from continuing, until it receives the “Yes” or “No” answer and continue
after that and run the actions you’d like based on the answer received.
This new feature is not just for our YAML uses; it also is added to our automation editor in the UI.
The automation editor can also use the new Wait for trigger action.
Triggers & Conditions on entity attributes
Ever tried to create an automation trigger or condition on an entity attribute, like the temperature of a climate or weather entity?
You used to need to use a template for that. Either by extracting the attribute from an entity using a template sensor or by writing a template condition. A reason for a lot of you to put it up as a “What the heck?!” entry. And you know what? You guys are right, this was difficult.
The automation editor now supports attributes on triggers and conditions.
So, Home Assistant now supports the use of attributes in triggers & conditions.
Both the state and numeric state, triggers & conditions now have an attribute
option that can be set with the attribute to use. The UI got a nice field for
it, as shown in the above screenshots, but of course, it is also available
when you are using YAML for your automations.
Some example triggers and conditions using attributes in YAML:
trigger:
- platform: state
entity_id: climate.living_room
attribute: hvac_action
to: "heating"
- platform: numeric_state
entity_id: weather.outside
attribute: temperature
above: 20.5
condition:
- condition: state
entity_id: climate.living_room
attribute: havc_mode
state: "heat"
- condition: numeric_state
entity_id: weather.outside
attribute: humidity
below: 80
Use input_datetime helpers in automation triggers
Using dates and times in your automation can be hard. If often needs quite a bit
of Jinja templating and is actually really hard to do. @pnbruckner noticed,
and he added the possibility to use your input_datetime
helper entities
directly in time trigger!
Assume you have an input_datetime.bedroom_alarm_clock_time
helper entity, that
is in your Lovelace UI, which you can set a time in. Great! You can now
just use it in your automations to trigger on:
trigger:
- platform: time
at: input_datetime.bedroom_alarm_clock_time
Yes, he made it that elegant. It also works for multiple, or mixed variable and statically set times.
trigger:
- platform: time
at:
- "10:00"
- input_datetime.bedroom_alarm_clock_time
- input_datetime.some_other_time_entity
More about the time trigger, can be found in our documentation.
Use input_* helpers in conditions
@pnbruckner set a standard in the above, and we used that to start working
on making this something that would work on more places. As of this release,
all input_*
entities can be used in conditions.
The time
condition can accept input_datetime
helper entities, similar to
the trigger shown above.
conditions:
- condition: time
after: input_datetime.house_silent_hours_start
before: input_datetime.house_silent_hours_end
The numeric_state
condition now accepts input_number
helper entities for
the above
and below
options.
conditions:
- condition: numeric_state
entity_id: climate.living_room_thermostat
attribute: temperature
above: input_number.temperature_threshold_low
below: input_number.temperature_threshold_high
And finally, the state
condition accepts any input_*
helper entity in its
state
option.
conditions:
- condition: state
entity_id: sensor.happy_birthday
state: input_text.too_you
- condition: state
entity_id: sensor.happy_birtday_song
state: input_select.notify_on_song
- condition: state
entity_id: light.living_room
state: input_boolean.expected_state
We are confident this will greatly improve the power and ease of the helper entities. The conditions documentation has been updated with more examples.
Here is an idea: You can now easily create a set of helper entities representing your automation settings and adding those to a separate Lovelace dashboard. You now have your own automation configuration panel, helpful for tweaking things like times or adjust temperature thresholds, without touching your automations.
Shorthand notation for template conditions
A neat little trick added this release: Allow for shorter, cleaner YAML code, if you use templates quite a bit: A shorthand notation for condition templates have been added.
All places that accept conditions, now accept templates directly. Some examples:
automations:
- alias: "My automation"
...
condition: "{{ (state_attr('device_tracker.iphone', 'battery_level') | int) > 50 }}"
...
- choose:
- conditions: "{{ is_state('sensor.mode', 'on') and (state_attr('climate.room', 'temperature') | int) < 10 }}"
sequence:
- ...
Or in a list of conditions:
condition:
condition: or
conditions:
- "{{ is_state('device_tracker.iphone', 'away') }}"
- condition: numeric_state
entity_id: "sensor.temperature"
below: 20
More examples can be found in the conditions documentation.
Use templates directly in data and service fields
More WTH input! Those data_template
, and service_template
fields in service
calls are so annoying! Why not accept templates in the normal data
and service
field?
Good question! And even better suggestion. As of now, you can!
action:
- service: "notify.{{ state('input_select.active_notify_platform)' }}"
data:
title: This is notification!
message: "The time is {{ now() }}"
Don’t worry, the old format still works as before, so this is not a breaking
change. However, you can start removing those data_template
’s by renaming to
(or merging them with) data
.
The keys inside a data block, can be templates now too!
service: kef_custom.set_mode
data:
"{{ attribute }}": "{{ now() }}"
Variables
Another WTH item, “Why can’t we have variables?!”. This WTH is not fully solved, but a good start is made this release by adding support for variables to automation and scripts.
Here is an example automation:
automation:
trigger:
platform: sun
event: sunset
offset: -00:30
variables:
notification_service: notify.paulus_iphone
action:
- service: "{{ notification_service }}"
data:
message: Beautiful sunset!
While the above example, it doesn’t add that much value, it does shows how it works. Variables can be templates too! For example:
variables:
person: frenck
notification_service: "notify.{{ person }}_iphone"
Both scripts and automation actions support this syntax now. Additionally, we added a new action! The variables action. This unlocks the potential to change variables during the runtime of a script.
variables:
notification_service: notify.paulus_iphone
action:
- variables:
notification_service: notify.frenck_iphone
- service: "{{ notification_service }}"
data:
message: This message actually went to Frenck, not Paulus.
For a more extensive example, check out the example written in the blog article about Home Assistant Tags.
Other scripts and automation changes
But wait! There is more! 😂
There was no way of knowing if a wait template was timed out or if it continued
normally. Now, we do know this. After each wait template, a new variable is
available: wait
. It provides wait.completed
(indicates if the template
evaluated to true before the timeout expired) and wait.remaning
(remaining time
out).
sequence:
- wait_template: "{{ is_state('binary_sensor.abc', 'on') }}"
timeout: 10
continue_on_timeout: true
- choose:
- conditions:
- condition: template
value_template: "{{ not wait.completed }}"
sequence:
# Handle timeout case
The new script and automation run modes are amazing! But in some cases, they
might be polluting your logs. For example, you have a automation in single
mode, but it does get triggered multiples times sometimes and you are not
interested in the log. You can now control that with the max_exceeded
option.
The example below silences the automation and it will not log when it gets triggered while it was already running:
automation:
- trigger: ...
max_exceeded: silent
action: ...
Calendar card
Like promised, when we introduced the calendar panel, we now also added a Lovelace calendar card!
This allows you to create as many calendars as you want with the entities you want.
If you want multiple calendar panels, create a Lovelace dashboard with a panelmode view with a calendar card!
Screenshot of the new calendar card.
Template developer tools
The template developer tools are very useful for checking if the template you made works and does what you want it to do. But people had some annoyances with the tool; the editor is always filled with sample data, that can give a lot of response. It would be more useful to have your previously used template there. Yes, you guessed it, another WTH!
The template would also not automatically re-render after the state of an entity is changed, causing you needing to change the template in order to re-render it.
We addressed both these issues. We save your last-used template and will show that instead of the example when you visit the template developer tools.
Templates you write in the developer tools, are now updating live!
We will also listen for changes of the entities you used in your template and automatically re-render your template. As a bonus, we will show which entities Home Assistant detected you are using in your template.
Reload everything YAML
WTH, do we still need to restart Home Assistant for applying YAML configuration? That was one of the WTH raised. It is being worked on!
This release, @bdraco found a way to reload some of the internal integrations and boosted this capability to a lot of integrations. For those, you can just reload the YAML in the configuration server control page (you will need advanced mode).
As of this release, besides the integrations that already could be reloaded, the following integration can now reload their YAML configuration without a restart of Home Assistant:
- Command Line
- File Size
- Filter
- Generic IP Camera
- Generic Thermostat
- Groups
- History Stats
- HomeKit
- Min/Max
- MQTT
- Ping
- RESTful
- Raspberry Pi GPIO
- SMTP
- Statistics
- Telegram
- Templates
- Trend
- Universal Media Player
You can also reload an integration that is setup with the UI! This can be useful when it lost its connection or is in an otherwise failed state. You can find the reload button in the overflow menu on the integration card.
UI configured integration can now be reloaded as well!
User password change
Another What the heck, that sounded so obvious: Being able to change a user’s password as the owner of the system. Right?!
You can now change every user’s password from the UI when you are the owner of the system!
As a owner, you can now change a password of a user.
Improved ways of exposing entities via Home Assistant Cloud
This release brings an update to the way you can expose entities to Google Assistant and Amazon Alexa via Home Assistant Cloud.
With the new panel, you can now set on a domain level if entities should be exposed/not exposed by default. You can still override this on a per-entity level for fine-grained control.
The default expose rules have also been updated to expose entities that work best with voice assistants.
Add card by entities
Are you a bit overwhelmed by all the different types of cards Lovelace has? You can now just select the entities you want to use for a card, and have Lovelace suggest a card for you.
Select one or more entities to populate the card.
A confirmation dialog is shown before adding the suggested card.
In the add card dialog, we added a second tab with a list of all your entities. Select the entities you want to use and click continue. We will suggest a card for you and you can then fine-tune the configuration.
Order entities in Lovelace UI editor
You can now sort the entities in Lovelace UI editors by just dragging them. No more clicking the up and down buttons over and over again, simply drag the item up or down.
Drag and and drop the entities in the order you want.
Other noteworthy changes
-
The OpenZWave beta integration is coming along nicely. First signs of some control panels in the UI are visible this release. You can see the status and information of your network and nodes. There are also buttons to put your Z-Wave network in inclusion and exclusion mode and to refresh a node. Thanks @cgarwood!
-
The code editor in the UI is now theme-able, so make them look nice!
-
The stream component now supports audio! Amazing job @uvjustin!
-
Slack notification now supports change username/icon on the fly, which was a great WTH suggestion! Thanks for adding that @bachya.
-
The Met.no now supports hourly forecasts, very nice @bruxy70!
-
The MDI icons are updated to version 5.5.55, this adds another 100 icons you can use!
-
The Google Assistant integration got some updates:
- @elupus added support for asking for the previous or next input source.
- Basic support for controlling light effect has been added by @mjg59.
- @blueshiftlabs added capabilities to control media player muting and relative-volume controls.
-
The Netatmo integration was re-engineered, which reduced the number of API calls and added webhook events to improve overall responsiveness. It now supports controlling the outdoor camera floodlight and got services to set the occupants’ home/away status and the outdoor camera mode.
-
We no longer automatically alphabetically sort the keys in YAML files written by the UI, as a result from a WTH request. Much better!
New Integrations
A lot new integrations added this release:
- Emulated Kasa, added by @kbickar
- Flo by Moen, added by @dmulcahey
- Image, added by @balloob
- Media Source, added by @balloob
- Nightscout, added by @marciogranzotto
- ProgettiHWSW, added by @ArdaSeremet
- Risco Alarm, added by @OnFreund
- RoonLabs Media Player, added by @pavoni
- Shark IQ, added by @ajmarks
- Shelly, added by @balloob
- Smart Meter Texas, added by @grahamwetzler
- Tag, added by @dmulcahey
- UK Environment Agency Flood Monitoring, added by @Jc2k
- WiLight, added by @leofig-rj
New Platforms
The following integration got support for a new platform:
- Agent DVR now supports the Alarm Control Panel, added by @ispysoftware
- devolo Home Control now support blinds and thermostats, added by @2Fake
- Fibaro added basic lock support, added by @pbalogh77
- KNX now supports the use of a dedicated weather station, added by @marvin-w
- VeSync added support for fans, added by @TheGardenMonkey
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
- Broadlink, done by @felipediel
- Insteon, done by @teharris1
- Kodi, done by @OnFreund
- OpenWeatherMap, done by @freekode
- Yeelight, done by @shenxn
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat.
Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.
Breaking Changes
Below is a listing of the breaking change for this release, per subject or integration. Click on one of those to read more about the breaking change for that specific item.
Automations
Previously an automation’s last_triggered
attribute was updated, and an
automation_triggered
event was fired, whenever a trigger fired and the
conditions (if any) were true, regardless if the actions actually ran.
For example, in single
mode, the actions won’t run if they are still running
from a previous trigger event.
Now the attribute will be updated, and the event fired, only if the actions actually run.
(@pnbruckner - #39323) (automation docs)
Axis
Initial naming of events from VMD4 and Fence guard are now based on their
configured name on the device; binary_sensor.m1065-lw_0_vmd4_camera1profile1
is now binary_sensor.m1065-lw_0_vmd4_profile_1
or profile_1
can be whatever
the user chose to name the profile.
Broadlink
1. Devices are now configured via configuration flow
To set up a Broadlink device, click Configuration in the sidebar and click Integrations.
The devices will be imported from your configuration files to that page. If you see
your device there, click Configure. If not, click the +
icon in the lower
right, click Broadlink, enter the host and follow the instructions to
complete the setup.
The name you choose will serve as a template for the entities. You can change the entity name and id in the entity settings on the frontend. You may need to change some names or ids to make everything look the same as it was before this update.
2. Discontinue broadlink.learn
and broadlink.send
services
remote.learn_command
and remote.send_command
are now registered
automatically. Now you can use remote.send_command
to send base64 codes.
Instead of broadlink.learn
:
script:
learn_tv_power:
sequence:
- service: broadlink.learn
data:
host: 192.168.0.107
Use the remote.learn_command
:
script:
learn_tv_power:
sequence:
- service: remote.learn_command
target:
entity_id: remote.bedroom
data:
device: tv
command: power
Instead of broadlink.send
:
script:
send_tv_power:
sequence:
- service: broadlink.send
data:
host: 192.168.0.107
packet: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
Use the remote.send_command
by replacing host
by entity_id
of the remote entity, replace packet
by command
with data prefixed with b64:
:
script:
send_tv_power:
sequence:
- service: remote.send_command
target:
entity_id: remote.bedroom
data:
command: b64:JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
If you have learned the commands, you can refer to them by name instead of the raw codes.:
script:
send_tv_power:
sequence:
- service: remote.send_command
target:
entity_id: remote.bedroom
data:
device: tv
command: power
3. Discontinue all platforms, except switch
Entities are now registered automatically. The only exception is the switch platform, which continues to exist for RM switches. The config schema haschanged . The host and type are no longer required and the name serves as a template for the entity ID.
Instead of:
switch:
- platform: broadlink
host: 192.168.0.107
mac: 34:ea:34:b4:5d:2c
type: rm_mini3_redbean
switches:
sony_tv:
friendly_name: Sony TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
lg_tv:
friendly_name: LG TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
Use this:
switch:
- platform: broadlink
mac: 34:ea:34:b4:5d:2c
switches:
- name: Sony TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
- name: LG TV
command_on: JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
command_off: JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=
The above example creates switch.sony_tv
and switch.lg_tv
to be controlled
using the device with the MAC address 34:ea:34:b4:5d:2c. This device needs to
be configured first via configuration flow.
When you finish configuring the devices you can delete all your Broadlink configuration files except the RM switches. These switches are the only platform that still exists in YAML. They won’t be imported. If you delete the file, they are gone.
(@felipediel - #36914) (broadlink docs)
Brother Printer
The uptime sensor state format and unit have been changed. If you rely on those you might need to adjust your configuration.
(@bieniu - #39226) (brother docs)
CPU Speed
The naming of the attributes was updated to be aligned with the current used standards.
-
Brand
->brand
-
GHz Advertised
->ghz_advertised
(@fabaff - #39155) (cpuspeed docs)
Deutsche Wetter Dienst (DWD) Weather Warnings
If you use entity state attributes of this integration in automations or scripts need to adjust these to handle the changes.
- The
region_state
attribute has been removed, cause it is no longer available on the new API. - All timestamps in the state attributes are now UTC and not local time anymore.
Emulated Hue
By default, all lights and devices that do not support brightness adjustment are exported as On/Off lights without a brightness property. When upgrading from earlier versions of Home Assistant (0.112 and earlier), some devices may now be reported by Alexa as non-responsive.
Alternatively, you can set the lights_all_dimmable
configuration option to
continue reporting these devices as if they have a brightness setting.
How to fix it once and for all:
You need to have Alexa rediscover all devices and then remove the now non-responding duplicates using the Alexa phone App. This can take quite a while if you have lots of devices.
An alternative would be to log in to the Alexa web site and remove all the lights instead and then re-discover them all.
To do so go to https://alexa.amazon.com/spa/index.html#appliances, or if not logged in: https://alexa.amazon.com then select “Smart Home” -> “Devices” and select “Remove All”.
If you have multiple Echo devices on your network, it is possible that the entries would continue to show as duplicates. This is due to an individual Echo device caching the old list and re-using it.
The only known solution for this is to remove your echo devices from your Amazon account, delete all the lights previously discovered by Alexa and then re-run discovery.
This is a one-off requirement, unfortunately there’s no other way to easily transition from the previously incorrect values reported by the Emulated Hue.
Ezviz
The Ezviz integration has been temporarily disabled, as it has a dependency that contains code that breaks Home Assistant.
(@balloob - #38444) (ezviz docs)
Frontend
The previous deprecated frontend configuration options frontend_extra_html_url
and frontend_extra_html_url
are now removed.
(@balloob - #39799) (frontend docs)
HDMI-CEC
The HDMI-CEC integration has been temporarily disabled, as it has a dependency that contains code that breaks Home Assistant.
Home Assistant Cloud for older Android devices
Home Assistant Cloud uses Let’s Encrypt to provide SSL certificates for your instance. Let’s Encrypt is changing the way they sign their certificates at the end of the month which breaks support for older Android devices (older than Android 7.1).
This release includes an update to make the certificates used by Home Assistant Cloud backward compatible. This relies on a feature that Let’s Encrypt provides, which will expire in September 2021.
If you use an older Android device and cannot upgrade to Home Assistant 0.115 or want to use it past September 2021, install the Firefox browser. It includes modern certificates and is able to support the new Let’s Encrypt certificates.
HTTP: Using reverse proxies
The processing of data received from reverse proxies is now more strictly
handled. Invalid or malformed X-Forwarded-For
headers will now result in an
HTTP 400 error (Bad Request).
Support for X-Forwarded-Proto
and X-Forwarded-Host
has been added.
Additionally, Home Assistant will now log cases of a reverse proxy being used,
but not configured with Home Assistant. Make sure, you set the
use_x_forwarded_for
and trusted_proxies
in your Home Assistant HTTP
configuration correctly to avoid warnings.
Instituto Português do Mar e Atmosfera (IPMA)
The precipitation
attribute has been renamed to precipitation_probability
.
KNX
The KNX integration has been completely refactored to no longer rely on dedicated platform configuration but instead use the integration domain key as the base configuration.
Let’s say you’ve previously used the following configuration:
knx:
tunneling:
host: "192.168.0.1"
switch:
- platform: knx
name: Switch
address: "2/0/1"
state_address: "2/0/2"
You’ll need to migrate it as follows:
knx:
tunneling:
host: "192.168.0.1"
switch:
- name: Switch
address: "2/0/1"
state_address: "2/0/2"
Kodi
Kodi Media Player configuration is now available through the UI, including discovery. If you have Kodi configured in YAML, it is advised to remove that and use discovery or a manual configuration through the UI.
Existing YAML entries will be imported, but:
- Your turn on/off actions will not be ported. This functionality is now available through device triggers.
- You may have duplicate entities.
- Kodi must be on when Home Assistant is loading for the first time in order for the configuration to be imported.
Lovelace for generated (auto) mode
Entities that are generated from mobile apps with the mobile_app
integration
is now hidden in the generated Lovelace view. If you want to continue to display
those you need to take control over your view with the 3 dots in the top right
corner of the Lovelace screen.
(@ludeeus - #6873) (lovelace docs)
MDI Icons
The MDI icons are updated to version 5.5.55, this adds another 100 icons you can use!
In 5.5.55 there was 1 breaking change, if you used the icon mdi:scooter
this
has been renamed to mdi:human-scooter
and you need to adjust your
configuration.
All icons that were deprecated in 0.113.0 have now been removed. Icons that were renamed or deleted in version 5.0.45 will no longer work.
Météo-France
The attributes of next_rain
has been reworked. In the previous version it was
a list of objects with changing keys (every 5 minutes) corresponding to a
UTC timestamp. This design was difficult to use in templates and automation.
The new design will add a dedicated string attribute to have the reference
timestamp of the forecast (forecast_time_ref
) and a dict attribute with fixed
keys to access the rain forecast within the hour (1_hour_forecast
).
Example of the new attributes:
forecast_time_ref: "2020-08-20T19:25:00+00:00"
1_hour_forecast:
0 min: Temps sec
5 min: Temps sec
10 min: Temps sec
15 min: Temps sec
20 min: Temps sec
25 min: Pluie faible
35 min: Pluie faible
45 min: Pluie modérée
55 min: Pluie modérée
Meteorologisk institutt (Met.no)
While updating the integration, and its underlying libraries, to use the newer API endpoint, some of the calculations and forecast aggregations were tweaked a bit:
- Use hourly forecast for current weather, not daily.
- Ensure compared datetime objects are compared in the same time zone.
- Use highest resolution data from full 24 hours to calculate daily forecast min/max/sum values.
None of these changes are expected to break your setup, though the data presented might look a little different due to the above.
In addition, all time stamps are now given in UTC. Automations that depend on
the datetime
key under the state attribute forecast
needs to be checked and
updated accordingly.
Netatmo
The sensor for wind and gust angle is split up into two entities so that it now
returns the direction (e.g., NE
) and the actual value (e.g., 178°
) rather
than a string containing both (e.g., NE (123°)
).
(@cgtobi - #38627) (netatmo docs)
NZBGet
NZBGet is now available via the Integrations UI. This also means it’s no longer configured in YAML. Existing configurations are automatically transitioned to configuration via UI, so after upgrade your existing YAML entry can be safely removed.
YAML support will be fully removed in Home Assistant 0.117.0.
The NZGGet uptime sensor is now a timestamp sensor so its state value has changed from number of minutes since startup to a timestamp indicating the start time of the application.
(@ctalkington - #38938 #39425) (nzbget docs)
OAuth2 authentication and redirects
Integrations using OAuth2 authentication now use the current request URL from the browser as the redirect target, instead of the internal URL setting.
This matches the experience one would expect to happen and removes the need to fiddle around with the internal URL setting.
However, this might require you to update application settings when re-authenticating with existing services.
Open Hardware Monitor
In some locales numbers with decimals uses “,” instead of “.” and this causes an issue when trying to use InfluxDB for example. This has been adjusted.
OpenUV
Support for configuring this integration has been fully removed. If you have existing OpenUV configuration in your YAML configuration files, you can safely remove that configuration.
(@bachya - #38857) (openuv docs)
OpenWeatherMap
The OpenWeatherMap integration can now be configured via the UI. After upgrading, your existing configuration will be imported automatically and you can safely remove existing YAML configuration for this integration.
RFLink
The integration has been adjusted and modified the entity_id
generation for
Rflink toggle type lights. There is a small possibility an entity ID has
changed because of this.
(@javicalle - #37992) (rflink docs)
Roku
The Roku state now better aligns with media playback.
Previously, if an app was open, the state would be “playing” even if you were just browsing the app interface. This has been adjusted to be represented as “on”. When Roku reports media playback in progress, the state “playing” will be used.
This improves compatibility with exposing entities to Alexa, Google Assistant, and HomeKit.
(@ctalkington - #39540) (roku docs)
Sentry
The YAML configuration for Sentry is now deprecated and no longer works. If you had Sentry configured via YAML previously, you can safely remove the YAML configuration (without the need to reconfigure) as it has been imported into the UI before.
The release is now formatted with only the version number of Home Assistant
Core, for example, 0.115.0
. Previously, this was prefixed with
homeassistant-
, for example, homeassistant-0.115.0
.
This prefix is now removed.
(@frenck - #38833) (sentry docs)
Squeezebox
The Squeezebox integration previously always gave only the current track as
the media_content_id
and gave the media_content_type
as music
.
This leads to unexpected behavior when saving and loading scenes, because only the current track is saved and loaded.
The media_content_id
for the squeezebox
integration may be either a single
URL or a list of them. If a single URL, media_content_type
is music
.
If a playlist, media_content_type
is a playlist
. If you are using
automations that use media_content_id
, you should check if the
media_content_type
is music
or playlist
.
(@rajlaud - #38214) (squeezebox docs)
Templates
It is no longer necessary to provide a list of entities to monitor for each template platform as automatic analysis can now find all entities that affect the state in the template without manual setup.
This means you can now remove the entity_id
option from your templates,
as it is now deprecated.
The template is now re-evaluated whenever an entity that can affect the template state changes. New entities that can affect the template state are automatically discovered each time the template is rendered. This change solves a performance issue where the template would be re-rendered unnecessarily.
Please review the Working without entities
section
on the Binary Sensor Template
documentation for
alternative ways to force template entities to re-evaluate. This includes
templates that rely on the use of now()
.
If this change means you need to make adjustments, we have made it easier by
making template entities reloadable in the YAML configuration reloading
section under Configure Home Assistant
-> Server Controls
.
(@bdraco - #39382) (template docs)
Themes
The code editor is now themeable, you can set the background color and the color
for the different code blocks. The default background color now is
card-background-color
. For some themes this may conflict with the default code
colors. To get the old behavior back add code-editor-background-color: white
to your theme.
Time Pattern Trigger
The time_pattern
trigger will now reject invalid expressions that were
previously accepted (but did not work as expected).
For example the minutes: /60
would have been accepted previously, but
could never trigger.
(@amelchio - #38982) (automation docs)
Timer
This will remove the remaining
attribute from the timer unless the timer is
paused. Any workarounds that do exist to use the remaining
attribute to
determine when the timer finishes have to switch to use the finishes_at
attribute.
(@IcyPalm - #37519) (timer docs)
Timers with a duration longer than a day would format as “1 day, 1:00:00” and that is difficult to use in templates or for the frontend to render. Now it will render as “25:00:00”.
(@bramkragten - #38292) (timer docs)
Yandex Transport
The integration now accepts a full stop ID in text notation:
'stop__1234'
or 'group_345'
or '6789'
You’ll have to update stop_id: 1234567
in your existing configuration to
stop_id: stop__1234567
as it is used in Yandex maps API.
Yeelight
The Yeelight integration now uses custom SSDP-like discovery instead of the mDNS discovery, since mDNS discovery is removed in new firmwares.
After this change, there will be no longer automatic configuration based on discovery. Users currently using that should set up all devices through UI.
(@shenxn - #37191) (yeelight docs)
Farewell to the following
- The Prezzi Benzina integration has been removed. It was using webscraping to gather its data, which is no longer allowed. (@eliseomartelli - #38736)
- The yr integration has been removed after a request from yr.no. Use the Met.no integration instead (@Danielhiversen - #39247)
Release 0.115.1 - September 18
- Log template listeners when debug logging is on (@bdraco - #40180)
- Upgrade pyvlx to 0.2.17 (@Julius2342 - #40182) (velux docs)
- Fix Vizio async_unload_entry bug (@raman325 - #40210) (vizio docs)
- Fix Nextcloud sensors becoming unavailable (@meichthys - #40212) (nextcloud docs)
- Disable async on Apprise (@caronc - #40213) (apprise docs)
- Fix RM mini 3 update manager (@felipediel - #40215) (broadlink docs)
- Fix kodi.call_method (@OnFreund - #40236) (kodi docs)
- Handle systems without groups (@OnFreund - #40238) (risco docs)
- Fix coolmaster.info (@OnFreund - #40240) (coolmaster docs)
Release 0.115.2 - September 19
- Get option flow defaults from yaml for non configured MQTT options (@emontnemery - #40177) (mqtt docs)
- Correct modbus switch to return correct coil (@janiversen - #40190) (modbus docs)
- Handle an unsupported device in the Broadlink config flow (@felipediel - #40242) (broadlink docs)
- Fix Kodi discovery title (@OnFreund - #40247) (kodi docs)
- Fix high CPU usage in vera integration. (@vangorra - #40249) (vera docs)
- Updated frontend to 20200918.0 (@bramkragten - #40253) (frontend docs)
- Bump hangups to 0.4.11 (@dshokouhi - #40258) (hangouts docs)
- Update ZHA dependencies (@Adminiuga - #40283) (zha docs)
- Fix error creating duplicate ConfigEntry upon import for rfxtrx (@RobBie1221 - #40296) (rfxtrx docs)
Release 0.115.3 - September 25
- Use Cloud State as alternative state if condition unknown (@thehaxxa - #37121)
- Guard SolarEdge for inverters without batteries (@mhaack - #40295) (solaredge docs)
- Ignore packets with missing dts in peek_first_pts (@uvjustin - #40299) (stream docs)
- Axis - Fix list applications breaks if empty response (@Kane610 - #40360) (axis docs)
- Fix Met.no missing conditions in API forecasts (@thimic - #40373) (met docs)
- Bump pyinsteon to 1.0.8 (@teharris1 - #40383) (insteon docs)
- Fix OSError (@bieniu - #40393) (shelly docs)
- Fix handling of empty ws port (@OnFreund - #40399) (kodi docs)
- Validate Met.no forecast entries before passing them on to HA (@thimic - #40400) (met docs)
- Fix luci device_tracker incorrectly reporting devices status (@cagnulein - #40409) (luci docs)
- Make modbus switch read_coil failure resistent (@janiversen - #40417) (modbus docs)
- Fix webostv supported features for “external_speaker” sound output (@PedroLamas - #40435) (webostv docs)
- Fix regression in Nextcloud component (@meichthys - #40438) (nextcloud docs)
- Fix proxy camera conversion with PNG Alpha(RGBA) (@square99 - #40446) (proxy docs)
- Bump accuweather library to version 0.0.11 (@bieniu - #40458)
- Increase gogogate2 request timeout (@vangorra - #40461) (gogogate2 docs)
- Fix handling of quoted time_pattern values (@amelchio - #40470) (homeassistant docs)
- Ensure group state is recalculated when re-adding on reload (@bdraco - #40497) (group docs)
- Disable audio in stream when audio stream profile is None (@uvjustin - #40521) (stream docs)
- Fix luci device_tracker when release is none (@cagnulein - #40524) (luci docs)
- Increase upnp timeout from 5 seconds to 10 seconds (@StevenLooman - #40540) (upnp docs)
- Fix connection validation during import for dsmr integration (@RobBie1221 - #40548) (dsmr docs)
- Updated frontend to 20200918.2 (@bramkragten - #40549) (frontend docs)
- Fix bug in state trigger when using for: without to: (@KevinCathcart - #40556) (homeassistant docs)
Release 0.115.4 - September 28
- Bump aioshelly library to version 0.3.3 (@bieniu - #40415) (shelly docs)
- Create master playlist for cast (@uvjustin - #40483) (stream docs)
- Fix fitbit current URL not available while configuring (@colinfrei - #40547) (fitbit docs)
- Bump Plugwise-Smile to v1.5.1 (@bouwew - #40572) (plugwise docs)
- Fix camera play stream (@hunterjm - #40641) (camera docs) (cast docs) (media_player docs) (stream docs)
- set ID3 tags as TextFrame types (@digitallyserviced - #40666) (tts docs)
- Pin gRPC to 1.31.0 to workaround amrv7 issues (@frenck - #40678)
- Bump Airly package to 1.0.0 (@ak-ambi - #40695) (airly docs)
Release 0.115.5 - September 29
Release 0.115.6 - September 30
- Use custom app to play camera stream using Google Assistant (@bramkragten - #40750) (google_assistant docs)
All changes
Click to see all changes!
- Handle non-existing translations in clean script (@balloob - #38574)
- Bump androidtv to 0.0.48 and pure-python-adb to 0.3.0.dev0 (@JeffLIrion - #38578) (androidtv docs)
- Add support for Philips Hue Smart Button (@clarkd - #38555) (deconz docs) (hue docs)
- Add devolo blinds devices (@2Fake - #36597) (devolo_home_control docs) (new-platform)
- Support Next/Previous for InputSelector (@elupus - #38378) (google_assistant docs)
- Add node firmware to ozw device registry (@DelusionalAI - #38330) (ozw docs)
- Change http to auto for cast media image url (@KTibow - #38242) (cast docs)
- Remove wrong update per core design on ZHA (@pvizeli - #38599) (zha docs)
- Add events to Dynalite platform (@ziv1234 - #38583) (dynalite docs)
- Add vizio service to update a device setting (@raman325 - #36739) (vizio docs)
- Do not report google states if nothing to report (@balloob - #38608) (google_assistant docs)
- Switch Netatmo integration to dispatcher for internal communication (@cgtobi - #38590) (netatmo docs)
- Bump version to 0.115.0dev0 (@frenck - #38606)
- Remove unused async_setup_platform from HLK-SW16 switch (@jameshilliard - #38648) (hlk_sw16 docs)
- Automatically switch mpd between resume and start playing on media_play (@Vaarlion - #37854) (mpd docs)
- Raise error when unsupported (old) Bond firmware is detected (@prystupa - #38650) (bond docs)
- Standardize Vizio update service schema (@raman325 - #38636) (vizio docs)
- Update Tesla to use DataUpdateCoordinator (@alandtse - #38306) (tesla docs)
- Bump teslajsonpy to 0.10.4 (@alandtse - #38652) (tesla docs)
- Bump pyupgrade to v2.7.2 (@basnijholt - #38629)
- Bump yamllint to v1.24.2 (@basnijholt - #38633)
- Bump codespell from v1.16.0 to v1.17.1 and fix new spelling errors (@basnijholt - #38663)
- Bump pre-commit-hooks from v2.40 to v3.2.0 (@basnijholt - #38664)
- Bump env_canada to 0.2.0 (@michaeldavie - #37467) (environment_canada docs)
- Add support for reload_on_update to _abort_if_unique_id_configured (@bdraco - #38638)
- Add device classes for electrical measurement (@fabiocastagnino - #36800) (sensor docs)
- Add support for exposing light effects via Google Assistant (@mjg59 - #38575) (google_assistant docs)
- Support extracting entities by domain from templates (@bdraco - #38647)
- Improve performance of fetching the state domain (@bdraco - #38653)
- Support muting and relative-volume media_players in Google Assistant (@blueshiftlabs - #38651) (google_assistant docs)
- Add current request context to get_url helper (@frenck - #38602) (http docs)
- Address requested code changes in Tesla (@alandtse - #38680) (tesla docs)
- Improve tests for AccuWeather integration (@bieniu - #38621) (accuweather docs)
- Bump version of aiopvpc to v2.0.2 (@azogue - #38691) (pvpc_hourly_pricing docs)
- Fix Kodi play_media media type casing (@imduffy15 - #38665) (kodi docs)
- Add missing Short type to set_config_param (@firstof9 - #38618) (ozw docs)
- Make CoolMasterNet integration async (@OnFreund - #38643) (coolmaster docs)
- Add Nightscout integration (@marciogranzotto - #38615) (nightscout docs) (new-integration)
- Add DataUpdateCoordinator to met integration (@bruxy70 - #38405) (met docs)
- Use global CONF_UNIQUE_ID for hue (@michaelarnauts - #38596) (hue docs)
- Use global CONF_UNIQUE_ID for deconz (@michaelarnauts - #38597) (deconz docs)
- Persist hive light brightness for color change (@alxwrd - #38677) (hive docs)
- Add support for boost and eco modes to Daikin climate (@viiru- - #37282) (daikin docs)
- Use global CONF_UNIQUE_ID for mqtt (@michaelarnauts - #38595) (mqtt docs)
- Add SolarEdge battery level and dynamic icon for storage sensor (@mhaack - #37826) (solaredge docs)
- add event and device action for when devices drop (@dmulcahey - #38701) (zha docs)
- Fix homekit_controller pairing retry when the first attempt is busy (@bdraco - #38605) (homekit_controller docs)
- Implement local discovery of Smappee legacy devices (@bsmappee - #37812) (smappee docs)
- Add support for Flo by Moen water shutoff devices (@dmulcahey - #38171) (flo docs) (new-integration)
- Add water level sensors provided by UK Environment Agency (@Jc2k - #31954) (eafm docs) (new-integration)
- Bump devolo-home-control-api to 0.13.0 (@2Fake - #38718) (devolo_home_control docs)
- Add Dynalite current preset service (@ziv1234 - #38689) (dynalite docs)
- Add current device class to WLED current sensor (@frenck - #38687) (wled docs)
- Ignore requirements for env_canada (@frenck - #38731)
- Add URL as common string (@ctalkington - #38694)
- Add hourly forecast to met.no (@bruxy70 - #38700) (met docs)
- Update IPMA weather component (@dgomes - #38697) (ipma docs) (breaking-change)
- Remove prezzibenzina integration (ADR-0004) (@eliseomartelli - #38736) (breaking-change)
- Add Ecobee services (@hudcap - #38749) (ecobee docs)
- [RFC] Add Tag integration (@dmulcahey - #38727) (default_config docs) (tag docs) (new-integration)
- Update Flo config flow and associated tests (@dmulcahey - #38722) (flo docs)
- Mobile App integration to use tag integration (@balloob - #38757) (mobile_app docs)
- Bump Rachiopy version to 0.1.4 (@brg468 - #38761) (rachio docs)
- Move DwdWeatherWarningsAPI to a library hosted on PyPI (@stephan192 - #34820) (dwd_weather_warnings docs) (breaking-change)
- Speed up OZW availability check (@balloob - #38758) (ozw docs)
- Add Dynalite service to request the channel level (@ziv1234 - #38735) (dynalite docs)
- Add power sensor for Aqara Wall Plug (@VDigitall - #38672) (xiaomi_aqara docs)
- Add energy device class to Toon sensors (@frenck - #38686) (toon docs)
- Time trigger can also accept an input_datetime Entity ID (@pnbruckner - #38698) (automation docs)
- Enable PAHO MQTT client logging (@emontnemery - #38767) (mqtt docs)
- Improve X-Forwarded-* request headers handling (@frenck - #38696) (http docs) (breaking-change)
- Adapt the ONVIF Renewal termination_time for Amcrest cameras (@esev - #37750) (onvif docs)
- Revert “Add energy device class to Toon sensors” (@frenck - #38768) (toon docs)
- Add H.265 support to stream component (@uvjustin - #38125) (stream docs)
- Stream clients operate on a copy of the intnernal self._outputs dict (@esev - #38766) (stream docs)
- Allow ONVIF devices to resume a PullPoint subscription when the camera reboots (@esev - #37711) (onvif docs)
- Cleanup Netatmo code (@cgtobi - #38772) (netatmo docs)
- Add config flow to insteon component (@teharris1 - #36467) (insteon docs)
- Bump androidtv to 0.0.49 (@JeffLIrion - #38778) (androidtv docs)
- Bump actions/setup-python from v2.1.1 to v2.1.2 (@dependabot - #38780)
- Bump actions/upload-artifact from v2.1.3 to v2.1.4 (@dependabot - #38779)
- Remove Netatmo HomeKit discovery method (@cgtobi - #38770) (netatmo docs)
- Add roon media player integration (@pavoni - #37553) (roon docs) (new-integration)
- Unsubscribe ozw listeners (@MartinHjelmare - #38787) (ozw docs)
- Add dynalite level preset (@ziv1234 - #37533) (dynalite docs)
- Addressing feedback from #37711 (@esev - #38781) (onvif docs)
- Use the shared zeroconf instance when attempting to create another Zeroconf instance (@bdraco - #38744) (zeroconf docs)
- Simplify vizio unique ID check since only IP and device class are needed (@raman325 - #37692) (vizio docs)
- Update script helper constructor parameters (@pnbruckner - #38763)
- Add async_track_state_added_domain for tracking when states are added to a domain (@bdraco - #38776)
- Create variable with result of wait_template and accept template for timeout option (@pnbruckner - #38634) (automation docs) (generic_thermostat docs) (ness_alarm docs) (speedtestdotnet docs) (template docs) (toon docs) (xiaomi_miio docs)
- Add refresh_node_info command to OZW websocket api (@cgarwood - #38573) (ozw docs)
- async_get_instance was not reentrant during await (@elupus - #38263)
- Helpers type hint improvements (@scop - #38522)
- update to use latest konnected py module (@kit-klein - #38803) (konnected docs)
- Update pyipp to 0.11.0 (@ctalkington - #38820) (ipp docs)
- Update rokuecp to 0.6.0 (@ctalkington - #38819) (roku docs)
- Add Agent DVR Alarm Control Panel (@ispysoftware - #36468) (agent_dvr docs) (new-platform)
- Cleanup Netatmo sensors (@cgtobi - #38627) (netatmo docs) (breaking-change)
- Add default_* to device registry (@balloob - #38829) (mikrotik docs)
- Convert Channels platform services to use platform register (@balloob - #38827) (channels docs)
- Add binary sensor support to the Flo integration (@dmulcahey - #38267) (flo docs) (new-integration)
- Nightscout PR fixes (@marciogranzotto - #38737) (nightscout docs)
- Add switch support to the Flo integration (@dmulcahey - #38268) (flo docs) (new-integration)
- Fix typo in media_player docstring (@cgarwood - #38843) (media_player docs)
- Fix iqvia test patching the wrong integration (@bdraco - #38847) (iqvia docs)
- Remove superfluous netatmo icons (@cgtobi - #38859) (netatmo docs)
- Bump pysyncthru to 0.7.0 (@nielstron - #38832) (syncthru docs)
- Fix Freebox unsub dispatcher (@Quentame - #38842) (freebox docs)
- Disable env_canada pylint import error (@MartinHjelmare - #38868) (environment_canada docs)
- Fix logger name (@balloob - #38866) (input_boolean docs) (tag docs) (zone docs)
- Add sympathy review check box to PR template (@MartinHjelmare - #38867)
- Add Slack url icon support (@arychj - #38814) (slack docs)
- Fix PR link in PR template (@MartinHjelmare - #38871)
- Adjust homekit controller pairing to have a new step for each potentially recoverable error (@bdraco - #38742) (homekit_controller docs)
- Get more detailed info for growatt_server (@indykoning - #38852) (growatt_server docs)
- Bump apprise to 0.8.7 (@caronc - #38886) (apprise docs)
- Handle missing MAC address during daikin discovery (@fredrike - #38840) (daikin docs)
- Bump aiohomekit to 0.2.47 (@Jc2k - #38901) (homekit_controller docs)
- Use current request context in OAuth redirect (@frenck - #38692) (breaking-change)
- Add new growatt_server device class constants (@indykoning - #38906) (growatt_server docs)
- Add track_template_result method to events (@bdraco - #38802)
- Fix log message format in daikin (@ctalkington - #38920) (daikin docs)
- bump the version of openevsewifi to latest upstream 1.1.0 (@ausil - #38892) (openevse docs)
- Huawei LTE device registry improvements (@scop - #38925) (huawei_lte docs)
- Update TrackTemplateResultInfo to remove side effects from init (@bdraco - #38934)
- Set up konnected entities even if panel isn’t immediately reachable (@kit-klein - #38879) (konnected docs)
- Remove deprecated YAML config from OpenUV (@bachya - #38857) (openuv docs) (breaking-change)
- Improve Netatmo sensor naming (@cgtobi - #38957) (netatmo docs)
- Fix Konnected pro options (@kit-klein - #38848) (konnected docs)
- Install ffmpeg on Travis CI for homekit camera tests (@scop - #38955)
- Reorganize trigger code (@pnbruckner - #38655)
- update python-velbus to 2.0.44 (@thomasdelaet - #38966) (velbus docs)
- State and service related type hint improvements (@scop - #38956) (ipp docs) (sonarr docs) (wled docs)
- Add wind max speed to trafikverket_weatherstation (@endor-force - #38929) (trafikverket_train docs) (trafikverket_weatherstation docs)
- Make check-executables-have-shebangs manual (@emontnemery - #38980)
- Bump python-openzwave-mqtt to 1.0.5 (@cgarwood - #38984) (ozw docs)
- Allow empty cast media_player config (@emontnemery - #38971) (cast docs)
- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (@dependabot - #38991)
- Fix time trigger test (@pnbruckner - #38988) (homeassistant docs)
- Bump pysuez to 0.1.19 (@ooii - #38998) (suez_water docs)
- Add triggers for the Tag component (@dmulcahey - #39004) (tag docs)
- Update emulated_hue to allow getting bridge config without username (@kbickar - #38986) (emulated_hue docs)
- Improve time_pattern validation schema (@amelchio - #38982) (homeassistant docs) (breaking-change)
- Extend IP ban / failed login notification information (@frenck - #39020) (http docs)
- Make ping binary_sensor update async (@Misiu - #35301) (ping docs)
- Add Rachio zone moisture service (@brg468 - #38817) (rachio docs)
- Add image integration (@balloob - #38969) (media_manager docs) (new-integration)
- Track entity sources (@balloob - #37258)
- Add websocket command to get a list of OZW instances and their status (@cgarwood - #39019) (ozw docs)
- Fix ws create tags (@bramkragten - #39043) (tag docs)
- Add support for attributes in (numeric) state conditions (@frenck - #39050)
- Smart Meter Texas integration (@grahamwetzler - #37966) (smart_meter_texas docs) (new-integration)
- Clean up feedreader files at the end (@felipediel - #39064) (feedreader docs)
- Ensure speedtest cancels the listener on options update (@bdraco - #39062) (speedtestdotnet docs)
- Add audio to stream (@uvjustin - #38846) (stream docs)
- Upgrade to aioymaps==1.1.0 to support new types of stops #39006 (@devbis - #39021) (yandex_transport docs) (breaking-change)
- Sentry integration enhancements (@frenck - #38833) (sentry docs) (breaking-change)
- Fix slower tests in sonarr (@ctalkington - #39073) (sonarr docs)
- Update template sensor to use async_track_template_result (@bdraco - #38940) (template docs)
- Convert template lock to use async_track_template_result (@bdraco - #38946) (template docs)
- Convert template switch to use async_track_template_result (@bdraco - #38950) (template docs)
- Convert template fan to use async_track_template_result (@bdraco - #38983) (template docs)
- Convert template alarm_control_panel to use async_track_template_result (@bdraco - #39014) (template docs)
- Convert template binary_sensor to use async_track_template_result (@bdraco - #39027) (template docs)
- Fix hlk-sw16 checksum decode. (@jameshilliard - #39080) (hlk_sw16 docs)
- Convert template cover to use async_track_template_result (@bdraco - #39042) (template docs)
- Convert template light to use async_track_template_result (@bdraco - #39045) (template docs)
- Convert template vacuum to use async_track_template_result (@bdraco - #39047) (template docs)
- Remove unused code from the template integration (@bdraco - #39048) (template docs)
- Implement config flow in the Broadlink integration (@felipediel - #36914) (broadlink docs) (breaking-change)
- Update frontend to 20200820.0 (@bramkragten - #39085) (frontend docs)
- Generate ID when not provided (@bramkragten - #39082) (tag docs)
- Pre-create homekit_controller device registry entries when processing entity map (@Jc2k - #39036) (homekit_controller docs)
- Prefer mac for onvif device identifier (@foxel - #38864) (onvif docs)
- Update DOODS name (@thrust15 - #38997) (doods docs)
- Add config flow to kodi (@OnFreund - #38551) (discovery docs) (kodi docs) (breaking-change)
- Add wait_for_trigger script action (@pnbruckner - #38075) (automation docs)
- Remove dead ozw discovery code (@MartinHjelmare - #39098) (ozw docs)
- Use SimpleQueue for recorder (@bdraco - #38967) (recorder docs)
- Update websocket api to use async_track_template_result (@bdraco - #39057) (websocket_api docs)
- Deprecate optional script context (@balloob - #39034) (intent_script docs) (kodi docs) (panasonic_viera docs) (samsungtv docs) (template docs) (webostv docs)
- Skip the sqlite quick_check on clean restarts (@bdraco - #38972) (recorder docs)
- Prevent invalid data from being passed to zeroconf (@bdraco - #39009) (zeroconf docs)
- Simplify template integration entities (@bdraco - #39083) (template docs)
- Update template triggers to use async_track_template_result (@bdraco - #39059) (template docs)
- Update Notion to use a DataUpdateCoordinator (@bachya - #38978) (notion docs)
- correct naming (@2Fake - #39102) (devolo_home_control docs)
- Fix for exception when checking if fan without speed is on (@kbickar - #39096) (fan docs) (mqtt docs)
- Clean up more netgear_lte resources on shutdown (@amelchio - #39065) (netgear_lte docs)
- Add wemo ‘Socket’ model for Homekit discovery (@esev - #38765) (wemo docs)
- Support unknown mime type for image attachments in html email (@esev - #38682) (smtp docs)
- Allow Slack notifications to change username/icon on the fly (@bachya - #39091)
- Wait for broker to ACK MQTT operations (@emontnemery - #39051) (mqtt docs)
- Warn when casting of tts fails (@emontnemery - #38603) (cast docs) (tts docs)
- Tweak OZW Websocket Instance/Network Responses (@cgarwood - #39107) (ozw docs)
- Improve tests and config flow for Smart Meter Texas (@grahamwetzler - #39089)
- Update issue template for new Logs location (@SeanPM5 - #39115)
- Bump plexapi to 4.1.0 (@jjlawren - #39118) (plex docs)
- Allow templating keys in data_template (@basnijholt - #39008)
- Add OZW network_statistics websocket command (@cgarwood - #39124) (ozw docs) (new-integration)
- Make template entities reloadable (@bdraco - #39075) (template docs)
- Add Risco integration (@OnFreund - #36930) (risco docs) (new-integration)
- Fix flapping recorder last run test (@bdraco - #39134) (recorder docs)
- Risco code review follow ups (@OnFreund - #39143) (risco docs)
- Fix Vizio pylance error by using schema extend instead of dict update (@raman325 - #39139) (vizio docs)
- Upgrade volkszaehler to 0.1.3 (@fabaff - #39147) (volkszaehler docs)
- Upgrade pylast to 3.3.0 (@fabaff - #39151) (lastfm docs)
- Add risco options flow (@OnFreund - #39154) (risco docs)
- Fix Sentry user context and system info (@frenck - #39130) (sentry docs)
- Address Kodi code review follow up (@OnFreund - #39104) (kodi docs)
- Upgrade beautifulsoup4 to 4.9.1 (@fabaff - #39158) (scrape docs)
- Upgrade praw to 7.1.0 (@fabaff - #39152) (reddit docs)
- Upgrade connect-box to 0.2.7 (@fabaff - #39162) (upc_connect docs)
- Upgrade sendgrid to 6.4.6 (@fabaff - #39148) (sendgrid docs)
- Upgrade python-whois to 0.7.3 (@fabaff - #39153) (whois docs)
- Upgrade slixmpp to 1.5.2 (@fabaff - #39169) (xmpp docs)
- add zone status attribute so we can know if queued (@ktownsend-personal - #39133) (rainmachine docs)
- Upgrade sqlalchemy to 1.3.19 (@fabaff - #39167) (recorder docs) (sql docs)
- Upgrade jinja2 to >=2.11.2 (@fabaff - #39161)
- Update universal media_player to use async_track_template_result (@bdraco - #39054) (universal docs)
- Upgrade psutil to 5.7.2 (@fabaff - #39149) (systemmonitor docs)
- Add binary sensors to Risco integration (@OnFreund - #39137) (risco docs) (new-platform)
- Fix unmocked calls in melcloud (@ctalkington - #39170) (melcloud docs)
- Make emulated_hue upnp responder async (@bdraco - #39126) (emulated_hue docs)
- Improve the performance of dt_util.utcnow() (@bdraco - #39145)
- Convert bayesian binary_sensor to use async_track_template_result (@bdraco - #39174) (bayesian docs)
- Upgrade mutagen to 1.45.1 (@fabaff - #39166) (tts docs)
- Upgrade discord.py to 1.4.1 (@fabaff - #39150) (discord docs)
- Upgrade colorlog to 4.2.1 (@fabaff - #39159)
- Upgrade TwitterAPI to 2.5.13 (@fabaff - #39157) (twitter docs)
- Allow multiple config entries per host for transmission (@JPHutchins - #39127) (transmission docs)
- Add ZwaveStringSensor to OZW integration (@zyberzero - #38676) (ozw docs)
- Upgrade pre-commit to 2.7.0 (@frenck - #39180)
- Upgrade discogs_client to 2.3.0 (@fabaff - #39164) (discogs docs)
- Upgrade py-cpuinfo to 7.0.0 (@fabaff - #39155) (cpuspeed docs) (breaking-change)
- Support Rainbow radar site in BOM camera (@maddenp - #39129)
- Update bug report template for new Logs location (@lukashass - #39183)
- Add pin code support to the Risco integration (@OnFreund - #39177) (risco docs)
- Report usage of extract_entities by custom components (@bdraco - #39185)
- Add unique_id to solarlog sensors (@Ernst79 - #39186) (solarlog docs)
- Trim CW from RGB when not supported in ozw (@firstof9 - #39191) (ozw docs)
- Upgrade debugpy to 1.0.0rc2 (@frenck - #39195) (debugpy docs)
- Only reload config entry if it is loaded (@balloob - #39202) (volumio docs)
- Fix race when waiting for MQTT ACK (@emontnemery - #39193) (mqtt docs)
- Websocket media browsing for Plex (@jjlawren - #35590) (plex docs)
- Add Shelly integration (@balloob - #39178) (shelly docs) (new-integration)
- Upgrade pre-commit to 2.7.1 (@frenck - #39206)
- 100% test coverage for Shelly config flow (@balloob - #39209) (shelly docs)
- Add shortcuts when we know template is static (@balloob - #39208)
- Add Wilight integration with SSDP (@leofig-rj - #36694) (wilight docs) (new-integration)
- Allow templates in data & service parameters (making data_template & service_template obsolete) (@frenck - #39210)
- Don’t sort keys when dumping json and yaml (@bramkragten - #39214) (http docs)
- Standardize uuid generation for events/storage/registry (@bdraco - #39184)
- Minor cleanup of MQTT ACK handling (@emontnemery - #39217) (mqtt docs)
- Include the first seen context data in the logbook api (@bdraco - #39194) (logbook docs)
- Updated frontend to 20200824.0 (@bramkragten - #39224) (frontend docs)
- Add websocket trigger/condition commands (@balloob - #39109) (homeassistant docs) (template docs) (websocket_api docs) (zone docs)
- Update sense icon mappings (@bdraco - #39225) (sense docs)
- Bump python-temascal to 0.2 for lg_soundbar (@akinomeroglu - #39213) (lg_soundbar docs)
- Remove ‘entity_id’ from ToggleRflinkLight (@javicalle - #37992) (rflink docs) (breaking-change)
- Allow owner users to change password of any user (@balloob - #39242) (config docs)
- Fix hassio auth data (@balloob - #39244) (config docs) (hassio docs)
- Add support for attributes in state/numeric state trigger (@balloob - #39238) (homeassistant docs)
- Wait before sending MQTT birth message (@emontnemery - #39120) (mqtt docs)
- Ensure unique ids are generated for surepetcare (@ctalkington - #39196) (surepetcare docs)
- Add HomeKit Controller heater-cooler devices (@vfreex - #38979) (homekit_controller docs)
- Remove yr integration after a request from yr.no (@Danielhiversen - #39247) (breaking-change)
- Update homeassistant base image 8.3.0 (@pvizeli - #39245)
- Subscribe to state change events only if the template has entities (@bdraco - #39188) (template docs)
- Ensure the context is passed to group changes (@bdraco - #39221) (group docs)
- Support reloading the universal platform (@bdraco - #39248) (template docs) (universal docs)
- Ensure template tracking can recover after the template generates an exception (@bdraco - #39256)
- Implement local discovery of Smappee series-2 devices and improvements (@bsmappee - #38728) (smappee docs)
- Add api to reload config entries (@bdraco - #39068) (config docs)
- Add the ability to reload light/cover groups from yaml (@bdraco - #39250) (group docs) (template docs) (universal docs)
- Rename entity base class for HMIPC (@SukramJ - #39243) (homematicip_cloud docs)
- Add the ability to reload the rest platforms from yaml (@bdraco - #39257) (group docs) (rest docs) (template docs) (universal docs)
- Add the ability to reload command_line platforms from yaml (@bdraco - #39262) (command_line docs) (group docs) (rest docs) (template docs) (universal docs)
- Add the ability to reload filter platforms from yaml (@bdraco - #39267) (filter docs)
- Allow disabling integrations in manifest, block uuid package being installed and disable ezviz (@balloob - #38444) (ezviz docs) (breaking-change)
- Version bump panasonic_viera to 0.3.6 (@evilmarty - #39269) (panasonic_viera docs)
- Remove services.yaml from the Broadlink integration (@felipediel - #39261) (broadlink docs)
- Bump brother library to version 0.1.15 (@bieniu - #39226) (brother docs) (breaking-change)
- Add timestamp option for input_datetime.set_datetime (@pnbruckner - #39121) (input_datetime docs)
- Add cache version to GitHub Actions CI (@frenck - #39277)
- Prevent bluepy from being part of requirements_all.txt (@balloob - #39275)
- Block typing from being installed (@balloob - #37707) (breaking-change)
- Add the ability to reload statistics platforms from yaml (@bdraco - #39268) (statistics docs)
- Bump CI cache (@balloob - #39283)
- Drop last bits of asyncio.coroutine (@balloob - #39280) (mqtt_eventstream docs) (shell_command docs)
- Cleanup the rest reload test to use the pytest requests_mock fixture (@bdraco - #39282) (rest docs)
- Centralize knx config and update xknx to 0.12.0 (@marvin-w - #39219) (knx docs) (breaking-change)
- Add tests for Plex media browser (@jjlawren - #39220) (plex docs)
- Allow passing in user id instead of username to change password (@balloob - #39266) (config docs)
- Add tests for Broadlink sensors (@felipediel - #39230) (broadlink docs)
- Updated certifi to > 2020.6.20 (@fabaff - #39160)
- Bump hangups to 0.4.10 (@MartinHjelmare - #39312) (hangouts docs)
- Fix Panasonic Viera config flow and state update (@joogps - #39303) (panasonic_viera docs)
- Upgrade black to 20.8b1 (@frenck - #39287)
- Remove protobuf requirement from tensorflow manifest (@MartinHjelmare - #39316) (tensorflow docs)
- Bump zigpy-cc version (@matgad - #39318) (zha docs)
- Trivial requirements cleanups (@scop - #39222)
- Skip install on tox pylint (@scop - #39260)
- Add Spotify media browser capability (@cgtobi - #39240) (spotify docs)
- Add get_nodes command to OZW websocket api (@cgarwood - #39317) (ozw docs)
- Use boolean for mqtt fan state (@emontnemery - #39332) (mqtt docs)
- Meteo france “next_rain” attributes rework (@oncleben31 - #39092) (meteo_france docs) (breaking-change)
- Prevent duckdns from consuming 100% cpu when time abruptly moves forward (@bdraco - #39334) (duckdns docs)
- Bump zeroconf to 0.28.2 (@pawlizio - #39322) (zeroconf docs)
- Switch duckdns to use async_call_later (@bdraco - #39339) (duckdns docs)
- Bump rflink to 0.0.54 (@jgrob1 - #39342) (rflink docs)
- Add (un)bypass services to Risco (@OnFreund - #39292) (risco docs)
- Add Custom mapping of Risco states (@OnFreund - #39218) (risco docs)
- Improve volume handling for Roon (@pavoni - #39119) (roon docs)
- Support selecting http vs https protocols for qvrpro (@woneill - #38951) (qvr_pro docs)
- Add the ability to reload trend platforms from yaml (@bdraco - #39341) (trend docs)
- Add the ability to reload filesize platforms from yaml (@bdraco - #39347) (filesize docs)
- Add the ability to reload generic_thermostat platforms from yaml (@bdraco - #39291) (generic_thermostat docs)
- Add device attribute for homematicip_cloud rotary handle (@SukramJ - #39144) (homematicip_cloud docs)
- Add the ability to reload history_stats platforms from yaml (@bdraco - #39337) (history_stats docs)
- fix black on generic_thermostat tests (@ctalkington - #39350) (generic_thermostat docs)
- Fix black on homematicip_cloud binary_sensor (@ctalkington - #39351) (homematicip_cloud docs)
- Bump arcam fmj with no install requires on asyncio (@elupus - #39353) (arcam_fmj docs)
- Exception chaining and wrapping improvements (@scop - #39320)
- Use icmplib for ping when available (@bdraco - #39284) (ping docs)
- Ensure we always fire time pattern changes after microsecond 0 (@bdraco - #39302)
- Update time triggers to use async_track_state_change_event (@bdraco - #39338) (homeassistant docs)
- Add the ability to reload generic platforms from yaml (@bdraco - #39289) (generic docs)
- Add the ability to reload homekit from yaml (@bdraco - #39326) (homekit docs)
- Allow exposing domains in cloud (@balloob - #39216) (cloud docs)
- Add description of what caused an automation trigger to fire (@pnbruckner - #39251) (arcam_fmj docs) (automation docs) (geo_location docs) (homeassistant docs) (kodi docs) (litejet docs) (mqtt docs) (sun docs) (template docs) (webhook docs) (zone docs)
- Add support for reloading min_max from yaml (@bdraco - #39327) (min_max docs)
- Add support for hmi208(xiaomi plug BLE) (@saury - #39306) (xiaomi_miio docs)
- Add basic light and sensor support to Shelly (@balloob - #39288) (shelly docs) (new-platform)
- Register mobile_app notification services when a new device is added (@bdraco - #39356) (mobile_app docs) (notify docs)
- Simplify mobile app debugging by adding sender device name (@anyuta1166 - #38518) (mobile_app docs)
- Unregister mobile_app notification services when a device is removed (@bdraco - #39359) (mobile_app docs) (notify docs)
- Add the ability to reload ping platforms from yaml (@bdraco - #39344) (ping docs)
- Fix sun integration vulnerability to sudden large clock changes (@pnbruckner - #39335) (sun docs)
- Ensure mobile_app notifications get re-registered after adding,removing,adding (@bdraco - #39362) (mobile_app docs) (notify docs)
- Reduce automation state changes by using script helper’s last_triggered attribute (@pnbruckner - #39323) (automation docs) (breaking-change)
- Increase test coverage for rfxtrx integration (@RobBie1221 - #39340) (rfxtrx docs)
- Add missing status mappings for xiaomi_miio (@rytilahti - #39357) (xiaomi_miio docs)
- bump pymediaroom (@dgomes - #39360) (mediaroom docs)
- Reload mobile app notify service upon device name change, add device name to all webhook logs (@dshokouhi - #39364) (mobile_app docs)
- Add Netatmo camera light service (@cgtobi - #39354) (netatmo docs)
- Fix todoist calendar events (@boralyl - #39197) (todoist docs)
- Add basic lock support for fibaro (@pbalogh77 - #38962) (fibaro docs) (new-platform)
- Improve patching in broadlink sensor tests (@ctalkington - #39366) (broadlink docs)
- Fix sun test to patch time since it is now refetched (@bdraco - #39372) (sun docs)
- Upgrade pylint to 2.6.0 (@scop - #39363)
- Upgrade isort to 5.4.2 (@scop - #37939)
- Upgrade pydocstyle to 5.1.0 (@scop - #39374)
- Catch bad devices when Google Sync (@balloob - #39377) (google_assistant docs)
- Bump python-temescal to 0.3 for lg_soundbar (@bernimoses - #39379) (lg_soundbar docs)
- Support acpartner in aqara discovery (@shenxn - #37926) (xiaomi_aqara docs)
- Reload notify platforms concurrently with asyncio.gather (@bdraco - #39384) (notify docs)
- Add config flow to nzbget (@ctalkington - #38938) (nzbget docs) (breaking-change)
- Fix bond fan.turn_on with OFF speed (@prystupa - #39387) (bond docs)
- Upgrade eternalegypt to 0.0.12 (@amelchio - #39386) (netgear_lte docs)
- Revert “Support selecting http vs https protocols for qvrpro (#38951)” (@frenck - #39385) (qvr_pro docs)
- Improve handling of exceptions in Android TV (@JeffLIrion - #39229) (androidtv docs)
- Tune logbook performance to accomodate recent changes (@bdraco - #39348) (automation docs) (logbook docs) (script docs)
- Add device_class safety to synology_dsm storage binary_sensors (@Mariusthvdb - #39310) (synology_dsm docs)
- Create a CoordinatorEntity class to avoid repating code in integrations (@bdraco - #39388)
- Fix marytts sync requests within event loop (@ctalkington - #39399) (marytts docs)
- Add basic binary_sensor support to Shelly (@bieniu - #39365) (shelly docs) (new-platform)
- Add more sensors to the Shelly integration (@bieniu - #39368) (shelly docs)
- Update air_quality to use CoordinatorEntity (@springstan - #39410) (airly docs)
- Fix huawei_lte duplicate device registry identifiers (@scop - #39409) (huawei_lte docs)
- Do not break Alexa sync when encounter bad entity (@balloob - #39380) (alexa docs)
- Update powerwall to use CoordinatorEntity (@bdraco - #39389) (powerwall docs)
- Update griddy to use CoordinatorEntity (@bdraco - #39392) (griddy docs)
- Update myq to use CoordinatorEntity (@bdraco - #39393) (myq docs)
- Update nut to use CoordinatorEntity (@bdraco - #39394) (nut docs)
- Update updater to use CoordinatorEntity (@bdraco - #39396) (updater docs)
- Update cert_expiry to use CoordinatorEntity (@bdraco - #39397) (cert_expiry docs)
- Update airly to use CoordinatorEntity (@springstan - #39413) (airly docs)
- Update roku to use CoordinatorEntity (@ctalkington - #39405) (roku docs)
- Update atag to use CoordinatorEntity (@springstan - #39414) (atag docs)
- Update nexia to use CoordinatorEntity (@bdraco - #39391) (nexia docs)
- Google: Recover from an entity raising while serializing query (@balloob - #39381) (google_assistant docs)
- Add sharkiq integration for Shark IQ robot vacuums (@ajmarks - #38272) (sharkiq docs) (new-integration)
- CoordinatorEntity to call super added_to_hass (@balloob - #39416)
- update nzbget to use CoordinatorEntity (@ctalkington - #39406) (nzbget docs)
- Update speedtestdotnet to use CoordinatorEntity (@springstan - #39404) (speedtestdotnet docs)
- Format sharkiq with black (@springstan - #39422) (sharkiq docs)
- Update airvisual to use CoordinatorEntity (@springstan - #39417) (airvisual docs)
- Update brother to use CoordinatorEntity (@springstan - #39418) (brother docs)
- Update accuweather to use CoordinatorEntity (@springstan - #39408) (accuweather docs)
- Update ipp to use CoordinatorEntity (@ctalkington - #39412) (ipp docs)
- Update eafm to use CoordinatorEntity (@springstan - #39420) (eafm docs)
- Update gios to use CoordinatorEntity (@springstan - #39421) (gios docs)
- Update juicenet to use CoordinatorEntity (@springstan - #39424) (juicenet docs)
- Update smart_meter_texas to use CoordinatorEntity (@bdraco - #39426) (smart_meter_texas docs)
- Fix pylint erros for sharkiq (@springstan - #39428) (sharkiq docs)
- Update sharkiq to use CoordinatorEntity (@bdraco - #39427) (sharkiq docs)
- Update iammeter to use CoordinatorEntity (@springstan - #39423) (iammeter docs)
- Update accuweather to fully use CoordinatorEntity (@springstan - #39431) (accuweather docs)
- Update poolsense to use CoordinatorEntity (@springstan - #39435) (poolsense docs)
- Update tesla to use CoordinatorEntity (@springstan - #39436) (tesla docs)
- Update stookalert to use DEVICE_CLASS_SAFETY constant (@Mariusthvdb - #39438) (stookalert docs)
- Update WLED to use CoordinatorEntity (@springstan - #39442) (wled docs)
- Update wolflink to use CoordinatorEntity (@springstan - #39444) (wolflink docs)
- Update pi_hole to use CoordinatorEntity (@springstan - #39433) (pi_hole docs)
- Update upnp to use CoordinatorEntity (@bdraco - #39434) (upnp docs)
- Update toon to use CoordinatorEntity (@springstan - #39441) (toon docs)
- Update tankerkoenig to use CoordinatorEntity (@bdraco - #39440) (tankerkoenig docs)
- Update tile to use CoordinatorEntity (@springstan - #39439) (tile docs)
- Update hue to use CoordinatorEntity (@springstan - #39446) (hue docs)
- Prevent CoordinatorEntity from requesting updates on disabled entities (@bdraco - #39452)
- Update roku state faster after actions (@ctalkington - #39453) (roku docs)
- Update meteo_france to use CoordinatorEntity (@springstan - #39432) (meteo_france docs)
- Update plugwise to use CoordinatorEntity (@bdraco - #39457) (plugwise docs)
- Update notion to use CoordinatorEntity (@bdraco - #39460) (notion docs)
- Update coronavirus to use CoordinatorEntity (@springstan - #39449) (coronavirus docs)
- Update risco to use CoordinatorEntity (@bdraco - #39456) (risco docs)
- Update xknx to 0.13.0 (@marvin-w - #39407) (knx docs)
- Update met to use CoordinatorEntity (@bdraco - #39462) (met docs)
- Add bieniu as code owner for shelly (@bieniu - #39467) (shelly docs)
- Update coolmaster to use CoordinatorEntity (@bdraco - #39465) (coolmaster docs)
- Update dexcom to use CoordinatorEntity (@bdraco - #39464) (dexcom docs)
- Update ovo_energy to use CoordinatorEntity (@bdraco - #39459) (ovo_energy docs)
- Update control4 to use CoordinatorEntity (@bdraco - #39466) (control4 docs)
- Update hunterdouglas_powerview to use CoordinatorEntity (@bdraco - #39463) (hunterdouglas_powerview docs)
- Fix recorder test intermittently failing (@bdraco - #39468) (recorder docs)
- Improve patching in marytts tests (@ctalkington - #39458) (marytts docs)
- Implement code review for nzbget (@ctalkington - #39425) (nzbget docs) (breaking-change)
- Clarify when message come from FCM (@TomBrien - #39455) (mobile_app docs)
- Update awair to use CoordinatorEntity (@bdraco - #39469) (awair docs)
- Update schluter to use CoordinatorEntity (@bdraco - #39454) (schluter docs)
- Fix light device trigger test flapping (@bdraco - #39470) (light docs)
- Add integration for ProgettiHWSW automation boards (@ArdaSeremet - #37922) (progettihwsw docs) (new-integration)
- Update progettihwsw to use CoordinatorEntity (@ctalkington - #39477) (progettihwsw docs)
- Make onvif username optional (@timmo001 - #39415) (onvif docs)
- Apply code review for insteon config flow (@teharris1 - #39171) (insteon docs)
- Ensure patching applies while testing marytts (@ctalkington - #39490) (marytts docs)
- Fix a problem with set_speed(off) when direct HA API for set speed is called (@prystupa - #39488) (bond docs)
- Add cache headers to picture integration (@balloob - #39402) (image docs)
- Upgrade pydocstyle to 5.1.1 (@frenck - #39492)
- Fix oauth2 template by updating outdated method name (@timmo001 - #39486)
- Upgrade sentry-sdk to 0.17.1 (@frenck - #39495) (sentry docs)
- Allow loading Lovelace dashboards not only from root (@denysdovhan - #37561) (lovelace docs)
- Detect comments in jinja templates (@balloob - #39496)
- Add support for a dedicated weather station within KNX (@marvin-w - #39476) (knx docs) (new-platform)
- route53 - support updating base domain (@arunderwood - #39264) (route53 docs)
- Add Xiaomi Miio gateway illuminance sensor and gateway light (@starkillerOG - #37959) (xiaomi_miio docs)
- Skip setup of dependencies if they are already setup (@bdraco - #39482)
- Add entity services to the Flo integration (@dmulcahey - #38287) (flo docs) (new-integration)
- Fix ADS component by bumping pyads version to 3.2.2 (@stlehmann - #39502) (ads docs)
- Add config flow to yeelight (@shenxn - #37191) (discovery docs) (yeelight docs) (breaking-change)
- Bump gios library to version 0.1.3 (@bieniu - #39507) (gios docs)
- Bump dependency to 0.11.0 for HomematicIP Cloud (@SukramJ - #39508) (homematicip_cloud docs)
- Update pyrisco to 0.2.4 (@OnFreund - #39521) (risco docs)
- Update pyvolumio to 0.1.2 (@OnFreund - #39522) (volumio docs)
- Bump zeroconf to 0.28.3 (@bdraco - #39471) (zeroconf docs)
- Update pyvolumio to 0.1.1 (@OnFreund - #39525) (kodi docs)
- Fix kodi codeowners (@bdraco - #39532) (kodi docs)
- Make async_track_template_result track multiple templates (@bdraco - #39371) (bayesian docs) (template docs) (universal docs) (websocket_api docs)
- Bump yeelight to 0.5.3 (@shenxn - #39542) (yeelight docs)
- Fix outdated api url in noaa_tides (@jdelaney72 - #39370) (noaa_tides docs)
- Adds missing name property to KNX weather device (@marvin-w - #39547) (knx docs)
- Bump openwrt-luci-rpc version: 1.1.3 → 1.1.5 (@fbradyirl - #39545) (luci docs)
- Handle missing values in Shelly sensors (@OnFreund - #39515) (shelly docs)
- Fix missing end tag in translation key (@SNoof85 - #39546) (insteon docs)
- Add support for authenticated Shelly devices (@OnFreund - #39461) (shelly docs)
- Filter out disconnected Shelly sensors (@balloob - #39516) (shelly docs)
- Provide user-defined actions to app (@TomBrien - #38572) (ios docs)
- Squeezebox scene fixes (@rajlaud - #38214) (squeezebox docs) (breaking-change)
- Deprecate manually passing entity ids to template entities (@bdraco - #39382) (template docs) (breaking-change)
- Provide compatibility with older Home Assistant installations. (@jyavenard - #39539) (emulated_hue docs) (breaking-change)
- Update pycoolmaster-async to 0.1.1 (@OnFreund - #39551) (coolmaster docs)
- Address open review issues in sharkiq integration (@ajmarks - #39504) (sharkiq docs)
- Apply code review on progettihwsw (@ArdaSeremet - #39520) (progettihwsw docs)
- Updated frontend to 20200901.0 (@bramkragten - #39560) (frontend docs)
- Use media state to better represent roku state (@ctalkington - #39540) (roku docs) (breaking-change)
- Bump openwrt-luci-rpc to 1.1.6 (@fbradyirl - #39561) (luci docs)
- Add shelly overtemp and vibration sensors (@chemelli74 - #39556) (shelly docs)
- Add alexa unofficial specific API support for Italian (@paoloantinori - #39475) (alexa docs)
- Add ability to disable the sqlite3 quick_check (@bdraco - #39479) (recorder docs)
- Overcome group concurrent setup limitation (@bdraco - #39483) (group docs)
- Undecorate RenderInfo result property (@bdraco - #39108)
- Fix discovery update of MQTT light (@emontnemery - #39325) (mqtt docs)
- Add Sonos media browser capability (@cgtobi - #39239) (sonos docs)
- Add max_exceeded log level option to automations & scripts (@pnbruckner - #39448) (automation docs) (script docs)
- Handle Alexa entity removed (@balloob - #39569) (alexa docs)
- Remove flaky wol test that didn’t test anything (@balloob - #39571) (wake_on_lan docs)
- Syncthru device registry (@scop - #36750) (discovery docs) (syncthru docs)
- Automatically update app list for Vizio SmartTV’s (@raman325 - #38641) (vizio docs)
- Add support for receiver and speaker device classes (@elupus - #38381) (google_assistant docs) (media_player docs)
- Met.no migrate from classic to complete endpoint (@thimic - #39493) (met docs) (breaking-change)
- Fix vizio black formatting (@MartinHjelmare - #39573) (vizio docs)
- Fix some more usages of asynctest (@balloob - #39570)
- Fix UPC ConnectBox logout and device hostnames (@ofalvai - #39568) (upc_connect docs)
- Provide a logbook option entity_matches_only to optimize for single entity lookup (@bdraco - #39555) (logbook docs)
- library version upgrade to 0.46 (@ziv1234 - #39580) (dynalite docs)
- Remove vizio test assertions for integration details in test_init (@raman325 - #39579) (vizio docs)
- Improve Yeelight code (@shenxn - #39543) (yeelight docs)
- Add get_migration_config to zwave websocket api (@cgarwood - #39577) (zwave docs) (new-integration)
- Round sensor readings for bom (@springstan - #39513)
- Reintroduce custom met.no url (@Danielhiversen - #39583) (met docs)
- Add Plex service to refresh a library (@jjlawren - #39094) (plex docs)
- Add the ability to reload rpi_gpio platforms from yaml (@Misiu - #39548) (rpi_gpio docs)
- Support reloading the group notify platform (@bdraco - #39511) (group docs) (notify docs)
- Support reloading the rest notify platform (@bdraco - #39527) (rest docs)
- Support reloading the telegram notify platform (@bdraco - #39529) (telegram docs)
- Support reloading the smtp notify platform (@bdraco - #39530) (group docs) (notify docs) (rest docs) (smtp docs)
- Support reloading mqtt yaml configuration (@bdraco - #39531) (mqtt docs)
- Fix rain retrival for OWM (@Rikorose - #39566) (openweathermap docs)
- Add Recently Added and On Deck to Plex media browser (@jjlawren - #39232) (plex docs)
- Improve tests for GIOS integration (@bieniu - #39514) (gios docs)
- Add service to scan for new Plex clients (@jjlawren - #39074) (plex docs)
- Fix wrong error message on adding a new HomematicIP Cloud AP (@SukramJ - #39599) (homematicip_cloud docs)
- Bump hass-nabucasa to 0.36.0 (@balloob - #39603) (cloud docs)
- Add support for Shelly Gas to the Shelly integration (@bieniu - #39478) (shelly docs)
- Upgrade sentry-sdk to 0.17.3 (@frenck - #39607) (sentry docs)
- Upgrade apprise to 0.8.8 (@frenck - #39606) (apprise docs)
- Expose more attributes in rejseplanen (@DarkFox - #37216) (rejseplanen docs)
- Bump pytradfri to 7.0.0, support multiple gateways (@balloob - #39609) (tradfri docs)
- Update aioswitcher to 1.2.1 (@TomerFi - #39614) (switcher_kis docs)
- Add HmIP-STV to HomematicIP Cloud (@SukramJ - #39518) (homematicip_cloud docs)
- Add troubleshooting link to error message for xiaomi_aqara (@starkillerOG - #39617) (xiaomi_aqara docs)
- Address Plex review comments (@jjlawren - #39591) (plex docs)
- Add .well-known/password-change (@balloob - #39613) (frontend docs) (http docs)
- Restart keepalive streams (@esev - #38863) (stream docs)
- Use DataUpdateCoordinator for supla (@mwegrzynek - #38921) (supla docs)
- Google assistant openclose (@elupus - #39612) (google_assistant docs)
- Clean tradfri hass data and add tests (@MartinHjelmare - #39620) (tradfri docs)
- fix black for stream (@ctalkington - #39622) (stream docs)
- Use CoordinatorEntity for supla (@ctalkington - #39621) (supla docs)
- Improve mpd media position handling (@ctalkington - #39390) (mpd docs)
- Add as_local convenience function to jinja templates (@bdraco - #39618)
- Improve sonarr sensor test (@ctalkington - #39623) (sonarr docs)
- Automatically configure HTTP auth type in ONVIF snapshots (@OnFreund - #38729) (onvif docs)
- Add device class for roku devices (@ctalkington - #39627) (roku docs)
- Update DSMR integration to import yaml to ConfigEntry (@RobBie1221 - #39473) (dsmr docs)
- Add device class to directv devices (@ctalkington - #39628) (directv docs) (directv docs)
- Add radio channel attribute to Sonos (@amelchio - #39631) (sonos docs)
- Add tests for Broadlink remotes (@felipediel - #39235) (broadlink docs)
- Bump nexia to 0.9.4 (@bdraco - #39634) (nexia docs)
- Improve broadlink sensor tests (@ctalkington - #39632) (broadlink docs)
- Add support for VeSync Fans (@TheGardenMonkey - #36132) (vesync docs) (new-platform)
- Fix Spotify scopes validation for re-auth (@frenck - #39638) (spotify docs)
- Upgrade isort to 5.5.0 (@frenck - #39639) (sense docs)
- Add new Plex movie lookup method for media_player.play_media (@jjlawren - #39584) (plex docs)
- Upgrade wled to 0.4.4 (@frenck - #39641) (wled docs)
- Fix sensors without unit attribute in Shelly integration (@bieniu - #39629) (shelly docs)
- Add payload to debug output of rest_command (@hmmbob - #39190) (rest_command docs)
- Make resilient to errors while receiving SMS (@ocalvo - #37577) (sms docs)
- Allow using environment cacert file (@bjornsnoen - #38816)
- Add devolo thermostat devices (@2Fake - #38594) (devolo_home_control docs) (new-platform)
- Fix missing assert in template test (@bdraco - #39648)
- Add some missing sensors for Shelly integration (@bieniu - #39651) (shelly docs)
- Reduce log level for Plex service call (@jjlawren - #39647) (plex docs)
- Do not treat nexia http not found as invalid auth (@bdraco - #39484) (nexia docs)
- Allow separate URL for REST switch state (@jjlawren - #39557) (rest docs)
- Media Source implementation for Chromecast (@hunterjm - #39305) (cast docs) (default_config docs) (media_finder docs) (new-integration)
- Bump brother library (@bieniu - #39657) (brother docs)
- Add unique ID to demo fan (@kbickar - #39658) (demo docs)
- Improve handling of roon radio data (@pavoni - #39659) (roon docs)
- Add Netatmo media browser support (@cgtobi - #39578) (cast docs) (default_config docs) (media_source docs) (netatmo docs) (new-integration)
- Bumping aioasuswrt version so that it have license-tag and manifest (@kennedyshead - #39654) (asuswrt docs)
- Address review comments on dsmr update to ConfigEntry (@RobBie1221 - #39662) (dsmr docs)
- Use the shared Zeroconf instance in esphome (@bdraco - #38747) (esphome docs)
- Add event sensors for risco (@OnFreund - #39594) (risco docs) (new-platform)
- Prevent mpchc from spamming logs (@ctalkington - #39663) (mpchc docs)
- Improve ozw websocket response when node is not found (@cgarwood - #39653) (ozw docs)
- Replace old source prefixing for channels with new media browser (@elupus - #39596) (philips_js docs)
- Refactor sharkiq tests (@ajmarks - #39564) (sharkiq docs)
- Add mac address to sky_hub tracker (@RogerSelwyn - #39506) (sky_hub docs)
- Updated frontend to 20200904.0 (@bramkragten - #39665) (frontend docs)
- Register media browser panel (@hunterjm - #39655) (media_source docs)
- Bump gios library (@bieniu - #39669) (gios docs)
- Bump accuweather library (@bieniu - #39667) (accuweather docs)
- Add OpenWeatherMap config_flow (@freekode - #34659) (openweathermap docs) (breaking-change)
- Improve systemmonitor (@spacegaier - #36283) (systemmonitor docs)
- Add parameters for enabling Auth in Apache Kafka integration (@inishchith - #39611) (apache_kafka docs)
- Add connection validation on import for dsmr integration (@RobBie1221 - #39664) (dsmr docs)
- Add Emulated Kasa Integration (@kbickar - #39630) (emulated_kasa docs) (sense docs) (new-integration)
- Fix monoprice option flow test (@MartinHjelmare - #39685) (monoprice docs)
- Add iSmartGate support (@vangorra - #39437) (gogogate2 docs)
- Fix for starline authorization (@Funcy-dcm - #39674) (starline docs)
- Drop UNIT_ prefix for percentage constant (@springstan - #39383)
- Use more homeassistant constants in NWS (@MatthewFlamm - #39690) (nws docs)
- Match documentation on expose being default True (@elupus - #39692) (google_assistant docs)
- Add tradfri api call error handling (@MartinHjelmare - #39681) (tradfri docs)
- Add Arcam radio media browsing (@elupus - #39593) (arcam_fmj docs)
- Improve handling of DHCP devices (@chemelli74 - #39683) (shelly docs)
- Bump pytradfri to 7.0.1 (@MartinHjelmare - #39696) (tradfri docs)
- Upgrade TensorFlow to 2.3 (@hunterjm - #39673) (tensorflow docs)
- Mock tradfri lights correctly (@MartinHjelmare - #39706) (tradfri docs)
- Bump pytradfri to 7.0.2 (@MartinHjelmare - #39707) (tradfri docs)
- Add media browser support to roku (@ctalkington - #39652) (roku docs)
- Browse media class (@balloob - #39698) (arcam_fmj docs) (media_player docs) (media_source docs) (netatmo docs) (philips_js docs) (plex docs) (roku docs) (sonos docs) (spotify docs)
- Make multi-switches device a single device with 2 switches (@chemelli74 - #39689) (shelly docs)
- Time condition can also accept an input_datetime Entity ID (@frenck - #39676)
- Add shorthand notation for Template conditions (@frenck - #39705) (automation docs)
- Update py-melissa-climate to 2.1.4 (@kennedyshead - #39708) (melissa docs)
- Bump aioshelly library to 0.3.0 (@bieniu - #39716) (shelly docs)
- Add HomeKit discovery for iSmartGate (@bdraco - #39702) (gogogate2 docs)
- Numeric state condition can also accept input_number entity ID (@frenck - #39680)
- Set log level for libav.mp4 in stream (@uvjustin - #39719) (stream docs)
- Add number parsing for OpenHardwareMonitor (@fillefilip8 - #39030) (openhardwaremonitor docs) (breaking-change)
- Update ZHA storage every 10 minutes (@dmulcahey - #39710) (zha docs)
- Add Plugwise scan_interval config option (@bouwew - #37229) (plugwise docs)
- Bump zeroconf to resolve a performance issue with the cache reaper (@bdraco - #39713) (zeroconf docs)
- Fix media browser panel title (@spacegaier - #39720) (media_source docs)
- Fix setup of ONVIF devices without snapshot capability (@scop - #39723) (onvif docs)
- Spotify browser add more sources (@bramkragten - #39296) (media_player docs) (spotify docs)
- Add domain filter support to async_all to match async_entity_ids (@bdraco - #39725) (humidifier docs) (light docs) (owntracks docs)
- Axis - Improve naming of some events (@Kane610 - #39699) (axis docs) (breaking-change)
- Add hassfest requirements validation (@MartinHjelmare - #39329)
- Fix some missing ozw sensors (@firstof9 - #39686) (ozw docs)
- State condition can also accept an input_* Entity ID as state value (@frenck - #39691)
- allow creating directories from camera snapshot, stream record, and tensorflow file out (@hunterjm - #39728) (camera docs) (stream docs) (tensorflow docs)
- Set DEVICE_CLASS_GATE for iSmartGate gates (@bdraco - #39703) (gogogate2 docs)
- Add unique_id to jewish_calendar entities (@ajmarks - #39025) (jewish_calendar docs)
- Improve climate support for fibaro (@pbalogh77 - #39038) (fibaro docs)
- Fix handling of device registry defaults (@emontnemery - #39688)
- Update ZHA dependencies (@Adminiuga - #39700) (zha docs)
- Remove ozw lock service for loops, replace with get_value() (@firstof9 - #39735) (ozw docs)
- Optimize template sandbox for Home Assistant (@bdraco - #39731)
- Bump pyskyqhub to 0.1.3 (@RogerSelwyn - #39739) (sky_hub docs)
- Upgrade isort to 5.5.1 (@frenck - #39737)
- Make Sonos use BrowseMedia (@cgtobi - #39742) (sonos docs)
- Bump Plugwise_Smile from 1.1.0 to 1.4.0 (@CoMPaTech - #39726) (plugwise docs)
- Fix cast media player browser (@bramkragten - #39745) (cast docs)
- Rework Shelly sensors (@balloob - #39747) (shelly docs)
- Improve Plugwise config_options testing (@CoMPaTech - #39736) (plugwise docs)
- Add devolo current and total consumption to sensors (@2Fake - #38386) (devolo_home_control docs)
- Add devolo remote devices as binary sensors (@2Fake - #39105) (devolo_home_control docs)
- Add device action support for remotes (@ctalkington - #39400) (remote docs)
- Support state trigger with from/for but no to (@amelchio - #39480) (homeassistant docs)
- Retry tado setup later when cloud service is unavailable (@bdraco - #39748) (tado docs)
- Support ‘for’ without setting the ‘to’-state in automation state triggers (@frenck - #39730) (homeassistant docs)
- Fix netatmo browse_media return type (@MartinHjelmare - #39751) (netatmo docs)
- Ensure static templates are still called back on first refresh (@bdraco - #39753)
- Support color temperature (@Misiu - #39743) (shelly docs)
- Increase test coverage for template sandbox (@bdraco - #39750)
- Make Spotify library payload use “BrowseMedia” (@spacegaier - #39744) (spotify docs)
- Remove remaining and add finishes_at attributes from timer (@IcyPalm - #37519) (timer docs) (breaking-change)
- Add Kodi media browser support (@cgtobi - #39729) (kodi docs)
- Timer make attribute format always h:mm:ss (@bramkragten - #38292) (timer docs) (breaking-change)
- Update pykodi to 0.1.2 (@OnFreund - #39758) (kodi docs)
- Add missing MENU option for webos.button service (@basnijholt - #39746) (webostv docs)
- Don’t poll entities for unavailable ZHA devices (@dmulcahey - #39756) (zha docs)
- Local media source: return different error if media folder doesnt exist (@bramkragten - #39759) (media_source docs)
- Force token expires_in to float (@timmo001 - #39489)
- Update frontend to 20200907.0 (@bramkragten - #39761) (frontend docs)
- Clean up spotify media browser dict access (@MartinHjelmare - #39764) (spotify docs)
- Fix plex browse media (@MartinHjelmare - #39766) (plex docs)
- Support shelly cover(roller) mode (@chemelli74 - #39711) (shelly docs) (beta fix) (new-platform)
- Guard for spotify items without type (@balloob - #39795) (spotify docs) (beta fix)
- Add media class browse media attribute (@MartinHjelmare - #39770) (beta fix)
- Add the ability to reload bayesian platforms from yaml (@bdraco - #39771) (bayesian docs) (beta fix)
- Remove invalidation version from panel_custom (@frenck - #39782) (panel_custom docs) (beta fix)
- Restore miflora now that v0.7.0 is out (@basnijholt - #39787) (miflora docs) (beta fix)
- Fix Sonos issue (@cgtobi - #39790) (sonos docs) (beta fix)
- Copy instead of deepcopy the variables in a wait for trigger (@balloob - #39796) (beta fix)
- Some shelly fixes (@balloob - #39798) (shelly docs) (beta fix)
- Remove HTML support from frontend (@balloob - #39799) (frontend docs) (breaking-change) (beta fix)
- Remove deprecated Hue configuration (@frenck - #39800) (hue docs) (beta fix)
- Bump pydelijn to 0.6.1 (@Emilv2 - #39802) (delijn docs) (beta fix)
- Fix cover template entities honoring titlecase True/False (@bdraco - #39803) (template docs) (beta fix)
- Restore missing device_class to template binary_sensor (@bdraco - #39805) (template docs) (beta fix)
- Fix isy994 send_node_command (@bdraco - #39806) (isy994 docs) (beta fix)
- Fix MQTT light value template (@emontnemery - #39820) (mqtt docs) (beta fix)
- Update frontend to 20200908.0 (@bramkragten - #39824) (frontend docs) (beta fix)
- Avoid failing when hub does not provide cover position information (@Franchie - #39826) (hunterdouglas_powerview docs) (beta fix)
- Add missing sensors after reworking sensor platform in Shelly integration (@bieniu - #39765) (shelly docs) (beta fix)
- Fix Kodi media browser (@cgtobi - #39829) (kodi docs) (beta fix)
- Fix nzbget sensors (@ctalkington - #39833) (nzbget docs) (beta fix)
- Fix Kodi media browser (@cgtobi - #39840) (kodi docs) (beta fix)
- Make spotify media class lookup more robust (@MartinHjelmare - #39841) (spotify docs) (beta fix)
- Use correct URL for Fitbit callbacks (@colinfrei - #39823) (fitbit docs) (beta fix)
- Use a unique id for each icmplib ping to avoid mixing unrelated responses (@bdraco - #39830) (ping docs) (beta fix)
- Updated warning_device_warn (@martin3000 - #39851) (zha docs) (beta fix)
- Sort Local Media Source and fix media class (@hunterjm - #39858) (media_source docs) (beta fix)
- Update ZHA dependency (@Adminiuga - #39862) (zha docs) (beta fix)
- Remove media class apps and channels (@MartinHjelmare - #39864) (media_player docs) (media_source docs) (philips_js docs) (roku docs) (beta fix)
- Improve Roku media browser structure (@ctalkington - #39754) (roku docs) (beta fix)
- Add exception for NoURLAvailableError in OAuth2FlowHandler (@ludeeus - #39845) (spotify docs) (beta fix)
- Install stdlib-list in script/bootstrap (@balloob - #39866) (beta fix)
- Disable Met.no hourly weather by default (@frenck - #39867) (met docs) (beta fix)
- Updated frontend to 20200909.0 (@ludeeus - #39869) (frontend docs) (beta fix)
- Bump pysmappee to 0.2.13 (@bsmappee - #39883) (smappee docs) (beta fix)
- Fix event trigger (@balloob - #39884) (homeassistant docs) (beta fix)
- Bump hass-nabucasa 0.37.0 (@pvizeli - #39885) (cloud docs) (beta fix)
- Shelly switch to guard for shelly 2 in roller mode (@balloob - #39886) (shelly docs) (beta fix)
- Fix spotify media browser category (@bramkragten - #39888) (spotify docs) (beta fix)
- Fix issue with grpcio build on 32bit arch (@pvizeli - #39893) (beta fix)
- Add default variables to script helper (@balloob - #39895) (automation docs) (script docs) (beta fix)
- Detect self-referencing loops in template entities and log a warning (@bdraco - #39897) (template docs) (beta fix)
- Fix ping log level to be debug instead of warning (@bdraco - #39900) (ping docs) (beta fix)
- Fix discovery update of MQTT state templates (@emontnemery - #39901) (mqtt docs) (beta fix)
- Limit zeroconf discovery to name/macaddress when provided (@bdraco - #39877) (axis docs) (brother docs) (doorbird docs) (shelly docs) (smappee docs) (zeroconf docs) (beta fix)
- Warn users if KNX has no devices configured (@marvin-w - #39899) (knx docs) (beta fix)
- Add children media class (@MartinHjelmare - #39902) (beta fix)
- Disable audio for HLS or mpegts input (@uvjustin - #39906) (stream docs) (beta fix)
- Don’t trigger on attribute when the attribute doesn’t change (@basnijholt - #39910) (homeassistant docs) (beta fix)
- Extract variable rendering (@balloob - #39934) (automation docs) (script docs) (beta fix)
- Set variable values in scripts (@thomasloven - #39915) (beta fix)
- Bump aioshelly to 0.3.1 (@balloob - #39917) (shelly docs) (beta fix)
- Prevent missing integration from failing HomeKit startup (@bdraco - #39918) (homekit docs) (beta fix)
- Update zeroconf to 0.28.5 (@bdraco - #39923) (zeroconf docs) (beta fix)
- Accept known hosts for get_url for OAuth (@frenck - #39936) (beta fix)
- Handle Kodi shutdown (@OnFreund - #39856) (kodi docs) (beta fix)
- Bump pyloopenergy library to 0.2.1 (@pavoni - #39919) (loopenergy docs) (beta fix)
- Return the listeners with the template result for the websocket api (@bdraco - #39925) (websocket_api docs) (beta fix)
- Fix missing position attribute for MeteoFranceAlertSensor (@Quentame - #39938) (meteo_france docs) (beta fix)
- Change template loop detection strategy to allow self-referencing updates when there are multiple templates (@bdraco - #39943) (template docs) (beta fix)
- Set output timescale to input timescale (@uvjustin - #39946) (stream docs) (beta fix)
- Add children media class to children spotify media browser (@bramkragten - #39953) (spotify docs) (beta fix)
- Remove skip_sidx container option in stream (@uvjustin - #39970) (stream docs) (beta fix)
- Fix children_media_class for special folders (@jjlawren - #39974) (plex docs) (beta fix)
- Bump frontend to 20200912.0 (@ludeeus - #39997) (frontend docs) (beta fix)
- Bump androidtv to 0.0.50 (@JeffLIrion - #39998) (androidtv docs) (beta fix)
- Fix Freebox call sensor when no call in history (@Quentame - #40001) (freebox docs) (beta fix)
- Bump pyhaversion to 3.4.0 (@ludeeus - #40016) (version docs) (beta fix)
- Suppress homekit bridge discovery by homekit controller (@bdraco - #39990) (homekit_controller docs) (beta fix)
- Fix requiring username or password for nzbget yaml config (@springstan - #40003) (nzbget docs) (beta fix)
- Add tests for Plugwise integration (@CoMPaTech - #36371) (plugwise docs) (beta fix)
- Ensure Plugwise unique_id is correctly set (@bouwew - #40014) (plugwise docs) (beta fix)
- Improve handling of mireds being far out of spec (@Kane610 - #40018) (deconz docs) (beta fix)
- Do not log an error when a host is unreachable while pinging (@bdraco - #40024) (ping docs) (beta fix)
- Fix slack notifications requiring an icon (@springstan - #40027) (slack docs) (beta fix)
- Ensure homekit_controller traps exceptions from find_ip_by_device_id (@bdraco - #40030) (homekit_controller docs) (beta fix)
- Fix entity extraction from Template conditions (@frenck - #40034) (beta fix)
- Speedtestdotnet - use server name to generate server list (@r4nd0mbr1ck - #39775) (speedtestdotnet docs) (beta fix)
- Update gogogate2-api to 2.0.2 (@bdraco - #40010) (gogogate2 docs) (beta fix)
- Fix ecobee weather forcast off by 1 bug (@b3nj1 - #40048) (ecobee docs) (beta fix)
- Correct devolo climate devices (@2Fake - #40061) (devolo_home_control docs) (beta fix)
- Fix default forecast mode OpenWeatherMap (@freekode - #40062) (openweathermap docs) (beta fix)
- Bump aiohomekit version (regression fix) (@Jc2k - #40064) (homekit_controller docs) (beta fix)
- Update docker base image to 8.4.0 (@pvizeli - #40066) (beta fix)
- Fix tag last scanned serialization (@balloob - #40067) (tag docs) (beta fix)
- Fix netatmo media browser of outdoor events (@cgtobi - #40079) (netatmo docs) (beta fix)
- Increase TIMEOUT_ACK to 2s (@emontnemery - #40080) (mqtt docs) (beta fix)
- Update ZHA dependency (@Adminiuga - #40083) (zha docs) (beta fix)
- Check Sonos for local library before browsing (@cgtobi - #40085) (sonos docs) (beta fix)
- Convert color temperature to hue and saturation for HomeKit (@bdraco - #40089) (homekit docs) (beta fix)
- Update frontend to 20200915.0 (@bramkragten - #40101) (frontend docs) (beta fix)
- Address error in SQL query (@dgomes - #39939) (sql docs) (beta fix)
- Add media dirs core configuration (@frenck - #40071) (media_source docs) (breaking-change) (beta fix)
- Guard both Shelly 2 & Shelly 2.5 in roller mode (@thecode - #40086) (shelly docs) (beta fix)
- Remove the unnecessary prefix from the sensor names in the Shelly integration (@bieniu - #40097) (shelly docs) (beta fix)
- Increase TIMEOUT_ACK to 10s (@springstan - #40117) (mqtt docs) (beta fix)
- Bump aioshelly library to version 0.3.2 (@bieniu - #40118) (shelly docs) (beta fix)
- Allow ESPHome to trigger the HA tag scanned event (@jesserockz - #40128) (esphome docs) (beta fix)
- Use device name stored in device_info for tag scan in ESPHome (@jesserockz - #40130) (esphome docs) (beta fix)
- Guard for when Yandex Transport data fetching fails (@balloob - #40131) (yandex_transport docs) (beta fix)
- Fix ESPHome scan tag device ID (@balloob - #40132) (esphome docs) (beta fix)
- Fix scene validator (@balloob - #40140) (homeassistant docs) (beta fix)
- Fix missing f from f-strings in cast integration (@frenck - #40144) (cast docs) (beta fix)
- Fix local media browser source conflicting with local www folder (@frenck - #40151) (media_source docs) (beta fix)
- Update frontend to 20200916.0 (@bramkragten - #40153) (frontend docs) (beta fix)
- Check mpd time type before splitting it (@ctalkington - #40139) (mpd docs) (beta fix)
- Fix luci device_tracker not reliably reporting home/away state (@cagnulein - #40160) (luci docs) (beta fix)
- Update pyhaversion to 3.4.2 (@ludeeus - #40161) (version docs) (beta fix)
- Updated frontend to 20200917.1 (@bramkragten - #40170) (frontend docs) (beta fix)
- Fix editing tags only get isoformat from datetime (@bramkragten - #40174) (tag docs) (beta fix)
- Add missing conext preservation to bayesian and universal (@bdraco - #40178) (bayesian docs) (universal docs) (beta fix)