Domotize TV, Decoder, (Synto) Verstärker mit Broadlink e Home Assistant (V2)

9 Minuten des Lesens
ZWECKE VON PROJET:
  • Domotizzare einen Fernseher und / oder einen Decoder und / oder (Sinto) Verstärker (oder andere Elemente dieser Art)
  • Schwierigkeitsgrad: Medium
  • Kosten: reduziert (<20 € mit Broadlink RM Mini 3)
KONZEPTE GEGENÜBER:
VERWENDETE SOFTWAREKOMPONENTEN:
VERWENDETE PHYSIKALISCHE GERÄTE:
  • Ein Fernseher und / oder Decoder und / oder (Synto-) Verstärker (oder andere Elemente dieser Art)
  • Un Broadlink RM Mini 3 (o Broadlink gleichwertig mit Infrarotstrahler)
PROJET AM MEISTEN ANGEZEIGT FÜR:

Alle Umgebungen

Hinweise und Haftungsausschluss
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • Änderungen in provorher ist a proEigenverantwortung sowie a proErstes Risiko und erste Gefahr (dieser Leitfaden dient nur zu Bildungszwecken);
  • Änderungen in probevor ein Gerät die Garantie erlischt.
Revision proJet: 1
ATTENZIONE: diese proJet ist definiert "v2"Wie es basiert auf nuova versione der für die Funktion notwendigen Softwarekomponentenameder Integration BroadlinkoderSmartIR“, Was unter anderem die dynamische Definition in der Hausautomation ermöglicht des Betriebszustandes der zu integrierenden Einheit.
Die vorherige Version davon projet ist bei interesse an obsoleszenz verfügbar hier.

Empfänger

Abstrakt

Unter den vielen Möglichkeiten angeboten von domotics basierend auf HUB persönlich (in diesem Fall proJet Home Assistant) Es besteht die Möglichkeit, die Steuerung von Systemen wie TV, Decoder (z. B. SKY), Empfängern / Verstärkern zu automatisieren.

Aber was heißt das? domotizzarli? Dies bedeutet, dass einige "Tasten" -Funktionen (Ein- und Ausschalten, Lautstärke- / Stummschaltung, Quellenauswahl) über gesteuert werden können endgültige Management-Tools wie Smartphones, Tablets, aber vor allem in der Lage, diese Funktionen in Bezug auf zu steuern vordefinierte Szenarien.

wir legen das Beispiel, wie man SKY betrachten will: Schalten Sie das Fernsehgerät ein und wählen Sie das AP ausproMit dem HDMI-Eingang des Fernsehers schalten wir den SKY-Decoder ein.

Nun: Wenn TV und SKY-Decoder Heimautomation wären, könnte ich eine definierenWesen Dadurch werden die oben aufgeführten Aktionen nacheinander ausgeführt, indem sie einfach aktiviert werden. Möglicherweise wird das Element über eins verwendet Smart Speaker mit meinem verbunden HUB Personal.

Es gibt Fernseher, Decoder und (Sinto) Smart-Verstärker, die bereits die Möglichkeit des Seins bieten nativ integriert Mittel Home Assistant (zB die Sony Bravia Fernseher, über eine bestimmte PlattformOder immer die Denon-Empfänger über eine bestimmte Plattform).

Die Gegenwart proJet ist ausgehärtet von der Domotisierung von TV, Decoder und (Sinto) Verstärkern nicht nativ domotisierbar: In diesem Fall verwenden wir Infrarot- oder Radiofrequenzsignale über Emitter Broadlink in Anlehnung an das, was getan wurde, zum Beispiel mit Klimaanlagen.

Es beginnt

Logik von proJet

Beginnen wir mit einem Ragionameeinfach.
Vorausgesetzt, dass:

  • Home Assistant ist unsere "Brücke" für die Hausautomationssteuerung (Weißt du nicht was? es ist so);
  • Home Assistantüber einen Aktuator Broadlink (z.B. RM Mini 3) und die Komponente "SmartIR Media Player" kann Infrarot- / Hochfrequenzsignale senden;
  • der TV - Decoder - (Sinto) Verstärker ist / sind über Infrarot- oder Radiofrequenzsignale steuerbar (in der Regel per Fernbedienung),

Daher ist es möglich, das Gerät zu steuern - was auch immer es ist - Mittel Home Assistant und dann mit dem Rest der Hausautomation zu integrieren, Automatisierung enthalten.

Analyse

Die Funktionalität Media Player"Angeboten von der Komponente"SmartIR Media Player"Sind die von:

  • Power on / off;
  • nächster / vorheriger Kanal;
  • Lautstärke erhöhen / verringern / stumm schalten;
  • Quellenwahl.

Die Komponente bietet eine Reihe vorgefertigter Codesätze. diese projet setzt voraus, dass die codes für das gerät domotisiert werden Zu der Komponente sind bereits Anhänge vorhanden. Um dies zu überprüfen, durchsuchen Sie die Liste der verfügbaren Codes an diese adresse.

Falls die Codes nicht verfügbar sind (sehr zu empfehlen) prowahrscheinlich) es besteht kein Grund zur Verzweiflung denn wie erwartet werden wir später sehen, wie man unabhängig definiert un proerste Konfigurationsdatei.

Gerätekonfiguration Broadlink

Bevor Sie unsere Komponente unter konfigurieren Home Assistant es ist für den Antrieb notwendig Broadlink (Welches ist das Modell) ist bereits konfiguriert und daher bei uns vorhanden Wi-Fi.

So stellen Sie den Infrarotstrahler her betrete (und bleibe) in deinem Wi-Fi einfach das herunterladenappe-Control-Berichterstattung für Android o für iOS und befolgen Sie die Anweisungen auf dem Bildschirm. Bei Schwierigkeiten steht es zur Verfügung das Handbuch in italienischer Sprache.

Die erste Konfiguration ist beendet notwendig dass das Gerät Broadlink selbst, in unserem Wi-Fi, eine feste IP. die Es steht eine Anleitung zum Einrichten zur Verfügung.

Installation von SmartIR

Angesichts dessen "SmartIR"Ist eine Komponente zusätzlich und extern a Home Assistantgeht es installato.
Um dies zu tun, können Sie es tun manualmente o, einfacherdurch HACS-.

MANUALLY

Zuerst müssen Sie einen Ordner mit dem Namen "custom_components”(Falls noch nicht vorhanden) im Hauptinstallationsverzeichnis von Home Assistant. Laden Sie dazu das ZIP-Paket herunter von der GIT-Seite der Komponente und entpacken: dann genügt es, den Ordner zu kopieren “smartir"Im Verzeichnis enthalten"custom_componentsOben.

Nb im Falle einer Installation in der Linux-Umgebung (Raspberry, Ubuntu oder andere) Nach dem Kopieren dieses Ordners müssen die Zugriffsrechte auf den Ordner mit dem Befehl "chmod“. Zum Beispiel:

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

wo der Installationspfad ist, appgesalbt "/home/homeassistant/.homeassistant".

VIA HACS

Ab der 1.6.x-Version wurde die Komponentenunterstützung für die sehr komfortable Oberfläche eingeführt HACS-. Es wird empfohlen, die Komponente anhand der abgebildeten Erläuterungen zu installieren in der Karte, die diese Neuheit veranschaulicht.

Components Broadlink

Die Komponente "Broadlink"Von Home Assistant Es ist nützlich, einen Schalter zu erstellen, der (zumindest in diesem Fall) keinen hat, wenn er konfiguriert ist procast) eine bestimmte Funktion außer dieser indirekt zwei System "Dienste" erstellen welche funktionieren, Senden und Empfangen von Infrarot-Codes (und in Hochfrequenz, in den unterstützten Modellen).

Diese Service nimm den Namen von:

  • broadlink.learn
  • broadlink.send

Der erste Service wird notwendig sein für 'appRückkehr von Codes, die zweite zu senden (verwendet von der Wesen was wir in der Konfiguration definieren werden.

Wir definieren daher bei der Konfiguration di Home Assistant dieser erste Schalter:

# 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 Die Felder "host"Und"macAngezeigt Sie sind nur Beispiele und wird daher mit IP (fest) und Adresse bewertet MAC unseres Aktuators Broadlink, sowie das Feld "Typ“. Die Felder "on"Und"WOW!"Sind absichtlich leer gelassen.

An dieser Stelle Wiederaufnahme Home Assistant und, nachdem der Neustart abgeschlossen ist, wählen Sie in der linken Spalte des Frontends unter dem Menü "Entwicklertools" das erste Symbol auf der linken SeiteoderServices“. In der Liste der Dienste sollten sie appbieten die beiden oben genannten Dienstleistungen.

Konfiguration von SmartIR

An diesem Punkt sind wir pronti um das zu definierenWesen vom Typ "Media Player"Das rappwird unser Gerät an senden Home Assistant.
Geben Sie dazu einfach die Konfiguration ein ein Block dieses Typs:

smartir: 

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

Die Variablen werden erklärt wie folgt:

platform(Zeichenfolge, Anforderung) Name der Plattform. Muss unbedingt angegeben werden "smartir".
name(Zeichenfolge, optional) Der Name der Entität "Media Player"An Home Assistant.
device_code(ganz, erforderlich) Rappsents die Konfigurationsdatei in JSON-Notation (mit Codes und Features), die von der Komponente verwendet werden (darin suchen “smartir/codes/media_player") Die Entität" modellieren ". Sie können es stromaufwärts auswählen, indem Sie nach dem suchen proerstes Gerät auf dieser Liste.
In Abwesenheit der proZunächst werden wir versuchen, ein Ad-hoc-Modell zu definieren, dem wir folgen sollen proJet.
controller_data(Zeichenfolge, Anfrage) Rappsendet die IP-Adresse des erneut Broadlink zum Senden der Codes verwendet werden.
controller_command_topic(Zeichenfolge, optional) MQTT-Befehlsthema über Dienst mit dem Steuermodus verbunden "mqtt.publish“. Er erwartet, dass MQTT schon richtig ist konfiguriert und funktioniert im Netzwerk und bei Home Assistant.
power_sensor(Zeichenfolge, optional) Rappwidersteht einem möglichen binären Sensor (ein / aus), der rappAnzeige des Einschaltstatus des Geräts (unten erklärt).

Erste um diese Konfiguration durchzuführen bei Home AssistantEs ist notwendig sei dir bewusst über:

  • die IP von Broadlink über die die Codes gesendet werden sollen (Feld controller_data);
  • JSON-Dateiname, der rappsetzt die Konfiguration von zurück proerstes Gerät (Feld device_code).

In Bezug auf die Konfigurationsdatei können wir uns verschiedenen Situationen stellen:

  • Die Datei ist bereits zusammen mit der Komponente verfügbar SmartIR (siehe Liste);
  • die persönliche datei ist da schon vorhanden profür die Legacy-Komponente “Broadlink IR Media Player„;
  • keine datei.

Im ersten Fall ist es möglich, um zu konfigurieren Home Assistant, Wiederaufnahme und damit die integration abschließen.
Im zweiten oder dritten ist es notwendig Erstellen Sie eine neue persönliche Datei Ad-hoc, bevor Sie die Konfiguration beenden und neu starten Home Assistant.

Persönliche Konfigurationsdatei

Dieser Absatz ist von Interesse Nur wenn eine fertige Konfigurationsdatei nicht verfügbar ist (oder wenn es eine für die Legacy-Komponente gebaut hat "Broadlink IR Media Player") Bezogen auf proerstes Gerätemodell.

Es wird daher notwendig sein, es zu bauen ein Ad-hoc.

Codes

Die Codes - falls nicht unter den vorverpackten verfügbar - können sein recycelt aus der zuvor mit der Komponente verwendeten Konfigurationsdatei "Broadlink IR Media Player„; alternativ Sie können sie manuell sammeln und verbinden Sie sie manuell in eine neu generierte Datei.

CODES ERFASSEN

Wir haben dieses heikle und entscheidende Thema gewidmet ein Ad-hoc-Leitfaden, die zum Teil bereits nach der Gegenwart umgesetzt wurde proCasting (siehe Erstellung des Schalters Lerner).

DEFINITION VON PERSÖNLICHER DATEI

Zu diesem Zeitpunkt ist es nach der Erfassung der Codes ausreichend, eine neue JSON-Datei durch Zuweisen von a zu erstellen beliebiger Name (numerisch) draußen der bereits vorhandenen Namen zusammen mit der Komponente "SmartIR"(ZB"7000.json").

Zum Definieren der Datei reicht es aus heraus~~POS=TRUNC ein beliebiges existierendes zum Beispiel diese.

In der Konfigurations-JSON-Datei Es werden nicht nur die Codes eingegeben bezogen auf die verschiedenen Nutzungsarten (Block „Befehle"), Aber auch die verschiedenen Merkmale des Geräts, wie Name, Modell, Art der verwendeten Codes usw.

Der erste Block appsind mehr oder weniger so:

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

Die Felder sind wie folgt:

manufacturer(Zeichenfolge, obligatorisch) Gibt das an proConditioner-Hersteller.
supportedModels(Zeichenfolge, obligatorisch) Gibt das Modell an.
supportedController(srting, obligatorisch) Gibt das Antriebsmodell an (normalerweise) Broadlink).
commandsEncoding(Zeichenfolge, obligatorisch) Gibt die Codierung an. Unterstützt: "Base64","Pronto", Und"HEX“. Für Codes, die wie in diesem Abschnitt beschrieben gesammelt wurden produrch strahlen Broadlink, normalerweise zeigt es an "Base64".

Der zweite Teil der Datei beginnt ungefähr so:

    "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....."
            ]

Dieser Block definiert die beiden Hauptbefehle zum Ein- und Ausschalten ("on"/"WOW!") Und dann, um zu folgen, eine Liste von Quellen ("Quellen") Was dem Senden eines einzelnen Codes oder dem Senden mehrerer Codes entsprechen kann (z. B."Kanal 11„). Diese Liste ist vollständig anpassbar, sowohl in den Namen der Quellen als auch natürlich in den Codes.


Einmal Zusammenstellung der Datei abgeschlossen, bevor Sie es zu füttern Home Assistant Überprüfen Sie die Richtigkeit über das Internet app JSONLint.

Danach genügt es, die Datei in den Ordner zu kopieren. “/ Custom_components /smartir/ Codes / media_player", Konfigurieren Sie das Feld richtig device_CODE in der Konfiguration e Wiederaufnahme Home Assistant um die Integration zu beenden.

Zündstatus

Sache fundamental (und vielleicht am wichtigsten zwischen dem Erbe und der neuen Version der Komponente), ist es jetzt möglich, der Entität anzuzeigen, "Media Player" wo kann man das ableiten? proerster Zustand (ein / aus) oder von dort einer Entität vom Typ "Binär" Sensor" (Binärsensor ein / aus).

Dieser binäre Sensor bestimmt wiederum die proErster Zustand Ein / Aus basierend auf verschiedenen Techniken: Der klassischste ist die Verwendung die Messung der elektrischen Absorption vor dem Gerät, um seinen Zustand zu bestimmen (0 Watt Absorption, aus,> 0, acceso).

Es scheint trivial, ist es aber nicht: in der Tat ist es das der lange gewartet hatte. Stellen Sie sich folgendes Szenario vor:

  • Home Assistant das hat die föderiert proEntitäten mit einem intelligenten Sprecher;
  • Home Assistant mit Einheit "Media Player"Das rappdas infrarotgesteuerte Gerät ist vorhanden.

Solange es benutzt wird Home Assistant (über Frontend oder über Smart Speaker), um das Gerät zu steuern, tutto bene.
Aber was wird passieren wann und ob ich das Laufwerk überprüfen werde auch durch prodeine fernbedienung oder sonst wie manuell? Schalten Sie das Gerät auf diese Weise ein Home Assistant offensichtlich wird nicht bewusst sein des Zustandswechsels der Einheit, folglich des Zustands der Einheit, die rappärgert sich über dieHUB bleibt auf „aus“Und jeder Befehl zum Herunterfahren von Home Assistant und / oder von dem klugen Lautsprecher wird offensichtlich nicht gut gehen.

Wenn stattdessen werde ich darauf hinweisen Home Assistant Wo kann man den Zustand der Entität ableiten? Dinge werden sich ändern, warum nicht appWenn das Gerät manuell eingeschaltet wird, bewirkt die vom Sensor vor dem Gerät festgestellte Absorption in Watt (schnell ansteigend) den Binärsensor (entsprechend)namekonfiguriert) damit verbunden auf "ein" schaltenund damit auch die Stelle bei Home Assistant. Umgekehrt zum Ausschalten.

Für approfondire Dieses Thema ist verfügbar ein großer proJet dem staatlichen Abzug gewidmet von nicht domotischen Geräten durch die Analyse der elektrischen Absorption, die uns erklärt, So definieren Sie einen Binärsensor in der Konfiguration gefüttert werdenSmartIR"Zum Zweck appena erklärte.

Nutzung

Jedoch wenn alles richtig gemacht wurdean der Schnittstelle von Home Assistant werden appverbrannt ein neuer Eintrag ähnlich diesem:

Home Assistant  -  Media Player

Welche, wenn Sie klicken auf den drei Punkten in der unteren rechten Ecke, wird Details und Funktionen wie folgt bereitstellen:

Home Assistant  -  Media Player - Fernsehdetail

Automatisierung

An dieser Stelle können Sie auf Wunsch die Dienste desWesen vom Typ "Media Player" um die Entität (en) dieses Typs automatisch zu steuern.

Sagen wir, wir haben un Raspberry Pi als AirPlay-Empfänger konfiguriert den AUX-Eingang eines Hausautomationsverstärkers mit der in der vorliegenden Technik erläuterten Technik verbunden proJet. Wir möchten den Vorgang des Einschaltens des Verstärkers automatisieren und die richtige Quelle und Lautstärke einstellenprofalls.

Dann sagen wir mal einen Schalter definieren wollen (basierend auf der Komponente "Input Boolean“) Welche, wenn aktiviert:

  • Schalten Sie den Verstärker ein.
  • Warten auf eine bestimmte technische Einschaltzeit (sagen wir 5 Sekunden)
  • Wählen Sie den AUX-Eingang
  • Erhöhen Sie die Lautstärke, indem Sie den Druck der Taste Volume + (ein paar Mal) simulieren

Nehmen wir an, die Entities im Spiel heißen jeweils input_boolean.airplay (der Schalter) e media_player.amplificatore.

Automatisierung definiert werden werden:

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 Offizielles LogoATTENZIONE: Denken Sie daran, dass es in unserer FORUM-Community gibt ein Ad-hoc-Bereich für Home Assistantfür jeden Zweifel, Frage, Information auf dem spezifischen Verdienst dieser Komponenten.


Bitte kommentieren Sie unten