0.65: Rename entities, new filter sensor, UpCloud and Channels

![](upload://3SBEgaVwMF6dPSWWmXYqzWZoUA8.png)

Release 0.65 has arrived and oh boy, is it awesome. First off, in case you have missed the previous release notes and announcements: Starting with this release, Home Assistant has dropped support for Python 3.4. The minimum supported version is now Python 3.5.3. If you are on Hass.io or Docker, you’ll automatically be running the latest and greatest. If you’re on an older Hassbian installation or did your own Linux setup you’ll need to upgrade to at least Python 3.5.3.

Naming entities

With the introduction of the entity registry in 0.63, Home Assistant is making sure that the same devices always receive the same entity IDs. This release is taking it a step further by allowing users to change the name of a device from the frontend. Changing the name will be instantly applied and overrides whatever name the device is given by the integration. If you want to switch back to the name from the integration, set the name to blank.

This feature is, just like the entity registry, only available for integrations that provide unique IDs for their entities. Adding this to each integration is still a work in progress.

![](upload://AcHKzIfPlpA7n1IUFbqFqrZuyNv.gif) The new entity registry settings page in action.

Filter sensor

The filter sensor is a new 2nd order sensor by @dgomes: it will consume data from a sensor entity and apply filters to it. For the initial implementation it comes with Low-pass, Outlier and Throttle filters. Expect more to be added in the future.

sensor:
  - platform: filter
    name: "filtered realistic humidity"
    entity_id: sensor.realistic_humidity
    filters:
      - filter: outlier
        window_size: 4
        radius: 4.0
      - filter: lowpass
        time_constant: 10
        precision: 2

![](upload://l9iTd4sHI3zIATJfjCkNjNqP0cb.png) Graph showing both the input sensor and the output of the filter sensor.

Light Group

We have had some discussion lately and realized that our current group component is very limiting. Extending it would probably lead to more confusion so we’ve decided to take a new approach: groups that are designed to be part of a specific component. The first one in this series comes at the hand of @OttoWinter: the group light (docs).

The group light creates a single light inside Home Assistant that is representing a group of lights. All commands will be forwarded and the state is a combination of all the lights.

light:
  - platform: group
    name: Cool Light Group
    entities:
      - light.amazing_light
      - light.foobar
      - light.sun

HomeKit

HomeKit got some more upgrades. We’ve added support for temperature sensors in Fahrenheit, alarm systems, switches and thermostats. Just a few releases more and we should be able to cover it all.

Optional words for the Conversation component

The conversation component has always been a great introduction to controlling your house by voice. There is no hotword detection or powerful language engine behind it, but it gives a great intro to what is possible. Starting with this release, it will get a little bit more powerful with the introduction of optional words. To mark a word optional, wrap it in square brackets: Change the light to [the color] {color}.

# Example configuration.yaml entry
conversation:
  intents:
    LivingRoomTemperature:
     - What is the temperature in the living room
     - What is [the] living room temperature
intent_script:
  LivingRoomTemperature:
    speech:
      text: It is currently  degrees in the living room.

![](upload://r6rT9YU3Gv00vTtQTHpvtQy1hr7.png) Have conversations with Home Assistant via the conversation component.

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

All changes


This is a companion discussion topic for the original entry at https://home-assistant.io/blog/2018/03/09/release-65/
7 Likes

Wunderground raises error:
2018-03-09 21:32:07 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up platform wunderground Traceback (most recent call last): File “/srv/ha/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py”, line 82, in async_setup SLOW_SETUP_MAX_WAIT, loop=hass.loop) File “/usr/lib/python3.6/asyncio/tasks.py”, line 358, in wait_for return fut.result() File “/usr/lib/python3.6/asyncio/futures.py”, line 245, in result raise self._exception File “/usr/lib/python3.6/asyncio/tasks.py”, line 180, in _step result = coro.send(None) File “/srv/ha/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py”, line 647, in async_setup_platform yield from rest.async_update() File “/usr/lib/python3.6/asyncio/coroutines.py”, line 213, in coro res = yield from res File “/srv/ha/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py”, line 787, in async_update result = yield from response.json() TypeError: cannot ‘yield from’ a coroutine object in a non-coroutine generator

EDIT: Sorry, already an issue on this.
HA rocks!

2 Likes

Upgraded. IOS App won’t open any more. ‘Loading data…’. damn.

check your logs, maybe there was a breaking change you need to fix?

done that. only error i seems related is:

2018-03-09 21:38:55 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/remote.py", line 127, in default
    return json.JSONEncoder.default(self, o)
  File "/usr/local/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'Decimal' is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/remote.py", line 133, in default
    for child_obj in o]
TypeError: 'decimal.Decimal' object is not iterable

and

2018-03-09 21:40:47 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/websocket_api.py", line 331, in handle
    msg = await wsock.receive_json()
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_ws.py", line 397, in receive_json
    data = await self.receive_str(timeout=timeout)
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_ws.py", line 381, in receive_str
    msg = await self.receive(timeout)
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_ws.py", line 345, in receive
    msg = await self._reader.read()
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/streams.py", line 571, in read
    return await super().read()
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/streams.py", line 533, in read
    await self._waiter
  File "/usr/local/lib/python3.6/asyncio/futures.py", line 327, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/local/lib/python3.6/asyncio/futures.py", line 238, in result
    raise CancelledError
concurrent.futures._base.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 381, in start
    resp = await self._request_handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_app.py", line 310, in _handle
    resp = await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_middlewares.py", line 88, in impl
    return await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/static.py", line 68, in staticresource_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/real_ip.py", line 27, in real_ip_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/ban.py", line 68, in ban_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/auth.py", line 52, in auth_middleware
    return await handler(request)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/http/view.py", line 100, in handle
    result = await result
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/websocket_api.py", line 210, in get
    return await ActiveConnection(request.app['hass'], request).handle()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/websocket_api.py", line 393, in handle
    await self._writer_task
  File "/usr/local/lib/python3.6/asyncio/futures.py", line 329, in __iter__
    return self.result()  # May raise too.
  File "/usr/local/lib/python3.6/asyncio/futures.py", line 243, in result
    raise self._exception
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 180, in _step
    result = coro.send(None)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/websocket_api.py", line 243, in _writer
    await self.wsock.send_json(message, dumps=JSON_DUMP)
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohttp/web_ws.py", line 263, in send_json
    await self.send_str(dumps(data), compress=compress)
  File "/usr/local/lib/python3.6/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/local/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/remote.py", line 136, in default
    return json.JSONEncoder.default(self, o)
  File "/usr/local/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'Decimal' is not JSON serializable
2018-03-09 21:45:25 ERROR (MainThread) [homeassistant.components.websocket_api] WS 1576122704: Client exceeded max pending messages [2]: 512

There’s a PR open about the iOS issue.

Thanks, it look likes it has something to do with that pull. i have linked my issue and logging in the pull request. hoping on a soon release. ios app isn’t working all anymore.

seems to be happening in normal browser also. Can’t open any more. same errors.
downgraded to 0.64.3 and everything is working again. seems to be a huge bug in 0.65.

Tried upgrading 3 times. confirms 0.65 installation, completes configuration check, and then restart. nothing afterwards. No errors, no frontend loading. System is running because I can operate via dashboard, but nothing on the homeassitant frontend.

Correction: getting same error as @Martinvdm

No issue here, upgraded fine. thanks

It looks like there is a state that is storing a Decimal in the state machine. The linked issue is not your issue. Are you using the SQL sensor ? Could you check your startup logs to see if there any other errors and open an issue for that?

How does the Light Group differ from a normal group of lights, if at all?

I question the decision to set the minimum version to 3.5.3, with the current ubuntu LTS only distributing 3.5.2 is there a technical reason for 3.5.3 or was it just chosen

1 Like

just chosen

lol, what do you think?

Just looked through the PR, noticed that it was becuse you decided to go with what debian stable had. Going to have to hold off on this update until the Ubuntu Repos update or when 18.04 is released(the more likley option because of how close it is, Ubuntu wont bother to update repos during this period)

1 Like

3.5.3 comes with https://bugs.python.org/issue28613 which is a big improvement for asyncio. Also, Ubuntu LTS is like 2 years old but have a PPA available to add a newer Python if necessary.

1 Like

Yes, checking the ones at the top of google, they all seem to only package the interpreter not pip or any of the python tools needed to install home assistant

1 Like

I have upgrade to 0.65
google_assistant at entity_config not support type: anymore therefore, many of input_boolean that I use to put type: switch end up with config error. Cannot turn on/off input_boolean anymore.

If this configuration part is in HA side. Please support the type: to be usable in entity_config for google_assitant.

Thank you very much.

You’re approaching this the wrong way. type is a hack and should never have been added. Just because something works doesn’t mean it should be part of Home Assistant. Instead, normal support for input boolean by the OnOff trait should be added which I did here: https://github.com/home-assistant/home-assistant/pull/13030

2 Likes

Thank you very much. So I don’t have to put call a by script for each input_boolean. Thank you so much again.