Kody IR do MQTT

Cześć,
Szukam sposobu aby odbierać kody z pilota na moim boxie x96Max+ z CoreELEC tak by były przesyłane do MQTT.
Znalazłem cos takiego docker-lirc-watcher niestety nie jestem wstanie uruchomić kontenera, jestem zielony i w programowaniu i w linuxie nie wiem czy coś źle robię czy ten skrypt po prostu nie pójdzie na CoreELEC.
wydaje mi sie że lirc działa bo odbieram kody:

CoreELEC:~ # irw
67 0 KEY_UP devinput
6c 0 KEY_DOWN devinput

ale jak uruchamiam kontener to mam błąd:

LIRC watcher started
Traceback (most recent call last):
  File "lirc_watcher.py", line 68, in <module>
    sock.connect("/var/run/lirc/lircd")MQTT connected
ConnectionRefusedError
: [Errno 111] Connection refused

Proszę o jakąś wskazówkę czy jest sens iść tą drogą.

Obecnie mam ESP z czujnikiem podczerwieni które zbiera kody i publikuje na MQTT ale pomyślałem że i to mógłby robić tvbox

Witamy na forum.

Więc podziel się linkiem. Mamy przeszukiwać internet?
Podaj swoją konfigurację pod kontener.

Jaki skrypt, gdzie?
EDIT:
To te repozytoriom?

1 polubienie

Tak to to. Skrypt mam na myśli lirc_watcher.py z tego co rozumiem to ten program wykonuje całą robote czy jego da się meże bezpośrednio w coreelec odpalić albo czy znasz coś o podobnym działaniu.
Dokera uruchamiam komendą

docker run -it --name lirc -d -v ~/var/run/lirc/lircd:/var/run/lirc/lircd --env MQTT_BROKER=192.168.x.x --env MQTT_USER=login --env MQTT_PASSWORD=haslo pilotak/lirc-watcher

Komendę docker run musisz odpowiednio zmienić pod własne potrzeby. Najważniejsze jest zmapowanie ścieżki do voluminu dla kontenera.
W dokumentacji na github masz podany przykład dla docker-compose:

version: "3"
services:
  lirc:
    container_name: lirc
    restart: always
    image: pilotak/lirc-watcher
    environment:
      - MQTT_BROKER=192.168.0.10
      - MQTT_USER=admin
      - MQTT_PASSWORD=my-secret-pw
    volumes:
      - /var/run/lirc/lircd:/var/run/lirc/lircd

To jest dobry przykład. Musisz zmienić sieżkę do miejsca przechowywania danych kontenera na właściwą dla systemu hosta (CoreElec). Z tego co pamiętam w CoreElec jest z pudełka zainstalowany docker-compose ale mogę się mylić.
Generalnie fajny pomysł i jestem ciekaw efektów.

Znalazłem jeszcze taki obraz:
https://hub.docker.com/r/orbifly/lirc2mqtt
Oraz coś z API:

EDIT:
Tak przeglądając te repozytoria dochodzę do wnioski, że wolał bym kupić BroadLink’a niż pisać dla każdego komponentu pliki konfiguracji. Ale sam musisz ocenić co dokładnie chcesz robić i ile tych pilotów masz do niezintegrowania.

Głupi bład.z tyldą: -v ~/var/… a powinno być -v /var…

docker run -it --name lirc -d -v /var/run/lirc/lircd:/var/run/lirc/lircd --env MQTT_BROKER=192.168.x.x --env MQTT_USER=login --env MQTT_PASSWORD=haslo pilotak/lirc-watcher

Kontener ruszył i w mqtt pojawiają się rozpoznane kody

lirc/devinput/KEY_UP short
lirc/devinput/KEY_LEFT short
1 polubienie