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
- în rubrica Upgrade by file upload alegem fișierul obținut la pasul 1. și apăsăm Start upgrade
- la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
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
- la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
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.
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!