Home TV, decodificador, (synto) amplificadores con Broadlink e Home Assistant (V2)

9 minutos de lectura
FINES DE PROJET:
  • Domotizzare un televisor y / o un decodificador y / o amplificador (sinto) (u otros elementos de esta naturaleza)
  • Nivel de dificultad Medio
  • costo: reducido (<20 € usando Broadlink RM Mini 3)
CONCEPTOS ENFRENTADOS:
COMPONENTES DE SOFTWARE UTILIZADOS:
DISPOSITIVOS FÍSICOS UTILIZADOS:
  • Un televisor y / o decodificador y / o amplificador (synto) (u otros elementos de esta naturaleza)
  • Un Broadlink RM Mini 3 (o Broadlink equivalente con emisor de infrarrojos)
PROJET MÁS INDICADO PARA:

Todos los ambientes

Notas y descargo de responsabilidad
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • cualquier cambio implementado en proantes es un proresponsabilidad personal, así como un proprimer riesgo y peligro (esta guía es solo para fines educativos);
  • cualquier cambio implementado en proantes de que un dispositivo anule la garantía.
Revisione projet: +1.2
ATTENZIONE: este projet se define "v2"Como se basa en nuova versione del componente de software necesario para la funciónnamede integración Broadlinko "SmartIR", Que permite, entre otras cosas, la definición dinámica en domótica del estado operativo de la unidad sujeta a integración.
La versión anterior de esto projet, si está interesado en la obsolescencia, está disponible aquí.

receptor

Abstract

Entre las muchas posibilidades ofrecido por domótica basada en HUB personal (en el caso de esto projet Home Assistant) existe la domotización del control de sistemas como TV, decodificador (p. ej., SKY), receptores / amplificadores.

Pero que significa domotizzarli? Significa poder controlar algunas funciones "clave" (encendido y apagado, ajuste de volumen / silencio, selección de fuente) a través de herramientas de gestión final como teléfonos inteligentes, tabletas, pero sobre todo poder controlar estas funciones en términos de escenarios predefinidos.

ponemos el ejemplo de querer mirar SKY: encienda el televisor, seleccione el approCon la entrada HDMI del televisor, activamos el decodificador SKY.

Bueno: si la TV y el decodificador SKY fueran domótica, podría definir unentidad que ejecuta, simplemente activándolo, las acciones enumeradas anteriormente en secuencia, tal vez usando el elemento a través de uno Altavoz inteligente conectado al mío Hub personal.

Hay televisores, decodificadores y amplificadores inteligentes (Sinto) que ya ofrecen la posibilidad de ser integrado de forma nativa medio Home Assistant (por ejemplo, los televisores Sony Bravia, a través de una plataforma específicao los receptores Denon, siempre a través de una plataforma específica).

El presente projet está curado de la domotización de amplificadores de TV, decodificadores y (Sinto) no domotizables de forma nativa: en este caso, utilizaremos señales infrarrojas o de radiofrecuencia a través del emisor Broadlink siguiendo las líneas de lo que se ha hecho, por ejemplo, con aires acondicionados.

se inicia

Lógica de projet

Comencemos con un ragionamesimple
Dado que:

  • Home Assistant es nuestro "puente" para control domótico (¿No sabes qué? Mira, es asi);
  • Home Assistant, a través de un actuador Broadlink (p.ej. RM Mini 3) y el componente "SmartIR Media Player", puede enviar señales de infrarrojos / radiofrecuencia;
  • TV - Decodificador - (sinto) amplificador es / son controlables a través de señales infrarrojas o de radiofrecuencia (generalmente por control remoto),

por lo tanto, es posible controlar el dispositivo, sea lo que sea, medio Home Assistant y luego integrarlo con el resto de la domótica, automatización incluido.

Análisis

La funcionalidad "Media Player"Ofrecido por el componente"SmartIR Media Player"Son los de:

  • Encendido / apagado;
  • canal siguiente / anterior;
  • aumentar / disminuir / silenciar el volumen;
  • elección de fuente.

El componente ofrece un conjunto de conjuntos de códigos preenvasados; este projet da por sentado que los códigos para el dispositivo se domotizarán ya hay archivos adjuntos disponibles para el componente. Para verificar esto, explore la lista de códigos disponibles en esta dirección

En caso de que los códigos no estén disponibles (muy recomendable) proprobable) no hay necesidad de desesperarse porque, como se anticipó, veremos más adelante cómo definir independientemente un proprimer archivo de configuración.

Configuración del dispositivo Broadlink

Antes de configurar nuestro componente en Home Assistant es necesario para el actuador Broadlink (que es el modelo) ya está configurado y por lo tanto presente en el nuestro Wi-Fi.

Para hacer el emisor infrarrojo entrar (y permanecer) dentro del tuyo Wi-Fi solo descarga elappinformes de control electrónico para Android o para iOS y siga las instrucciones en pantalla. En caso de dificultad está disponible. el manual en italiano.

La primera configuración ha terminado necesario que el dispositivo Broadlink propio, dentro del nuestro Wi-Fi, una IP fija Aquí Hay una guía disponible para comprender cómo configurarla.

Instalación de SmartIR

Dado que "SmartIR"Es un componente adicional y externo a Home Assistantva installato.
Para hacer esto puedes hacerlo manualmente o, mas facilmentea través de HACS.

MANUAL

Primero necesitas crear una carpeta llamada "custom_components"(Si aún no está presente) dentro del directorio de instalación principal de Home Assistant. Hecho esto, descargue el paquete .zip desde la página GIT del componente y descomprimirlo: será suficiente para copiar la carpeta "smartir"Contenido en el directorio"custom_components"Arriba.

NB en caso de instalación en el entorno Linux (Raspberry, Ubuntu u otro) después de copiar esta carpeta, es necesario corregir los derechos de acceso a la carpeta, utilizando el "chmod". Por ejemplo:

sudo chmod -R 0777 /home/homeassistant/.homeassistant/custom_components

donde está la ruta de instalación, appungido "/home/homeassistant/.homeassistant".

VIA HACS

A partir de la versión 1.6.x del soporte de componentes para la interfaz muy conveniente se ha introducido HACS. Se recomienda instalar el componente utilizando las explicaciones ilustradas. en la tarjeta que ilustra esta novedad.

componentes Broadlink

El componente "Broadlink"de Home Assistant es útil crear un interruptor que, cuando se configura, no tendrá (al menos en este caso proemitir) cualquier función particular, excepto que para crear indirectamente dos "servicios" del sistema que funcionará, respectivamente, Enviar y recibir códigos infrarrojos (y en radiofrecuencia, en los modelos compatibles).

Estos servicio toma el nombre de:

  • broadlink.learn
  • broadlink.send

El primer servicio será necesario. para 'appretorno de códigos, el segundo para enviar (utilizado por el entidad que definiremos en la configuración.

Por lo tanto, definimos en la configuración di Home Assistant este primer cambio:

# Esempio di configurazione learner
switch:
  - platform: broadlink
    host: 192.168.1.2
    mac: '00:00:00:00:00:00'
    timeout: 30
    friendly_name: "Attuatore Broadlink"
    type: rm
    switches:
      learner:
        friendly_name: "Learner"
        command_on: ''
        command_off: ''

NB Los campos "host"Y"mac"Indicado son solo ejemplos y por lo tanto se valorará con IP (fijo) y dirección MAC de nuestro actuador Broadlink, así como el campo "tipo". Los campos "on"Y"WOW!"Se dejan intencionalmente vacíos.

En este punto, reanudar Home Assistant y, una vez completado el reinicio, en la columna izquierda de la interfaz, seleccione, debajo del menú "Herramientas de desarrollo" el primer icono a la izquierdao "Servicios". En la lista de servicios deberían appproporcionar los dos servicios mencionados anteriormente.

Configuración de SmartIR

En este punto estamos pronti para definir elentidad de tipo "Media Player"Que rappresentirá nuestro dispositivo en Home Assistant.
Para hacer esto, simplemente ingrese en la configuración un bloque de este tipo:

smartir: 

media_player:
  - platform: smartir
    name: Hi-fi
    device_code: 1000
    controller_data: ip_del_broadlink
    power_sensor: binary_sensor.stato_accensione

Se explican las variables. como sigue:

platform(cadena, solicitud) Nombre de la plataforma. Debe indicarse necesariamente "smartir".
name(cadena, opcional) El nombre de la entidad "Media Player"En Home Assistant.
device_code(entero, requerido) Rappsenta el archivo de configuración en notación JSON (que contiene códigos y características) que usará el componente (buscándolo dentro de "smartir/codes/media_player") Para" modelar "la entidad. Puede elegirlo aguas arriba buscando el proprimer dispositivo en esta lista.
En ausencia de la proEn primer lugar, intentaremos definir uno ad hoc para seguir en prola colada.
controller_data(cadena, solicitud) Rappresiente la dirección IP del Broadlink para ser utilizado para enviar los códigos.
controller_command_topic(cadena, opcional) Tema del comando MQTT conectado al modo de control a través del servicio "mqtt.publish". Él espera que MQTT ya esté correctamente configurado y funcionando en la red y en Home Assistant.
power_sensor(cadena, opcional) Rappresiste un posible sensor binario (activar / desactivar) que rappmostrando el estado de encendido de la unidad (explicado a continuación).

Primero para llevar a cabo esta configuración en Home Assistant, Es necesario tenga en cuenta:

  • la IP de Broadlink a través del cual enviar los códigos (campo controller_data);
  • Nombre de archivo JSON que rapprestablece la configuración de la proprimer dispositivo (campo device_code).

En lo que respecta al archivo de configuración, es posible que se enfrente a diferentes situaciones:

  • el archivo ya está disponible junto con el componente SmartIR (ver lista);
  • el archivo personal ya está disponible porque propara el componente heredado "Broadlink IR Media Player";
  • sin archivo

En el primer caso, es posible configurar en Home Assistant, reanudar y así completar la integración.
En el segundo o tercero, es necesario crear un nuevo archivo personal ad hoc antes de terminar la configuración y reiniciar Home Assistant.

Archivo de configuración personal

Este párrafo es de interés solo si un archivo de configuración listo para usar no está disponible (o si tiene uno construido para el componente heredado "Broadlink IR Media Player") Relativo a proprimer modelo de dispositivo.

Por lo tanto, será necesario construirlo uno ad hoc.

códigos

Los códigos, si no están disponibles entre los preempacados, pueden ser reciclado del archivo de configuración utilizado anteriormente con el componente "Broadlink IR Media Player"; alternativamente puedes recogerlos manualmente y conéctelos manualmente en un archivo recién generado.

CAPTURA DE CÓDIGOS

Hemos dedicado este tema espinoso y crucial una guía ad hoc, que en parte ya se ha implementado después del presente profundición (ver creación del interruptor aprendiz).

DEFINICIÓN DE ARCHIVO PERSONAL

En este punto, una vez que se hayan recopilado los códigos, será suficiente crear un nuevo archivo JSON asignándoles un cualquier nombre (numérico) afuera de los nombres ya presentes junto con el componente "SmartIR"(Ej."7000.json").

Para definir el archivo será suficiente extrayendo cualquiera existente, por ejemplo este.

En el archivo JSON de configuración no solo se ingresan los códigos relacionado con los diversos modos de uso (bloque "comandos"), Pero también las diversas características de la unidad, como el nombre, modelo, tipo de códigos en uso, etc.

El bloque inicial appson más o menos así:

{
    "manufacturer": "Produttore",
    "supportedModels": [
      "Mio_modello"
    ],
    "supportedController": "Broadlink",
    "commandsEncoding": "Base64",

Los campos son los siguientes:

manufacturer(cadena, obligatorio) Indica el profabricante de acondicionador.
supportedModels(cadena, obligatorio) Indica el modelo.
supportedController(inicio, obligatorio) Indica el modelo del actuador (generalmente Broadlink).
commandsEncoding(cadena, obligatorio) Indica la codificación. Soporta: "Base64","Pronto", Y"HEX". Para los códigos recopilados como se explica en este prochorro a través Broadlink, generalmente indica "Base64".

La segunda parte del archivo comienza más o menos así:

    "commands": {
        "off": "codice.....",
        "on": "codice.....",
        "sources": {
            "EXT1": "codice.....",
            "EXT2": "codice.....",
            "VGA": "codice.....",
            "HDMI": "codice.....",
            "HDMI Side": "codice.....",
            "AV Side": "codice.....",
            "Channel 1": "codice.....",
            "Channel 11": [
                "codice 1.....",
                "codice 2....."
            ]

Este bloque define los dos comandos principales relacionados con el encendido y apagado ("on"/"WOW!") Y luego, a continuación, una lista de fuentes ("fuentes") Que puede corresponder al envío de un código único o al envío de varios códigos (por ejemplo,"canal 11"). Esta lista es completamente personalizable, tanto en los nombres de las fuentes como, por supuesto, en los códigos.


una vez compilación del archivo completado, antes de alimentarlo a Home Assistant verificar su corrección a través de la web app JSONLint.

Una vez hecho esto, será suficiente copiar el archivo en la carpeta "/ Custom_components /smartir/ Códigos / media_player", Configura el campo correctamente device_CODE en configuración e reanudar Home Assistant para terminar la integración.

Estado de encendido

Qué fundamental (y quizás lo más importante entre el legado y la nueva versión del componente), ahora es posible indicar a la entidad "Media Player" de dónde derivar el proprimer estado (activar / desactivar), o de eso de una entidad de tipo "Binario Sensor" (sensor binario, encendido / apagado).

Este sensor binario, a su vez, determinará la proprimer estado encendido / apagado basado en varias técnicas: el más clásico es usar la medición de la absorción eléctrica aguas arriba del dispositivo para determinar su estado (0 vatios de absorción, de,> 0, Acceso).

Parece trivial, pero no lo es: de hecho es esto quien había estado esperando por mucho tiempo. Imagine el siguiente escenario:

  • Home Assistant que ha federado el proentidades con un altavoz inteligente;
  • Home Assistant con entidad "Media Player"Que rappEl dispositivo controlado por infrarrojos está presente.

Mientras sea usado Home Assistant (a través de la interfaz o mediante un altavoz inteligente) para controlar el dispositivo, tutto bene.
Pero que va a pasar cuándo y si revisaré la unidad también a través de prosu control remoto, o de lo contrario de forma manual? Encender el dispositivo de esta manera Home Assistant obviamente no se dará cuenta del cambio de estado de la unidad, en consecuencia, el estado de la entidad que rappse resiente en elHUB permanecerá configurado en "de", Y cualquier comando de apagado de Home Assistant y / o desde el altavoz inteligente obviamente no irá bien.

Si en cambio voy a indicar a Home Assistant donde deducir el estado de la entidad las cosas cambiarán, por qué no appSi el dispositivo se encenderá manualmente, la absorción en vatios (aumento rápido) detectada por el sensor aguas arriba del dispositivo causará el sensor binario (apropiadonameconfigurado) asociado con él gire a "encendido"y, en consecuencia, también la entidad en Home Assistant. Viceversa para desconectar.

Para approfondire este tema esta disponible un gran projet dedicado a la deducción estatal de aparatos no domóticos a través del análisis de absorción eléctrica, que nos explica, Cómo definir un sensor binario en la configuración ser alimentado aSmartIR"Para el propósito appena explicó.

utilización

Sin embargo, si todo se ha hecho correctamente, en la interfaz de Home Assistant voluntad appquemado una nueva entrada similar a esta:

Home Assistant  -  Media Player

Que, si haces clic en los tres puntos en la esquina inferior derecha, proporcionará detalles y funcionalidad de la siguiente manera:

Home Assistant  -  Media Player - Detalle de TV

AUTOMATIZACIÓN

En este punto, si lo desea, será posible utilizar los servicios delentidad de tipo "Media Player" para controlar automáticamente las entidades de este tipo.

Digamos que tenemos un Raspberry Pi configurado como un receptor AirPlay conectó la entrada AUX de un amplificador domótico con la técnica explicada en el presente projet. Decimos que queremos automatizar la acción de encender el amplificador y preparar la fuente y el volumen correctos.propriato.

Digamos entonces querer definir un interruptor (basado en el componente "Booleano de entrada") Que, cuando se activa:

  • enciende el amplificador;
  • esperar un determinado tiempo técnico "encendido" (digamos 5 segundos)
  • seleccione la entrada AUX
  • subir el volumen simulando la presión (un par de veces) de la tecla Volumen +

Supongamos que las entidades en juego se llaman respectivamente input_boolean.airplay (el interruptor) e media_player.amplificatore.

automatización por definir voluntad:

automation:
- alias: "AirPlay"
  hide_entity: true
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: input_boolean.airplay
      to: 'on'
  condition: []
  action:
    - service: media_player.turn_on
      entity_id: media_player.amplificatore
    - delay: 0:00:05
    - service: media_player.select_source
      data:
        entity_id: media_player.amplificatore
        source: 'AUX'
    - service: media_player.volume_up
      entity_id: media_player.amplificatore
    - service: media_player.volume_up
      entity_id: media_player.amplificatore


Home Assistant Logo oficialATTENZIONE: recuerda que hay en nuestra comunidad FORO una sección ad hoc dedicada a Home Assistant, para cualquier duda, pregunta, información en el mérito específico de estos componentes.


Por favor comente abajo