Durante esta semana o @maxcalavera, a quem deixo já o meu obrigado pela partilha, veio com uma ideia espetacular para o canal do Telegram e se ao ouvir música, o HA me mostrasse o que estou a ouvir (Artista, Album, Música) e ainda uma imagem do album?
Depois de umas trocas de ideias ele lá me enviou o que pretendia fazer! O objetivo é este:
Ao selecionar uma rádio aparece um card com a informação do que está a passar online.
Depois de batalhar um pouco à procura de como as rádios atualizam a informação nos respetivos sites (através da network do browser) era preciso meter as mãos na massa.
Porquê o Node-Red?
Recentemente comecei a fazer umas coisas em Node-Red, começando por migrar as minhas automações todas!
Já que o @maxcalavera ia seguir uma abordagem através dos ficheiros YAML decidi ir por aqui pois era uma forma de explorar.
Pré Requisitos:
- Add-on Node-Red
- Add-on Mosquitto broker instalado e configurado
- Add-on Alexa Media Player instalada (através de HACS) e configurado
1º Passo: Onde guardar as informações?
Para guardar as informações utlizei 3 sensores (Artista, Album e Música) e 1 câmara para a imagem.
Uma forma de enviar a informação do Node-Red para o HomeAssistante é utilizando tópicos MQTT e foi por aí que eu segui.
- Comecei por criar os sensores da seguinte forma acedendo a Developer Tools / Services:
- Escolher o service: mqtt.publish e colocar o payload abaixo:
Artista: https://pastebin.com/CWpwdXgm
Album: https://pastebin.com/e0KZMZbV
Musica: https://pastebin.com/jt6gGFK2
Camera: https://pastebin.com/T3u7Jcg1
Seguindo esta abordagem conseguimos ter um device chamado “Radio Integration”:
Nota: para testar, e de modo a que as imagens apareçam façam o seguinte post: https://pastebin.com/ny7vg9hy
2º Passo: o Flow do Node-Red
O Flow consiste em:
- Saber se o rádio está ligado
- Em caso afirmativo de 15 em 15 segundos obter a informação da rádio que está a tocar
- Obter o ficheiro de detalhes, tratar o mesmo e publicar a informação da rádio e da imagem no tópico MQTT acima configurado
Podem obter o flow neste link: https://pastebin.com/kA6YX4qR
Após importar o flow devem:
- Alterar a entidade que está no nó “Radio On”
- Nos nós “Publish Radio” e “Publish Image” selecionar o vosso servidor MQTT
3º Passo: mostrar a informação no Lovelace
Para o efeito criei um Conditional Card com:
- Picture Glance para mostrar a imagem
- Entities para mostrar os valores dos sensores
Link: https://pastebin.com/vxnGWz9R
Já agora deixo também aqui o YAML para os botãos das rádios: https://pastebin.com/hrQGkKgs
Espero que este “pequeno” tutorial seja útil.
Pedro
–
EDIT: Para os casos em que a rádio M80 não funciona há um pequeno workarround.
- Criar uma rotina na Alexa que indique ao Echo qual a estação a tocar:
- Alterar no botão o media_content_type para routine: