IR Blaster in Home Assistant

Modulul IR Blaster este programat cu Tasmota dar la cerere poate fi programat de la inceput si cu ESPHome.

Tasmota permite o integrare mai larga, cu orice soft de control Smart Home dar ESPHome este perfect integrat cu Home Assistant iar orice modificare este preluata automat si disponibila in interfata.

In acest tutorial vom trata update-ul la ESPHome de la Tasmota dar si integrarea unui modul deja scris cu ESPHome.


1. Configurare inițială în ESPHome

  • deschideți în Home Assistant tab-ul ESPHome
  • click pe "+ NEW DEVICE"
  • introduceți un nume pentru modulul IR Blaster, click NEXT
  • ESPHome oferă programarea modulului, alegeti "SKIP THIS STEP"
  • alegeți tipul de dispozitiv: click pe ESP8266 în listă
  • ESPHome vă anunță că a creeat configurația, apăsați "SKIP" deoarece nu programăm încă modulul
  • căutați în lista de dispozitive numele ales anterior și apăsați pe EDIT
  • în pagina de editare a fișierului yaml facem următoarele modificări:
  • la board: alegem esp12e
    esp8266:
      board: esp12e
  • la logger adăugăm linia baud_rate: 0 deoarece nu folosim log serial și astfel economisim resurse
    logger:
      baud_rate: 0
  • adaptăm setările pentru rețeaua WiFi, recomandat este să folosim fișierul SECRETS din pagina principală ESPHome
    wifi:
      ssid: !secret wifi_ssid
      password: !secret wifi_password
  • la sfârșitul fișierului începem să adăugam liniile care definesc pinii pentru LED-urile IR și eventual receptorul IR (dacă există pe placă, în funcție de model)
    remote_receiver:
      pin: GPIO13
      dump: all
    
    remote_transmitter:
      pin: GPIO15
      # Infrared remotes use a 50% carrier signal
      carrier_duty_percent: 50%
    
    button:
      # restart pentru modulul IR Blaster
      - platform: restart
        name: "Restart"
  • apăsăm SAVE apoi INSTALL apoi alegem "Manual download" iar după compilare obținem un fișier cu numele ales și cu extensia bin


2. Tasmota la ESPHome

  • alegem butonul Firmware Upgrade
    meniu principal Tasmota
  • în rubrica Upgrade by file upload alegem fișierul obținut la pasul 1. și apăsăm Start upgrade
    upgrade Tasmota
  • la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
    dispozitiv nou în Home Assistant


3. ESPHome

  • alimentăm modulul IR Blaster la 5V apoi căutam și ne conectăm la WiFi 3DStar
  • în pagina care se deschide, la OTA Update, alegem fișierul de la pasul 1. apoi apăsăm pe Update
    pagina default IR Blaster 3DStar
  • la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
    dispozitiv nou în Home Assistant


Din acest moment orice modificare facem din ESPHome doar apăsăm pe SAVE apoi pe INSTALL și modulul este reprogramat automat.

Mai multe informații despre configurarea dispozitivului ca la pasul 1. găsiți aici: ESPHome Setting up IR Devices


4. Comanda unui aparat de aer condiționat

Documentația oficială este disponibilă aici: ESPHome IR Remote Climate

În principiu trebuie sa găsim protocolul (producătorul) unității AC iar pe baza acestor informații sa adăugăm o entitate climate:

În cazul de față este vorba despre un AC Gree model mai vechi care are mai multe modele de transmisie IR: generic, yan, yaa, yac, etc.

Adăugăm la configurație următoarele linii: (inlocuim tot ce apare după captive_portal:

remote_receiver:
  id: irrx
  pin: GPIO13
  #dump: all

remote_transmitter:
  pin: GPIO15
  # Infrared remotes use a 50% carrier signal
  carrier_duty_percent: 50%

climate:
  - platform: gree
    model: yac
    name: "AC"
    receiver_id: irrx



button:
  # restart pentru modulul IR Blaster
  - platform: restart
    name: "Restart"

Apăsăm pe SAVE apoi INSTALL și după scriere vom avea disponibilă noua entitate climate cu care putem comanda AC-ul.
entitate climate comanda AC în Home Assistant


5. Comanda unui alt dispozitiv IR

Pentru a învăța butoanele unei telecomenzi, în fișierul de configurare la remote_receiver: trebuie sa fie activă linia dump: all
Așa vom primi în log mesaje despre codurile recunoscute de IR Blaster.
În cazul de față vrem sa utilizăm butonul de pornire al unei telecomenzi Panasonic. În log vom avea următoarea intrare după apăsarea butonului pe telecomandă:

[D][remote.panasonic] Received Panasonic: address=0x4004 command=0x8140DFA2

Introducem în fișierul de configurare la secțiunea button: următoarele

button:
  # restart pentru modulul IR Blaster
  - platform: restart
    name: "Restart"

  # de aici incepand adaugam alte butoane pe care sa le transmita IR Blaster
  - platform: template
    name: Panasonic pornit
    icon: mdi:power
    on_press:
      - remote_transmitter.transmit_panasonic:
          address: 0x4004
          command: 0x8140DFA2

După ce am terminat de configurat toate butoanele dorite, putem comenta linia dump: all


Succes la meșterit!