Onkyo Media Player and Google TTS

Hi,

I am trying to setup my Onkyo receiver as a Media Player. I am not able to get it to play anything via Google TTS, it throws not implemented error.

Traceback (most recent call last):
File “/usr/lib/python3.4/asyncio/tasks.py”, line 233, in _step
result = coro.throw(exc)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/core.py”, line 1052, in _event_to_service_call
yield from service_handler.func(service_call)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/media_player/init.py”, line 366, in async_service_handler
yield from getattr(player, method[‘method’])(**params)
File “/usr/lib/python3.4/asyncio/futures.py”, line 388, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 286, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 277, in result
raise self._exception
File “/usr/lib/python3.4/concurrent/futures/thread.py”, line 54, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/media_player/init.py”, line 651, in play_media
raise NotImplementedError()
NotImplementedError

Any thoughts?

I guess no way to do TTS on Onkyo, it’s not implemented!

Correct, Onkyo doesn’t currently support playing media. The only way I could see this being implemented in the future would be through some DLNA hackery.

Chromecast build in might be a option, if your Onkyo supports it. Using the second zone for TTS would be ideal in my opinion.

https://community.home-assistant.io/c/feature-requests

1 Like

Onkyo has a complete control protocol, it is very easy to implement the features you need.
For example:

- action:
  - data: {}
    entity_id: media_player.onkyo_r758
    service: media_player.turn_on
  - delay:
      seconds: 2
  - data:
      source: 'DLNA'
    entity_id: media_player.onkyo_r758
    service: media_player.select_source
  - delay:
      seconds: 1
  - data:
      volume_level: 0.35
    entity_id: media_player.onkyo_r758
    service: media_player.volume_set
  - delay:
      seconds: 1
  - data:
      media_content_type: music
      media_content_id: "http://192.168.0.1111:8123/local/music/guangbotishi.mp3"
    entity_id: media_player.192_168_0_192
    service: media_player.play_media
  - delay:
      seconds: 5
  - data:
      media_content_type: music
      media_content_id: "http://192.168.0.1111:8123/local/music/xiayu.mp3"
    entity_id: media_player.192_168_0_192
    service: media_player.play_media
  - delay:
      seconds: 7
  - data:
      source: 'TV'
    entity_id: media_player.onkyo_r758
    service: media_player.select_source
  - entity_id: counter.yujing_tixing_dlna_counter
    service: counter.increment
  alias: xiayu_yujing_tixing_dlna
  condition:
    condition: and
    conditions:
      - condition: time
        after: '08:00:00'
        before: '18:00:00'
      - condition: numeric_state
        entity_id: counter.yujing_tixing_dlna_counter
        below: 4
  trigger:
  - entity_id: sensor.caiyun_30minutes_probability
    platform: numeric_state
    above: 0.6

What is “media_player.192_168_0_192” in your example?