0.115: B-Day release! Media browser, tags, automations & WTH

Hi Frenck,
Now we can use shorthand templates (thanks! so nice) please let me ask if the team is also working on allowing the shorthand template notation in the action blocks of automations and sequences in scripts? Seems these are the only places we now canā€™t use those, and it would be really nice if we couldā€¦

go from the current:

  sequence:
    - condition: template
      value_template: >
        {{states('group.person') != 'home'}}
    - condition: state
      entity_id: switch.dorm
      state: 'on'

to

  sequence:
    - > #using multi-line 
        {{states('group.person') != 'home'}}
    - "{{states('group.person') != 'home'}}" #using single-line
    - condition: state
      entity_id: switch.dorm
      state: 'on'

If this is not on the planning now, please let me know if a FR would be useful. Unless of course you say it canā€™t be done in the first place.

in the route to cutting on all _template spots, will the wait_template follow suit?

go from:

  sequence:
    - wait_template: >
        {{is_state('device_tracker.person','home')}}

to

  sequence:
    - wait: >
        {{is_state('device_tracker.person','home')}}

thanks for considering!

Shorthand condition notation will not be added to sequences and actions. It can be done (Iā€™ve written the code, with tests and is ready to go). However, we choose not to take this approach.

The reason for that is, is that the context is different. In sequence and action blocks, the context is mixed conditions and actions. With some ideas we have for the future, this might cause issues later on.

We want to refactor a bit in the future (on how the code works in the core) and looking at things like: Making the actions, triggers and conditions extensible by integrations. This would be a neat feature, as it would allow (custom) integration to extend the power of the automation engine.

So, yeah, there you go :slight_smile:

aww, ok, thanks for the info. No FR then :wink:
(dont throw away the code, maybe thereā€™s a paradigm change later onā€¦ might come I handy)

anything on the wait_template?

1 Like

Thanks!!! I never knew I could do that!

Hey, this was due to schedular card. Iā€™m convinced you have this installed. The issue happened at the same time HA 115 was released.

This has been fixed with the latest release, so most likely you donā€™t have this issue anymore. Just wanted to let you know, so you what what the cause was.

The new Media Browser works really well with Spotify. Anyone know how I can get the same level of integration work with Plex?

The Spotify integration provides a media player component which provides the browser experience. However, the Plex integration does not provide a media player and therefore no browser experience. Or am I missing something?

Background: I have my personal music collection on Plex. So using the same style browser would be great.

I documented how to get music playing on Chromecast Audio devices here. I want to do the same for Plex.

A complete re-pair! :open_mouth: This is exactly why Iā€™m sticking with Zigbee2MQTT until ZHA is more polishedā€¦

1 Like

Just one question:
Does the forecast: 24 provide the precipitation for the next 24 hours in total or the precipitation at the 24th hour from now?

Wow, you are probably right. I canā€™t recall deleting the old container, but itā€™s on autopilot now for a couple of years. I recollect getting an error though with the make command if the existing container of the same name isnā€™t deleted. Anyway, itā€™s going now! Thanks

Media players for Plex get created when you play something on the app

Hm 115.4 and Broadlink discovery is still broken. :-o I had perfectly working three RMs in 114, but from 115 there are not discovered and I think this is because of this (as I have several networks connected to HA - for security seasons I have network zone dedicated to smart devices, which is different to HA main network interface)

This bug has severe consequences for meā€¦

same error here

I upgraded to 0.115.4 and my issues are resolved. I coulnā€™t upgrade to 0.115.3 but no issues with 0.115.4

Depends what kind of issues you had. What I described is Broadlink devices not detected in HA with multiple network interfaces. As far as I understand, this was solved in the broadlink library 5 days ago BUT NOT MERGED into 0.115.4ā€¦ which is rather disappointing.

Excelent release filled with lots of goodies. However I believe Amazon Polly integration broke somewhere between 0.115.3 or 0.115.4. Because it was working perfectly on 0.115.2 and on 0.115.4 itā€™s not.

Iā€™m getting this error whenever I call on a service: tts.amazon_polly_say :

2020-09-28 17:10:22 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140658621668560] Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
    frame = id3[frameid]
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
    return self.__dict[key]
KeyError: 'TPE1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 137, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 471, in write_tags
    tts_file["artist"] = ID3Text(encoding=3, text=artist)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 74, in __setitem__
    self.tags[key] = value
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 222, in __setitem__
    return func(self.__id3, key, value)
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 126, in setter
    id3.add(mutagen.id3.Frames[frameid](encoding=3, text=value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 65, in __init__
    setattr(self, checker.name,
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 76, in __setattr__
    self._setattr(name, checker.validate(self, value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_specs.py", line 533, in validate
    raise ValueError('Invalid MultiSpec data: %r' % value)
ValueError: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
2020-09-28 17:10:31 WARNING (MainThread) [homeassistant.components.automation.forced_sensor_updates_ticker_every_1_seconds] Forced Sensor Updates_ticker every 1 seconds: Already running
2020-09-28 17:10:31 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140658621668560] Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
    frame = id3[frameid]
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
    return self.__dict[key]
KeyError: 'TPE1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 137, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 471, in write_tags
    tts_file["artist"] = ID3Text(encoding=3, text=artist)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 74, in __setitem__
    self.tags[key] = value
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 222, in __setitem__
    return func(self.__id3, key, value)
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 126, in setter
    id3.add(mutagen.id3.Frames[frameid](encoding=3, text=value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 65, in __init__
    setattr(self, checker.name,
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 76, in __setattr__
    self._setattr(name, checker.validate(self, value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_specs.py", line 533, in validate
    raise ValueError('Invalid MultiSpec data: %r' % value)
ValueError: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
2020-09-28 17:10:56 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140658621668560] Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
    frame = id3[frameid]
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
    return self.__dict[key]
KeyError: 'TPE1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 137, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 471, in write_tags
    tts_file["artist"] = ID3Text(encoding=3, text=artist)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 74, in __setitem__
    self.tags[key] = value
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 222, in __setitem__
    return func(self.__id3, key, value)
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 126, in setter
    id3.add(mutagen.id3.Frames[frameid](encoding=3, text=value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 65, in __init__
    setattr(self, checker.name,
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 76, in __setattr__
    self._setattr(name, checker.validate(self, value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_specs.py", line 533, in validate
    raise ValueError('Invalid MultiSpec data: %r' % value)
ValueError: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
2020-09-28 17:11:01 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140658621668560] Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
    frame = id3[frameid]
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
    return self.__dict[key]
KeyError: 'TPE1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 137, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 471, in write_tags
    tts_file["artist"] = ID3Text(encoding=3, text=artist)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 74, in __setitem__
    self.tags[key] = value
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 222, in __setitem__
    return func(self.__id3, key, value)
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 126, in setter
    id3.add(mutagen.id3.Frames[frameid](encoding=3, text=value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 65, in __init__
    setattr(self, checker.name,
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 76, in __setattr__
    self._setattr(name, checker.validate(self, value))
  File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_specs.py", line 533, in validate
    raise ValueError('Invalid MultiSpec data: %r' % value)
ValueError: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['Miguel'])

I tried different known Amazon Polly voices and its the same, upon return to 0.115.2 Amazon_polly_say works as intended.

Anybody else experiencing this?

updating to 115.4 throws completely new errors:

Unexpected error for call_service at pos 8: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['nl'])

and

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
    frame = id3[frameid]
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
    return self.__dict[key]
KeyError: 'TPE1'

this seems to be happening when trying to use tts and send a notification to the google Home speakersā€¦ didnt change anything in the scripts, automations or anything else related to the setup.

anyone else seeing this?

edit

@mondomx we cross posted :wink:
and yes 115.3 was still working, so this is definitely from 115.3 to 115.4

2 Likes

well, gotta call it a night, will downgrade to 115.3, and hope to create an issue. Or will you do so?

NM, made it: https://github.com/home-assistant/core/issues/40731

please add to this with your info/issue

Do wish these builds are tested more thoroughly before they are releasedā€¦

1 Like

Same here. TTS didnā€™t work today using Google Translate Say.

1 Like

Looks like they are working on the fix for the google cloud fix. Just gotta be patient :slight_smile:

This should be fixed in 0.115.4

  • Pin gRPC to 1.31.0 to workaround amrv7 issues (@frenck - #40678)