0.93: Essent, AmbiClimate, VS Code debugging

It’s time for our 0.93 release and it is a whopping cool one. It’s a day later than usual as I am travelling. Frenck streams his work on Home Assistant / Hass.io each Tuesday and Friday, and last Tuesday I decided to surprise him and visit his house during the stream 😛. We ended up talking about everything Home Assistant with the viewers for over 3 hours. For the full conversation, check out Frenck’s blog. Clip of me walking into the stream:

Last week we also wrote about our updated plans for Home Assistant for this year. If you haven’t read it yet, worth the read!

If you are a Nest user, we have some sad news: Google announced that they are shutting down the Nest API at the end of August. This will cause Nest hardware to no longer work with Home Assistant (╯°□°)╯︵ ┻━┻

As always, this release is accompanied by a new episode of the Home Assistant podcast. Rohan and Phil discuss the new release, the Nest API and a lot more. This episode is their 50th episode already, congratulations on this milestone!

Home Assistant 1.0

As we mentioned in our updated plans post, we’re working hard on Home Assistant 1.0. Over the next releases we will work on polishing the UI, the backend architecture, and everything in between.

One of the new things that we introduced is a new step in our onboarding allowing users to set up integrations. We will automatically highlight discovered integrations. Once the user finishes the onboarding flow, entities will be automatically grouped by the areas that they are in. Neat!

We’ve also been working on polishing parts of our config UI. The automation editor will now show all automations, the last time they got triggered, and allow users to enable/disable them.

Screenshot of the updated automation editor.

Sonos

The Sonos integration has a number of changes in this release, some of them breaking existing configuration.

First, the Sonos custom services have been moved to the sonos domain. The new service names are as follows:

  • sonos.join (before: media_player.sonos_join)
  • sonos.unjoin (before: media_player.sonos_unjoin)
  • sonos.snapshot (before: media_player.sonos_snapshot)
  • sonos.restore (before: media_player.sonos_restore)
  • sonos.set_sleep_timer (before: media_player.sonos_set_sleep_timer)
  • sonos.clear_sleep_timer (before: media_player.sonos_clear_sleep_timer)
  • sonos.update_alarm (before: media_player.sonos_update_alarm)
  • sonos.set_option (before: media_player.sonos_set_option)

The last four of those services no longer target all entities by default since that is usually a mistake. The entity_id attribute is thus becoming mandatory for those services. If you really do want to target all you can use entity_id: all.

Next, YAML configuration of Sonos under the media_player: key is no longer accepted. While auto-configuration through the Integrations UI is now the preferred way, static configuration can still be specified under a sonos: key, for example:

sonos:
  media_player:
    hosts:
      - 192.0.2.25
      - 192.0.2.26

For those of you that like to power down your Sonos, Home Assistant should now handle that without logging errors. Also, speakers that are powered on will be added to Home Assistant without needing a restart.

New Integrations

New Platforms

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

  • Homematic IP Cloud - Adds homematicip cloud temperature sensor from thermostats. Entity IDs of HmIP-SLO (Light Sensor Outdoor) will change and stale entities will need to be removed from the entity registry. (@SukramJ - #23263) (homematicip_cloud docs)
  • Pollen.com
    • IQVIA is the parent company which hosts a variety of sites (https://pollen.com, https://flustar.com, etc.) from which valid data can come. To accommodate this, the Pollen.com sensor platform is now the IQVIA component and the configuration.yaml schema has changed accordingly. (@bachya - #22986) (iqvia docs) (pollen docs)
    • The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors – including “Yesterday” sensors – will no longer appear; users will need to update any automations that previously relied on these sensors. (@bachya - #23258) (iqvia docs)

      Example configuration:

      iqvia:
        zip_code: "12345"
      
  • Sonos
    • Configuring the Sonos integration as a media_player: platform in configuration.yaml was deprecated in 0.72 and has now been removed. Please see the notes above in this release post as well as the component documentation for further info. (@amelchio - #23385) (sonos docs)
    • Sonos-specific services have been moved from the media_player domain to the sonos domain. For example, media_player.sonos_join has become sonos.join. Services sonos.set_sleep_timer, sonos.clear_sleep_timer, sonos.update_alarm and sonos.set_option now require the entity_id parameter and will not target all when it is missing. You can use all to target all. (@amelchio - #23670) (sonos docs)
  • Nmap - In Linux, and when running a setuid nmap, MAC addresses are reported with a leading zero in each byte. Under Mac OS X, when running the arp command, there is no leading zero. This makes it annoying to share config files between a Mac and Linux setup. This change fixes this by forcing MAC addresses to be zero padded, “breaking” Mac detection on a Mac by aligning it to the convention on Linux (@mikeage - #23492) (nmap_tracker docs)
  • Frontend - This change converts the frontend to do client-side modern JS detection. It is no longer possible to force the frontend version that is shown to a browser by specifying a javascript_version option. Instead, we use feature detection to make sure that each browser receives the latest supported version. Because of feature detection, we no longer have ES5 specific index pages, which means the option extra_html_url_es5 no longer does anything. All usages of extra_html_url should be migrated to use Lovelace imports.(@balloob - #23618) (frontend docs)
  • Epson Workforce - This change adds the option to add photo black cartridge as a setting. It also corrects the spelling of “Inklevel” to “Ink level”(@ThaStealth - #23433) (epsonworkforce docs)

    Example configuration:

      - platform: epsonworkforce
        host: IP_ADDRESS
        monitored_conditions:
        - black
        - photoblack
        - yellow
        - magenta
        - cyan
        - clean
    
  • SNMP - The configuration of the SNMP device tracker was aligned with the other SNMP switch and the sensor configuration. If you are using authentication key and private key then change your configuration to auth_key: and priv_key:. (@fabaff - #23678) (snmp docs)

  • Netatmo The netatmo_public sensor will be merged into the netatmo integration. In the config platform: netatmo_public becomes platform: netatmo, everything else stays the same. (@cgtobi - #23531) (netatmo docs)
  • Sesame Smart Lock - The Sesame smart lock’s 1.0 API uses a username/password pair to authenticate, and may be deprecated in the future. The V3 API uses an API key, so it will require users to update their HA config. (@zanglang - #23621) (sesame docs)

    Example configuration:

    lock:
      - platform: sesame
        api_key: !secret sesame_api_key
    

Beta Fixes

All changes


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/05/16/release-93/
1 Like

All worked fine for me except for Netatmo that throws this error (only connecting to my local station via the api).

Cannot find any “Breaking changes” that relates to configuration changes between 0.92.2 and 0.93.0.

The error: 2019-05-16 09:01:28 ERROR (SyncWorker_29) [homeassistant.components.netatmo.sensor] No Weather or HomeCoach devices found for None

Anyone else experimenting the same issue?

@Danielhiversen Thanks for the update with switchbot.

After updating to 0.93, switchbot has stopped working completely and it throws an error saying:

2019-05-16 08:42:43 WARNING (SyncWorker_5) [switchbot] Failed to connect to Switchbot
Traceback (most recent call last):
  File "/config/deps/lib/python3.7/site-packages/switchbot/__init__.py", line 35, in _connect
    bluepy.btle.ADDR_TYPE_RANDOM)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 391, in __init__
    self._connect(deviceAddr, addrType, iface)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 439, in _connect
    raise BTLEDisconnectError("Failed to connect to peripheral %s, addr type: %s" % (addr, addrType), rsp)
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral d7:2e:95:d5:29:38, addr type: random
2019-05-16 08:42:43 ERROR (SyncWorker_5) [switchbot] Cannot connect to switchbot.
2019-05-16 08:43:00 WARNING (SyncWorker_16) [switchbot] Failed to connect to Switchbot
Traceback (most recent call last):
  File "/config/deps/lib/python3.7/site-packages/switchbot/__init__.py", line 35, in _connect
    bluepy.btle.ADDR_TYPE_RANDOM)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 391, in __init__
    self._connect(deviceAddr, addrType, iface)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 439, in _connect
    raise BTLEDisconnectError("Failed to connect to peripheral %s, addr type: %s" % (addr, addrType), rsp)
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral d7:2e:95:d5:29:38, addr type: random
2019-05-16 08:43:00 ERROR (SyncWorker_16) [switchbot] Cannot connect to switchbot.
2019-05-16 08:43:02 WARNING (SyncWorker_0) [switchbot] Failed to connect to Switchbot
Traceback (most recent call last):
  File "/config/deps/lib/python3.7/site-packages/switchbot/__init__.py", line 35, in _connect
    bluepy.btle.ADDR_TYPE_RANDOM)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 391, in __init__
    self._connect(deviceAddr, addrType, iface)
  File "/config/deps/lib/python3.7/site-packages/bluepy/btle.py", line 439, in _connect
    raise BTLEDisconnectError("Failed to connect to peripheral %s, addr type: %s" % (addr, addrType), rsp)
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral d7:2e:95:d5:29:38, addr type: random
2019-05-16 08:43:02 ERROR (SyncWorker_0) [switchbot] Cannot connect to switchbot.

Furthermore, the state of the switch still remains turned on.

Can you please look into it?

Thanks.

It fails to connect to your device, so I do not think it is a code issue. Try to move your device closer to your HASS computer.
If that does not work, please open an issue here: https://github.com/home-assistant/home-assistant/issues

the switch is right next to my nuc less than 1.5m away so its not a distance issue. I will open an issue on github.

UPDATE: here is the github link to the newly created issue:

I am sorry to admit that I have become an addict of HA. Is there a cure out there?

Please consider to implement a Lovelace store, for one-place-to-go, easy browsing, implement and update custom Lovelace cards. - So my withdrawal symptoms can cured.

4 Likes

Hi all

after the upgrade Hassio on Docker from 0.92.2 to 0.93 all seems to work fine, but if do a Check Home Assistant configuration I get this

[Info] Start install HomeAssistant latest
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[Info] Installed homeassistant==0.93.0, check config now
[Error] Wrong config found!
Testing configuration at /tmp/config
INFO:homeassistant.util.package:Attempting install of home-assistant-frontend==20190514.0
INFO:homeassistant.util.package:Attempting install of av==6.1.2
ERROR:homeassistant.util.package:Unable to install package av==6.1.2: Failed building wheel for av
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-9779xhvm/av/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-zpyrqsum/install-record.txt --single-version-externally-managed --prefix  --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-9779xhvm/av/
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ERROR:homeassistant.requirements:Not initializing stream because could not install requirement av==6.1.2
INFO:homeassistant.util.package:Attempting install of speedtest-cli==2.1.1
INFO:homeassistant.util.package:Attempting install of restrictedpython==4.0b8
INFO:homeassistant.util.package:Attempting install of mutagen==1.42.0
INFO:homeassistant.util.package:Attempting install of sqlalchemy==1.3.3
INFO:homeassistant.util.package:Attempting install of influxdb==5.2.0
INFO:homeassistant.util.package:Attempting install of pychromecast==3.2.1
INFO:homeassistant.util.package:Attempting install of netdisco==2.6.0
INFO:homeassistant.util.package:Attempting install of googledevices==1.0.2
INFO:homeassistant.util.package:Attempting install of pyfttt==0.3
INFO:homeassistant.util.package:Attempting install of google-api-python-client==1.6.4
INFO:homeassistant.util.package:Attempting install of httplib2==0.10.3
INFO:homeassistant.util.package:Attempting install of oauth2client==4.0.0
INFO:homeassistant.util.package:Attempting install of hbmqtt==0.9.4
INFO:homeassistant.util.package:Attempting install of paho-mqtt==1.4.0
INFO:homeassistant.util.package:Attempting install of python-telegram-bot==11.1.0
INFO:homeassistant.util.package:Attempting install of distro==1.4.0
INFO:homeassistant.util.package:Attempting install of pyatmo==1.11
INFO:homeassistant.util.package:Attempting install of rflink==0.0.37
INFO:homeassistant.util.package:Attempting install of PyXiaomiGateway==0.12.3
INFO:homeassistant.util.package:Attempting install of aiohttp_cors==0.7.0
INFO:homeassistant.util.package:Attempting install of yeelight==0.5.0
Failed config
  General Errors: 
    - Unable to install all requirements: av==6.1.2

Successful config (partial)

strangely it ask me to upgrade pip to 19.1.1 while it’s already upgraded

bash-4.4# pwd
/config
bash-4.4# pip --version
pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

And this is the System Health panel

34

What can I check?

Thanks

PS: I don’t have any streaming component in my camera.yaml file
If I remove

stream:

from configuration.yaml, no error message.

PPS:

I’ve seen this solution in the component page, but how to run since I have Hassio and “sudo apt-get” does not work?

The Hass.io Check Home Assistant configuration-plugin reports two errors when I check my config for the latest version, and I’m not sure if I can continue the update because of them.

Failed config
  General Errors: 
  - Unable to install all requirements: homeassistant-pyozw==0.1.4, pydispatcher==2.0.5
  - Component not found: hue

I’m currently on 0.92 and everything is working fine, including hue and z-wave devices.

part of the log where it goes wrong:

INFO:homeassistant.util.package:Attempting install of homeassistant-pyozw==0.1.4
ERROR:homeassistant.util.package:Unable to install package homeassistant-pyozw==0.1.4: Failed building wheel for homeassistant-pyozw
  Failed cleaning build dir for homeassistant-pyozw
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-0m6k9zx9/homeassistant-pyozw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-gt3dm0k8/install-record.txt --single-version-externally-managed --prefix  --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-0m6k9zx9/homeassistant-pyozw/
ERROR:homeassistant.requirements:Not initializing zwave because could not install requirement homeassistant-pyozw==0.1.4

Platform not found: sensor.essent :thinking:

The VS Code debugger component looks really cool, I only use a YAML linter right now but this looks far better.

I’m also getting this message in my log:

The honeywell component is deprecated for EU (i.e. non-US) systems, this functionality will be removed in version 0.96.

I am in fact using the Honeywell component, does this mean they are disabling their API in the same way Google are with the nest? :frowning: I am in the EU.

Please add to interface option to delete Automation… because still can not delete.

looks like you will just have to move to evohome according to the commit

looks like you will just have to move to evohome according to the commit

Ah well spotted, thanks. I’ve just just replaced the honeywell component in my config and the message now no longer appears. However the evohome doesn’t have the same functionality.

The deprecated honeywell that gives the message in my log shows me my hot water temperature:

Hot water: 35 degrees

The new replacement evohome component that fixes the message does not show me my hot water temperature:

I’ve searched thru all the entities and my hot water is not there at all, so I’m going back to the old component for now as I have multiple automations based on my hot_water temperature.

At least the Honeywell API isn’t being stopped, and maybe the evohome component will be updated in future to include the functionality of the component it is replacing, hopefully before 0.96.0 is out. :smiley:

Anyone with traccar issues? Mine has now stopped working complete and just reports ‘Could not parse gps value for name: (‘latitude’, ‘longitude’)’ every 30 seconds.

That is within the homeassistant Docker container?

Yes, I have Hassio in a Docker container on Ubuntu

The message I get is from the Check Home Assistant configuration

If I go in the homeassistant and hassio_supervisor containers (from Portainer) in the console, I see that the pip version is 19.1.1

1 Like

After update:

Log Details (WARNING)

Thu May 16 2019 09:51:13 GMT-0400 (Eastern Daylight Time)

Could not parse gps value for name: (‘latitude’, ‘longitude’)

None of my devices I track with Traccar are working

does new meteoalarm sensor take it’s language from the meteoalarm.eu website? if so, why there’s no “pl” language mentioned in docs? it’s supported by website.

also: docs look like not finished & work in progress… said language settings first are defined as “string”, then like “four digits”, and then possibilities are listed as two-letter abbreviations…

instructions not clear, house on fire :wink:

1 Like

When should you fix Everspring SP816 for it to work.
So far, it is difficult to get motion sensor Everspring SP816 to work.
chistian

Hi… I’m trying to edit an automation (I add an ID to all my old automations), but I get a not found error in chrome console. For example, editing an automation with ID services_005 :

GET https://xxx.xxx.xxx/api/config/automation/config/services_005 404 (Not Found)

r @ app.a259a502.js:651
o @ app.a259a502.js:651
callApi @ app.a259a502.js:725
updated @ chunk.8d87dd6e53fd23372516.js:1797
performUpdate @ app.a259a502.js:2
_enqueueUpdate @ app.a259a502.js:2
async function (async)
_enqueueUpdate @ app.a259a502.js:2
_requestUpdate @ app.a259a502.js:2
initialize @ app.a259a502.js:2
initialize @ app.a259a502.js:2
O @ app.a259a502.js:2
U @ app.a259a502.js:2
(anonymous) @ chunk.8d87dd6e53fd23372516.js:1765
_stampTemplate @ app.a259a502.js:2
_stampTemplate @ app.a259a502.js:2
p @ app.a259a502.js:2
(anonymous) @ app.a259a502.js:2
i @ app.a259a502.js:2
s @ app.a259a502.js:2
__ensureInstance @ app.a259a502.js:725
__render @ app.a259a502.js:725
(anonymous) @ app.a259a502.js:725
(anonymous) @ app.a259a502.js:2
window.MutationObserver.observe.characterData @ app.a259a502.js:2
characterData (async)
run @ app.a259a502.js:2
setConfig @ app.a259a502.js:2
debounce @ app.a259a502.js:2
__debounceRender @ app.a259a502.js:725
x @ app.a259a502.js:2
k @ app.a259a502.js:2
w @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
__enableOrFlushClients @ app.a259a502.js:2
_flushClients @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
(anonymous) @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
setProperties @ app.a259a502.js:2
__tryToMatch @ chunk.4668e986d0cb2701ad4f.js:234
z @ app.a259a502.js:2
k @ app.a259a502.js:2
w @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
__enableOrFlushClients @ app.a259a502.js:2
_flushClients @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
_setProperty @ app.a259a502.js:2
Object.defineProperty.set @ app.a259a502.js:410
value @ chunk.f6e80ec34a06dd5930b3.js:1
value @ app.a259a502.js:894
performUpdate @ app.a259a502.js:2
_enqueueUpdate @ app.a259a502.js:2
async function (async)
_enqueueUpdate @ app.a259a502.js:2
_requestUpdate @ app.a259a502.js:2
set @ app.a259a502.js:2
value @ app.a259a502.js:1197
value @ app.a259a502.js:894
performUpdate @ app.a259a502.js:2
_enqueueUpdate @ app.a259a502.js:2
async function (async)
_enqueueUpdate @ app.a259a502.js:2
_requestUpdate @ app.a259a502.js:2
set @ app.a259a502.js:2
commit @ app.a259a502.js:2
commit @ app.a259a502.js:2
update @ app.a259a502.js:2
_commitTemplateResult @ app.a259a502.js:2
commit @ app.a259a502.js:2
a @ app.a259a502.js:2
U.render @ app.a259a502.js:2
update @ app.a259a502.js:2
performUpdate @ app.a259a502.js:2
_enqueueUpdate @ app.a259a502.js:2
async function (async)
_enqueueUpdate @ app.a259a502.js:2
_requestUpdate @ app.a259a502.js:2
set @ app.a259a502.js:2
commit @ app.a259a502.js:2
commit @ app.a259a502.js:2
update @ app.a259a502.js:2
_commitTemplateResult @ app.a259a502.js:2
commit @ app.a259a502.js:2
update @ app.a259a502.js:2
_commitTemplateResult @ app.a259a502.js:2
commit @ app.a259a502.js:2
a @ app.a259a502.js:2
U.render @ app.a259a502.js:2
update @ app.a259a502.js:2
performUpdate @ app.a259a502.js:2
_enqueueUpdate @ app.a259a502.js:2
async function (async)
_enqueueUpdate @ app.a259a502.js:2
_requestUpdate @ app.a259a502.js:2
set @ app.a259a502.js:2
value @ app.a259a502.js:1272
handleEvent @ app.a259a502.js:2
_boundHandleEvent @ app.a259a502.js:2
S @ app.a259a502.js:2
j @ app.a259a502.js:2
k @ app.a259a502.js:2
(anonymous) @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
_setProperty @ app.a259a502.js:2
Object.defineProperty.set @ app.a259a502.js:410
_locationChanged @ app.a259a502.js:1033
z @ app.a259a502.js:2
k @ app.a259a502.js:2
w @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
_setProperty @ app.a259a502.js:2
Object.defineProperty.set @ app.a259a502.js:410
__computeRoutePath @ app.a259a502.js:1038
z @ app.a259a502.js:2
k @ app.a259a502.js:2
w @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
(anonymous) @ app.a259a502.js:2
_propertiesChanged @ app.a259a502.js:2
_flushProperties @ app.a259a502.js:410
_flushProperties @ app.a259a502.js:2
_invalidateProperties @ app.a259a502.js:2
_setProperty @ app.a259a502.js:2
Object.defineProperty.set @ app.a259a502.js:410
_urlChanged @ app.a259a502.js:1033
(anonymous) @ app.a259a502.js:2
fire @ app.a259a502.js:2
_globalOnClick @ app.a259a502.js:1033
(anonymous) @ app.a259a502.js:2
Show 81 more frames

And I get a blank page in HA:

Anyone with this problem??