Escolher canais em Dispositivos IR (Broadlink)

Olá a todos.
Como vi que ainda não havia nada mesmo igual, resolvi partilhar o que fiz para poder escolher os canais, neste caso, da MEO, pelo HA, mas poderá ser aplicado a qualquer outro dispositivo, TV ou outro similar.

O que é necessário:

  1. Um auxiliar “input_select”, que irá conter uma lista com o número e nome dos canais, separados por 1 espaço.
  2. Uma lista dos vossos comandos para o Broadlink, para os números de 0 a 9
  3. Criar um botão para correr o script para mudar para o canal seleccionado.

O que se pretende é chegar a isto:

SelectorMEO01

Então, o que fazer:

  1. Criar 1 input_select:
input_select:
  meo_canal:  
    name: 'Escolhe o Canal'
    options:
      - 1 RTP1
      - 2 RTP2
      - 3 SIC
      - 4 TVI
      - 5 SIC Notícias
      - 6 RTP3
      - 7 TVI24
      - 8 CMTV
      - 9 SIC Mulher
      - 10 Globo
      - 11 Canal 11
      - 12 TVI Dicção
      - 13 A Bola TV
      - 14 Sport TV+ HD
      - 15 Porto Canal
      - 16 Slide Promocional
      - 17 Veja
      - 18 RTP Açores
      - 19 RTP Madeira
      - 36 Sporting TV HD
      - 37 Eurosport 1 HD
      - 38 Eurosport 2 HD
      - 40 Disney Channel
      - 41 Cartoon Network
      - 42 Biggs
      - 43 SIC Kids
      - 44 Nickelodeon
      - 45 Disney Junior
      - 46 Panda
      - 47 Jim Jam
      - 48 Baby TV
      - 49 Lolly Kids
      - 53 MEO Kids
      - 60 Cinemundo
      - 61 Hollywood HD
      - 62 FOX Movies HD
      - 63 AMC
.....
  1. Script:
mudar_canal_meo:
  variables: 
    canal_escolhido: "{{ states('input_select.meo_canal').split(' ')[0] | map('int') | list }}"
    comandos_ir: ['b64:JgAwAAcTFBUUFhMLCRcTFggMCQwUFRQWEwALZAwTExYUFRQLCRYUFQkMCQwTFhQVFAANBQAAAAAAAA==','b64:JgA4AAkTExYUFRQLCRYUFQkMCAwJDAkMCAwUFggAC1kLFBQVFBUUCwkWFBYIDAkMCQsJDAkMExYIAA0FAAAAAAAAAAAAAAAAAAA=','b64:JgA0AAcTExYUFRQLCRYUFQkMCQwIDAkMFBUUAAtiCxQUFRQWEwsJFhQWCAwJDAkLCQwUFRQADQUAAA==','b64:JgA4AAYUExYUFRQLCRYUFQkMCA0IDAkMEwwIFwgAC1oLExQVFBYTCwkXExYIDAkMCQwIDBQLCRYJAA0FAAAAAAAAAAAAAAAAAAA=','b64:JgA0AAYUExYTFhQLCRYUFQkMCAwJDBQVCQwUAAtiCRYTFhMWEwwJFhMWCQoLDAgMExcIDBMADQUAAA==','b64:JgA0AAcTExYUFRQLCRYUFQkMCAwJDBQVFBYIAAtbChQUFRMWFAsIFxUUCQwIDAkMFRQUFQkADQUAAA==','b64:JgA0AAQWFBUUFRQLCRYUFggMCQwIDBMMCRYTAAtlChQUFRUVEwsJFxMWCAwJDAkMEwsJFxMADQUAAA==','b64:JgA4AAQVFBUUFhMLCRYUFggMCQwIDRMLCQwJFgkAC1oJFRQVFBYTCwkWExcIDAkMCA0TCwkMCRYJAA0FAAAAAAAAAAAAAAAAAAA=','b64:JgA0AAYTFBYTFhQLCBcTFgkMCAwUFggMCQwTAAtkCRUVFBQWFAkKFhUVCAwJDBMWCQwIDBUADQUAAA==','b64:JgA0AAYTFBYTFhMMCBcTFggNCAwUFQkMFBUJAAtZDBMUFhMWFAsIFxMWCA0JCxQVCQwUFQkADQUAAA==']
  alias: Muda Canal
  icon: mdi:play
  sequence:
  - repeat:
      count: "{{ canal_escolhido | count }}"
      sequence:
      - service: remote.send_command
        data:
          entity_id: remote.broadlink_ir_rf_rm4
          command: "{{ comandos_ir[canal_escolhido[repeat.index - 1] |int ] }}"
      - delay:
          seconds: 0.8

Os vossos comandos IR deverão estar no array acima, ‘comandos_ir’. Se não fôr da MEO têm de substituir pelos vossos:

    comandos_ir: ['b64:<codigoparaonumero0>','b64:<codigoparaonumero1>',.... ...... ,'b64:<codigoparaonumero9>]

Também será necessário substituir o nome da vossa entidade associada ao Broadlink, que no meu caso é
remote.broadlink_ir_rf_rm4

A seguir é só adicionar ao lovelace o input_select (a vermelho escuro) e um botão que execute o script (vermelho).

SelectorMEO03

SelectorMEO02

Tentarei ajudar que tiver dúvidas, dentro dos meus conhecimentos limitados!
Abraço a todos e obrigado por este fórum.

3 Likes

Bom trabalho, e boa evolução parabéns.

1 Like

Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade