0.63: Entity Registry, SQL Sensor, Mercedes cars
Date set for dropping Python 3.4 support
As announced in October, we’re going to drop Python 3.4 support in 2018. We’ve now decided that in two releases, 0.65, the minimum Python version that will be supported is bumped to 3.5.3. This won’t impact most users. You are already fine if you’re using Hass.io, the latest Debian stable (Stretch) or a derivative of that (Raspbian, Ubuntu).
Entity Registry
This release introduces the entity registry. The entity registry allows integrations to reserve entity IDs. This means that we’ll automatically grant an entity ID to a device. It’s reserved so that no other device will ever get that entity ID. It also means that as a user, you will be able to customize the entity IDs for these devices.
For an integration to leverage the entity registry, it needs to define a unique ID for each of their entities. A unique ID is something that we can uniquely identify the device and that is not configurable. So a serial number and mac address are ok, IP addresses or names are not.
Examples of integrations that have unique IDs defined in this release are Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV.
To update the entity ID that will be assigned to your device, update <config>/entity_registry.yaml
and restart Home Assistant (reloading on the fly is planned for a future release).
The entity registry will assign an entity ID the first time that a device is seen. This should be the same entity ID as it always was before. If this is not the case, update the registration entity to change it back to the old entity ID.
We’re planning a lot of cool stuff around the entity registry. Stay tuned!
New Platforms
- Adds allergy/disease sensor platform from Pollen.com (@bachya - #11573) (sensor.pollen docs) (new-platform)
- Add Goalfeed platform (@wardcraigj - #11098) (goalfeed docs) (new-platform)
- Add Melissa (HVAC/climate) component (@kennedyshead - #11503) (melissa docs) (sensor.melissa docs) (new-platform)
- Mediaroom (@dgomes - #11864) (media_player.mediaroom docs) (new-platform)
- Add Xiaomi Universal IR Remote (Chuangmi IR) (@cnrd - #11891) (remote.xiaomi_miio docs) (new-platform)
- SQL sensor (@dgomes - #12142) (sensor.sql docs) (new-platform)
- Add Mercedes me component (@ReneNulschDE - #11743) (new-platform)
Release 0.63.1 - February 12
- Fix Alexa Step Volume (@lucasweb78 - #12314) (alexa docs)
- Remove unique ID from netatmo (@balloob - #12317) (binary_sensor.netatmo docs) (camera.netatmo docs) (sensor.netatmo docs)
- Allow overriding name via entity registry (@balloob - #12292)
- Respect entity namespace for entity registry (@balloob - #12313)
- Fix Report State for Alexa Brightness Controller (@lucasweb78 - #12318) (alexa docs)
- Always return lockState == LOCKED when handling Alexa.LockController (@lucasweb78 - #12328) (alexa docs)
- Fix platform dependencies (@balloob - #12330)
Release 0.63.2 - February 14
- Fix MercedesMe - add check for unsupported features (@ReneNulschDE - #12342) (mercedesme docs) (binary_sensor.mercedesme docs) (device_tracker.mercedesme docs) (sensor.mercedesme docs)
- Fix WUnderground names (@OttoWinter - #12346) (sensor.wunderground docs)
- Updated beacontools (@citruz - #12368) (sensor.eddystone_temperature docs)
- Introduce zone_id to identify player+zone (@sdague - #12382) (media_player.yamaha docs)
- Downgrade limitlessled to 1.0.8 (@amelchio - #12403) (light.limitlessled docs)
Release 0.63.3 - February 17
- python-miio version bumped. (Closes: #12389, Closes: #12298) (@syssi - #12392) (fan.xiaomi_miio docs) (light.xiaomi_miio docs) (remote.xiaomi_miio docs) (switch.xiaomi_miio docs) (vacuum.xiaomi_miio docs)
- Fixed 3 small issues in isy994 component (@OverloadUT - #12421) (isy994 docs)
- Reduce the load on met.no servers, yr.no sensor (@danielhiversen - #12435) (sensor.yr docs)
- Fix for contentRating error (@ryanm101 - #12445) (media_player.plex docs)
- Fix light template to return brightness as int (@andrey-git - #12447) (light.template docs)
- Optimize recorder purge (@amelchio - #12448)
- [SQL Sensor] always close session (@dgomes - #12452) (sensor.sql docs)
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.
Reporting Issues
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
- updated sensor name (@philklei - #12084) (sensor.tahoma docs) (breaking change)
- Originally Canary camera is added per location and only displays an image that was captured due to motion. Now it is per device (each location can have multiple devices) with live stream support. (@snjoetw - #11949) (canary docs) (camera.canary docs) (breaking change)
- Avoid influxdb filling connection pool: The influxdb
retry_queue_limit
configuration variable no longer has any effect and can be removed. (@amelchio - #12182) (influxdb docs) (breaking change) - Some spelling mistakes in default entity names have been fixed in (@OttoWinter - #12041). This is causing these
entity_id
changes:- Seven segments display:
image_processing.seven_segement_ocr_[...]
→image_processing.seven_segment_ocr_[...]
- Rain Bird Switch:
switch.sprinker_[...]
→switch.sprinkler_[...]
- OpenEVSE Sensor:
sensor.ambient_termperature
→sensor.ambient_temperature
- Fido:
sensor.[...]_internaltional_remaining
→sensor.[...]_international remaining
- Seven segments display:
- From version 0.64, Home Assistant will by default purge recorded state history that is older than 10 days. If you want to keep your recorded data for longer than that, you must configure the number of days to retain:
recorder: purge_keep_days: 30
If you want to keep the previous default of never deleting history, use this configuration:
recorder: purge_interval: 0
-
Fix duplicate entity_ids in System Monitor (@fanaticDavid - #12124) (sensor.systemmonitor docs) (breaking change)
Resource Old Entity ID New Entity ID disk_use sensor.disk_used sensor.disk_use disk_use_percent sensor.disk_used sensor.disk_use_percent load_15m sensor.average_load_15m sensor.load_15m load_1m sensor.average_load_1m sensor.load_1m load_5m sensor.average_load_5m sensor.load_5m memory_free sensor.ram_available sensor.memory_free memory_use sensor.ram_used sensor.memory_use memory_use_percent sensor.ram_used sensor.memory_use_percent network_in sensor.received sensor.network_in network_out sensor.sent sensor.network_out packets_in sensor.packets_received sensor.packets_in packets_out sensor.packets_sent sensor.packets_out processor_use sensor.cpu_used sensor.processor_use swap_use sensor.swap_used sensor.swap_use swap_use_percent sensor.swap_used sensor.swap_use_percent - Developers only: Following EntityComponent methods have been removed:
extract_from_service
,async_update_group
,async_reset
,prepare_reload
(@balloob - #12237) (breaking change)
All changes
- Map media_stop to idle state (@akloeckner - #11819)
- Adds allergy/disease sensor platform from Pollen.com (@bachya - #11573) (sensor.pollen docs) (new-platform)
- check_config.py: allow colorlog==3.1. (@dotlambda - #11927)
- Weblink - Allow relative urls in config (@ReneNulschDE - #11808) (weblink docs)
- Panel_Iframe - Allow relative urls in config (@ReneNulschDE - #11832) (panel_iframe docs)
- Python 3.6 invalid escape sequence deprecation fixes (@scop - #11941)
- tests: Use assertEqual instead of deprecated assertEquals (@scop - #11943)
- huawei_router: Fix documentation link (@scop - #11961) (device_tracker.huawei_router docs)
- Spelling fixes (@scop - #11940)
- Upgrade sqlalchemy to 1.2.2 (@fabaff - #11956)
- Upgrade youtube_dl to 2018.01.21 (@fabaff - #11955) (media_extractor docs)
- Upgrade sphinx-autodoc-typehints to 1.2.4 (@fabaff - #11954)
- Upgrade coinmarketcap to 4.2.1 (@fabaff - #11953) (sensor.coinmarketcap docs)
- Bump dev to 0.63.0.dev0 (@fabaff - #11952)
- Update xiaomi_aqara.py (@MGWGIT - #11969) (sensor.xiaomi_aqara docs)
- panasonic_viera: Set device name from discovery info (@scop - #11990) (media_player.panasonic_viera docs)
- Update panasonic_viera to 0.3 (@scop - #11989) (media_player.panasonic_viera docs)
- Fix 11982 - uvc don’t handle null as username (@bratanon - #11984) (camera.uvc docs)
- Add Goalfeed platform (@wardcraigj - #11098) (goalfeed docs) (new-platform)
- Added support for hourly percent change in coinmarketcap component (@kevindgoff - #11996) (sensor.coinmarketcap docs)
- Upgrade coinbase to 2.0.7 (@fabaff - #11992) (coinbase docs) (sensor.coinbase docs)
- Upgrade pyota to 2.0.4 (@fabaff - #11991) (iota docs)
- Fixed Canary temperature sensor and remapped air quality value (@snjoetw - #11355) (canary docs) (sensor.canary docs)
- Refactor Alexa Smart Home API (@bitglue - #12016) (alexa docs)
- Report states (@bitglue - #11973) (alexa docs)
- alexa: Add media_player InputController support (@philk - #11946) (alexa docs)
- emulated_hue: allow customization within emulated_hue configuration (@jackwilsdon - #11981) (emulated_hue docs)
- Flake8 35 (@scop - #11972) (feedreader docs) (spc docs) (media_player.bluesound docs) (media_player.clementine docs) (sensor.fritzbox_callmonitor docs) (sensor.qnap docs) (sensor.synologydsm docs)
- Typing fixes (@scop - #12015)
- Fix DoorBird push notifications for installations with an API password (@Klikini - #12020) (doorbird docs)
- Bump upstream lib version. (@Cinntax - #12021) (climate.venstar docs)
- sensor.deutsche_bahn: add only_direct option (@akloeckner - #11999) (sensor.deutsche_bahn docs)
- Fix MQTT cover availability subscription (@OttoWinter - #12036) (cover.mqtt docs)
- Spelling fixes (@OttoWinter - #12041) (breaking change)
- Online state for samsungtv is jumping when TV is idle (@kennedyshead - #11998) (media_player.samsungtv docs)
- Upgrade astral to 1.5 (@fabaff - #12042)
- Refactor alexa smart_home tests (@bitglue - #12044)
- Handling of payload not for this entity. (@freol35241 - #11836) (binary_sensor.mqtt docs)
- Refactor Google Assistant query_device (@philk - #12022) (google_assistant docs)
- Entity registry (@balloob - #11979) (group docs) (climate.nest docs)
- Return all attributes that are not None in base lock entity class (@snjoetw - #12049) (lock docs)
- Extract requirements (@balloob - #12051)
- Prepare for recorder purge to be active by default (@amelchio - #11976) (breaking change)
- Bumped up pymochad requirement to 0.2.0 as a fix for #11928 (@aosadchyy - #12014) (mochad docs)
- Publish errors on the event bus (@postlund - #11964) (system_log docs)
- Unique ID for LIFX lights (@amelchio - #12064) (light.lifx docs)
- Deconz use entity registry (@Kane610 - #12067) (deconz docs) (binary_sensor.deconz docs) (light.deconz docs) (sensor.deconz docs)
- Flake8 bugbear fixes (@scop - #12072) (plant docs) (rfxtrx docs) (zwave docs) (climate.heatmiser docs) (media_player.plex docs) (notify.kodi docs)
- Fix demo platform support (@ciotlosm - #12070)
- fix event channel name (@wardcraigj - #12077) (goalfeed docs)
- fixed timestamp problem in firefox (@escoand - #12073) (weather.openweathermap docs)
- Handle more file closing using context manager (@scop - #11942) (light.greenwave docs) (notify.gntp docs) (sensor.onewire docs)
- Influx import improvements (@RePeet13 - #11988)
- Set flux default stop time to dusk (@infernix - #12062) (switch.flux docs)
- Add conditions to forecast (@escoand - #12074) (weather.openweathermap docs)
- Squeezebox Fix duplicate server from discovery (@mezz64 - #12063) (media_player.squeezebox docs)
- Upgrade keyring to 11.0.0 (@fabaff - #12082)
- Correct use of middleware async handling. (@pelson - #12078) (http docs)
- updated sensor name (@philklei - #12084) (sensor.tahoma docs) (breaking change)
- Fix detection of mobile browsers (@c727 - #12075) (frontend docs)
- update tahoma api to version 0.0.11 (@philklei - #12099) (tahoma docs)
- added media_stop (@jodur - #12100) (media_player.vlc docs)
- Goalfeed channel (@wardcraigj - #12086) (goalfeed docs)
- Update jinja2 to 2.10 (@arsaboo - #12118)
- Downgrade Sonarr and Radarr ‘Host is not avaliable’ errors to warnings (@timmo001 - #12119) (sensor.radarr docs) (sensor.sonarr docs)
- Fixes away_mode error on startup (@ciotlosm - #12121) (climate.generic_thermostat docs)
- except vol.MultipleInvalid in Broadlink #11795 (@danielhiversen - #12107) (sensor.broadlink docs)
- Adds SUPPORT_TARGET_TEMPERATURE_HIGH and SUPPORT_TARGET_TEMPERATURE_LOW support (@hawk259 - #12110) (climate.ecobee docs)
- Dark sky precip accumulation (@nordlead2005 - #12127) (sensor.darksky docs)
- fixed wrong check for valid range of ‘rgb’ values (@PaulAnnekov - #12132) (light.xiaomi_aqara docs)
- OpenALPR Cloud API - transfer image in body of POST request (@ReneNulschDE - #12112) (image_processing.openalpr_cloud docs)
- Add support for “off” function to iTunes (@lexam79 - #12109) (media_player.itunes docs)
- Remove asyncio.test_utils to fix tests in Docker/Python 3.7 (@ubnt-marc-khouri - #12102)
- Add Mercedes me component (@ReneNulschDE - #11743)
- Spelling fixes (@scop - #12138) (plant docs) (switch.pulseaudio_loopback docs)
- Update volumio component (@titilambert - #12045) (media_player.volumio docs)
- Adding information about current TV channel to WebOS media player (@led-spb - #11339) (media_player.webostv docs)
- Fix #8475 device tracker ubus tracks unauthenticated and unassociated devices (@aarnaud - #12140) (device_tracker.ubus docs)
- Fix #11875 Ubus broken since upgrade to 0 57 (@aarnaud - #12141) (device_tracker.ubus docs)
- Update flake8-docstrings to 1.0.3 (@scop - #12136)
- Tado fixes (@NigelRook - #11294) (tado docs) (climate.tado docs)
- Add Melissa (HVAC/climate) component (@kennedyshead - #11503) (melissa docs) (sensor.melissa docs) (new-platform)
- Mediaroom (@dgomes - #11864) (media_player.mediaroom docs) (new-platform)
- Upgrade mutagen to 1.40.0 (@fabaff - #12152) (tts docs)
- Upgrade TwitterAPI to 2.4.8 (@fabaff - #12148) (notify.twitter docs)
- fix generic_thermostat bug when restore state from HA start up (@crhan - #12134) (climate.generic_thermostat docs)
- Adding xy_color attribute support to deconz lights (@ErnstEeldert - #12106) (light.deconz docs)
- update python-openzwave to 4.1.3 (@perosb - #12057) (zwave docs)
- Panasonic viera new services (@dgomes - #11963) (media_player docs) (media_player.panasonic_viera docs)
- [Mediaroom media_player] Follow up on PR #11864 (@dgomes - #12155) (media_player.mediaroom docs)
- Tests for samsungtv (@kennedyshead - #11933)
- Upgrade influxdb to 5.0.0 (@fabaff - #12156) (influxdb docs)
- add delay_arrival (@akloeckner - #12169) (sensor.deutsche_bahn docs)
- Move TP-Link socket LED state setting to update() (@DanNixon - #12170) (switch.tplink docs)
- Upgrade schiene to 0.21 (@fabaff - #12176) (sensor.deutsche_bahn docs)
- python-miio version bumped. Fixes all xiaomi_miio components. (Closes: #12017, Closes: #11948, Closes: #11200) (@syssi - #12188) (fan.xiaomi_miio docs) (light.xiaomi_miio docs) (switch.xiaomi_miio docs) (vacuum.xiaomi_miio docs)
- Services (small_pr)(fix): Added missing return on data template error (@tschmidty69 - #12184)
- fix ecobee is_aux_heat_on property (@titilambert - #12186) (climate.ecobee docs)
- Upgrade pytouchline to 0.7 (@tbergo - #12179) (climate.touchline docs)
- Canary live stream (@snjoetw - #11949) (canary docs) (camera.canary docs) (breaking change)
- Replace Gitter with Discord (@fabaff - #12199)
- Upgrade Sphinx to 1.6.7 (@fabaff - #12200)
- Change attributes in new Mercedes Me component (@ReneNulschDE - #12147) (mercedesme docs) (binary_sensor.mercedesme docs) (device_tracker.mercedesme docs) (sensor.mercedesme docs)
- Binary Sensor Template: Add icon_template and entity_picture_template support (@hawk259 - #12158) (binary_sensor.template docs)
- Bump pyeconet version to fix JSONDecodeError (@w1ll1am23 - #12204) (climate.econet docs)
- Add support for Alexa.StepSpeaker (@lucasweb78 - #12183) (alexa docs)
- Upgrade wakeonlan to 1.0.0 (@Tadly - #12190) (wake_on_lan docs) (media_player.panasonic_viera docs) (media_player.samsungtv docs) (media_player.webostv docs) (switch.wake_on_lan docs)
- zha: Update to bellows 0.5.0+zigpy (@rcloran - #12187) (zha docs) (binary_sensor.zha docs) (light.zha docs) (sensor.zha docs)
- Make waterfurnace recovery more robust (@sdague - #12202) (waterfurnace docs)
- Much nicer icon (@lance36 - #12212) (vacuum.xiaomi_miio docs)
- Properly handle thresholds of zero (@DanNixon - #12175) (binary_sensor.threshold docs)
- zha: Add support for XBee radios (@rcloran - #12205) (zha docs) (binary_sensor.zha docs)
- Fix clear playlist in Volumio component (@titilambert - #12173) (media_player.volumio docs)
- Add Xiaomi Universal IR Remote (Chuangmi IR) (@cnrd - #11891) (remote.xiaomi_miio docs) (new-platform)
- Fix Xeoma camera platform to allow different admin/viewer credentials (@jeradM - #12161) (camera.xeoma docs)
- Xiaomi MiIO Light: Brightness mapping improved (@syssi - #12203) (light.xiaomi_miio docs)
- Fixes according to review from @MartinHjelmare Thank you. (@kennedyshead - #12171) (climate.melissa docs) (sensor.melissa docs)
- Fix logger bug on Windows: path contains ‘'. (@fanthos - #12197) (system_log docs)
- Catch concurrent.futures.CancelledError in websocket code. (@pelson - #12150) (websocket_api docs)
- Update pushsafer.py (@appzer - #11466) (notify.pushsafer docs)
- Add wake on lan capability to philips TV (@frog32 - #12065) (media_player.philips_js docs)
- Specify the minimum python version in the setup.py. (@pelson - #12144)
- Return of entity_id in template platforms (@amelchio - #12234) (binary_sensor.template docs) (cover.template docs) (light.template docs) (sensor.template docs) (switch.template docs)
- Allow zero purge_interval to disable recorder purge (@amelchio - #12220)
- Update min js=latest version (@andrey-git - #12091) (frontend docs)
- librouteros version bump (@zabuldon - #12227) (device_tracker.mikrotik docs)
- SQL sensor (@dgomes - #12142) (sensor.sql docs) (new-platform)
- Fixes for tesla. New sensors. (@zabuldon - #12225) (tesla docs) (sensor.tesla docs)
- Entity layer cleanup (@balloob - #12237) (breaking change)
- [SMALL PATCH] Sql sensor (@dgomes - #12242) (sensor.sql docs)
- Set tahoma cover update interval to default (@bakedraccoon - #12232) (cover.tahoma docs)
- Avoid influxdb filling connection pool (@amelchio - #12182) (influxdb docs) (breaking change)
- Force update support for mqtt binary sensor (@mkfink - #12092) (binary_sensor.mqtt docs)
- Added password mode to input_text (obscure content of text box) (@covrig - #11849) (input_text docs) (sensor.xiaomi_aqara docs)
- Fix cover service description (@cdce8p - #12243)
- Add explicit first-time config for new purge_keep_days default (@amelchio - #12246)
- added more debug logging for sensor.alpha_vantage (@ChristianKuehnel - #12249) (sensor.alpha_vantage docs)
- Add Service Schema to Broadlink Switch (@maddox - #12253) (switch.broadlink docs)
- Update aiohttp 2.3.10 / yarl 1.1.0 (@pvizeli - #12244)
- Fix source code using Windows newline (@OttoWinter - #12248)
- miflora - fix for exception handling bug (@ChristianKuehnel - #12149) (sensor.miflora docs)
- Update pyhomematic to 0.1.39 (@danielperna84 - #12265) (homematic docs)
- Update owntracks.py (@luca-angemi - #12260) (device_tracker.owntracks docs)
- Fix for iTunes media player not updating artwork (@lexam79 - #12089) (media_player.itunes docs)
- Fix duplicate entity_ids in System Monitor (@fanaticDavid - #12124) (sensor.systemmonitor docs) (breaking change)
- One bug fix and one improvement to the statistics sensor. (@glance- - #12259) (sensor.statistics docs)
- allow wildcards in subscription (@escoand - #12247) (device_tracker.mqtt docs)
- Retry keyset cloud (@balloob - #12270) (cloud docs)
- Update limitlessled requirement to v1.0.9 (@vaceslav - #12275) (light.limitlessled docs)