kalkih / mini-media-player

Minimalistic media card for Home Assistant Lovelace UI
MIT License
1.47k stars 206 forks source link

Use Piper (local TTS) with media player #761

Open kksligh opened 1 year ago

kksligh commented 1 year ago

Can you please add the ability to use the new local TTS service Piper? If there's a way to do this now, please let me know. I've tried playing with the yaml with no luck

relaystar commented 12 months ago

I'm in a similar situation. FWIW this is what I've tried which seems to match the documentation best:

type: custom:mini-media-player
entity: media_player.m5_atom_echo_1
tts:
  platform: service
  data:
    service: tts.piper
    service_data:
      cache: false
      media_player_entity_id: media_player.m5_atom_echo_1
    message_field: text

This results in a:

"failed to call service tts/piper. service not found"

NB, the following code works find in a script

service: tts.speak
data:
  cache: false
  media_player_entity_id: media_player.m5_atom_echo_1
  message: This is some test text for piper
target:
  entity_id: tts.piper
Burnarz commented 10 months ago

Same here, @relaystar could you please share, the whole part? Can't get it working, i need the message field- entry My code for now (not working)

    tts:
      platform: service
      service: tts.speak
      data:
        cache: false
        media_player_entity_id: media_player.ytube_music_player
        message_field: Text...
      target:
        entity_id: tts.piper

Would be great to have Piper TTS integrated 😃

MetroAffe commented 10 months ago

Try this:

      platform: service
      data:
        service: tts.speak
        service_data:
          media_player_entity_id: YOURMEDIAPLAYER
        message_field: message
        entity_id: tts.piper

Please close. Already working. Already implemented. No issue. Love me ❤️

dougmaitelli commented 9 months ago

I don't think this issue should be closed. Just because it works with the service approach doesn't mean this is not a workaround. The tts.speak is the new standard HA is using for TTS going forward and this card needs to be updated to use that by default, if not it will just end breaking again when old services get deprecated / removed.

MetroAffe commented 9 months ago

OK. But then this is not an issue. Just a suggestion for improvement. And I would not say that THIS is a workaround. Its a completely implemented function to use services… And on top of that I also don’t think that HA will remove the tts services!! Never!

dougmaitelli commented 9 months ago

@MetroAffe, it might not be an issue yet, but it will be when they get removed. About your mention about HA removing the TTS services, I am not saying they will remove the TTS services, I am saying that this card does not use the new TTS service tts.speak, and instead uses the old tts.*_say which will likely be removed since they are already marked as "Legacy" in the docs: https://www.home-assistant.io/integrations/tts/