Hejka!
Nabyłem niedawno drogą kupna takie coś: Eachen IR DC6 IR Controller Template for Tasmota
Udało się bez problemu wgrać tasmotę, bez rozbierania.
Wygląda na to że jest OK, zeskanowałem pilota do projektora, stowrzyłem sobie plik z wszystkimi kodami, wysyłam przez MQTT i działa.
Jest jakiś sposób w który można by “ulepić” UI do pilota w Jolce?
Potrzebuję tylko kilka przykładowych przycisków, resztę sobie wymodzę…
Myślałem że może ten projekt da radę: GitHub - smartHomeHub/SmartIR: Integration for Home Assistant to control climate, TV and fan devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome) ale tam kody są podane w base64, a tasmota ma to w JSON na dwóch różnych key-value…
Może to będzie pomocne:
trigger:
- platform: mqtt
topic: tele/bathroomsensor/RESULT
condition:
- condition: template
value_template: '{{ trigger.payload_json.IrReceived is defined }}'
action:
- event: tasmota_ir
event_data:
data: '{{ trigger.payload_json.IrReceived.Hash }}'
Możesz wykorzystać usługę MQTT: Publish
Właśnie bardziej chodzi mi o UI do pilota - coś co sprawi że będę mógł dodać przyciski i klikać po nich - póki ci myślałem o siatce 3x10, żeby “powtykać” tam komendy z takiego pilota:
Ale po cichu mam nadzieję że jest jakaś lepsza możliwość…
Istnieje gdzieś opis kafelków które można dodać do dashboardów?
myślę że zrobisz to za pomocą karty “siatka”
https://www.home-assistant.io/lovelace/grid/
Definiujesz ilość kolumn, a rzędy wychodzą w zależności od ilości przycisków.
Przykład u mnie:
W siatce wybierasz przycisk. W karcie przycisku możesz wybrać akcję - wywołanie usługi - usługa mqtt.publish - w danych usługi: komenda dla Tasmota.
W edytorze YAML wygląda to tak:
A tak w wizualnym:
Jedyną małą trudność widzę w trafnym określeniu tematu dla wysłania komendy. Ale o tym było kilkakrotnie na forum i przydaje się MQTT Explorer.
To akurat mam już ogarnięte i przygotowane raczej
Dzięki za podpowiedzi, zabieram się do integrowania!
Jak byś chciał wyjść ponad standard HA to można (nie zalecane przez AIS) doinstalować custom-cards/button-card. To chyba będzie najlepszy wybór jeśli chodzi o stabilność i możliwości . Instalacja jest w/g instrukcji - metoda ręczna.
Duża konfuguralność ale z edytora YAML.
Chwilę mi to zajęło, ale jest:
Póki co najpotrzebniejsze funkcje.
Jakby komuś się przydał, to wrzucam mój kupokod
cards:
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC04FB","DataLSB":"0x3020DF","Repeat":0}
name: Info
show_state: false
icon: 'hass:eye'
- type: button
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC40BF","DataLSB":"0x3002FD","Repeat":0}
name: Power
show_state: false
icon: 'hass:power'
show_icon: true
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xCF00F","DataLSB":"0x300FF0","Repeat":0}
name: Menu/Exit
show_state: false
icon: 'hass:menu'
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xCD02F","DataLSB":"0x300BF4","Repeat":0}
name: Up
show_state: false
icon: 'hass:arrow-up'
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC10EF","DataLSB":"0x3008F7","Repeat":0}
name: Auto
show_state: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xCB04F","DataLSB":"0x300DF2","Repeat":0}
name: Left
show_state: false
icon: 'hass:arrow-left'
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC08F7","DataLSB":"0x3010EF","Repeat":0}
name: Mode/Enter
show_state: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC708F","DataLSB":"0x300EF1","Repeat":0}
name: Right
show_state: false
icon: 'hass:arrow-right'
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xCE01F","DataLSB":"0x3007F8","Repeat":0}
name: Eco/Blank
show_state: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC30CF","DataLSB":"0x300CF3","Repeat":0}
name: Down
show_state: false
icon: 'hass:arrow-down'
show_name: false
- type: button
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: cmnd/dom_CD5F47/irsend
payload: >-
{"Protocol":"NEC","Bits":32,"Data":"0xC20DF","DataLSB":"0x3004FB","Repeat":0}
name: Source
show_state: false
square: false
(Dzięki @Cezary.K za podpowiedź formatowania).
Kod wstawiaj używając```na początku i na końcu po trzy znaki odwrotnego apostrofu. Klawisz pod ESC
.
Korzystam z integracji z GitHub - mercs600/ha-adb_service: Control your ADB (NC+) decoder by HomeAssistant Service i tam jest przykład karty z pilotem, trochę “toporne” ale sprawdza się.