Pilot IR - konfiguracja w Jolce

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?

2 polubienia

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.

1 polubienie

To akurat mam już ogarnięte i przygotowane raczej :slight_smile:
Dzięki za podpowiedzi, zabieram się do integrowania!

1 polubienie

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.

obraz

Duża konfuguralność ale z edytora YAML.

Chwilę mi to zajęło, ale jest:
obraz
Póki co najpotrzebniejsze funkcje.
Jakby komuś się przydał, to wrzucam mój kupokod :slight_smile:

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).

2 polubienia

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ę.