Smlight slzb-07mg24

Ale przecież ja informowałem wcześniej jaką mam wersje HA.
Ale nie robię instalacji MQTT pod HA tylko DOCKER

Tak właśnie myślałem po ostatnich postach, że nie oczekujesz pomocy, bo robisz wszytko inaczej niż prosimy.

Jeśli masz własne kontenery to zapomnij o wszystkim, co pisałem (to dotyczy tylko użycia Dodatków ogarnianych przez Supervisora), bo wtedy zmusisz konfigurować wszystko zgodnie z podstawową dokumentacją każdego z projektów.

Zasadnicza idea jest taka

  • musisz gdzieś mieć zainstalowany i skonfigurowany prawidłowo broker MQTT
  • dla instalacji innych niż typu Supervised i HAOS ten broker musi mieć dodanego użytkownika, z którego będzie korzystać Z2M
  • konfigurując musisz podawać jawne adresy sieciowe - tak by każdy serwer mógł się komunikować z każdym innym na poziomie sieci TCP/IP
  • konfiguracja Z2M musi korzytstać z tego zdefiniowanego dla niej użytkownika
  • dla HA też konfigurujesz jakiegoś użytkownika w brokerze (jest potrzebny dla integracji brokera w HA, ponieważ Integracja HA jest zwykłym klientem MQTT, podobnie jak klientem jest też Z2M)

Jeśli nie pokażesz pełnych konfiguracji swoich serwerów to nikt nie zgadnie gdzie masz błąd (ja się już poddaję w tym momencie). Przeceniasz możliwości naszych szklanych kul.

Na podstawie tego co pisałeś na początku sądziłem, że chcesz mieć łatwe życie, ale dockerowa instalacja to rozwiązanie dla naprawdę zaawansowanych (i nie czuję się wystarczająco zaawansowany by pomagać w tym wątku).

Na tych wyrywkach z logów masz jakieś komunikaty błędów - jak mawiają amerykanie “use google dude”…

Wcześniej miałem zwykłego NAS-a QNAP, ale był to zamknięty system, więc nie za wiele można było na nim zrobić. Postanowiłem więc przejść na coś otwartego i dlatego zdecydowałem się na ZIMABOARD, gdzie postawiłem system OMV z PORTAINER i YACHT, gdzie staram się wszystko ogarniać. Zdarza mi się instalować przez DOCKER-a. HA jest ajki jest, więc nie wszystko się da na nim zrobić. Podejmuje więc próby instalacji poza HA. Nie jest to łatwe i nie wszystko da się zanleźć w sieci, dlatego pytam tutaj.

Ale pomyśl - jak ktokolwiek może pomagać widząc jedną linijkę z błędem?
Szansa jedna na milion, że ktoś, kto tu zagląda już w swojej instalacji natknął się na identyczny błąd, by znać rozwiązanie a priori (a instalację masz wybitnie indywidualną).

W momencie gdy nie publikujesz swoich konfiguracji nikt nie jest w stanie znaleźć w nich potencjalnych błędów, bo nie ma w czym szukać…

No jestem ciekaw ile osób w POLSCE używa urządzenia ZIMABOARD :wink:
Ale jak to się mówi nie ma rzeczy niemożliwych więc jak będe miał więcej czasu poradzę sobie z tą konfiguracją :wink:

Przy takiej formie home lab musisz doktoryzować się z Docker i narzędzia Dockercompose. Jak już będziesz wiedział jak przekazywać zasoby i wolumeny dla kontenera oraz jak mapować połączenia sieciowe dla niego, to wówczas będziesz wiedział co z czym łączyć. W tym momencie musisz szukać informacji w dokumentacji każdego z projektów w dziale dotyczącym instalacji w formie kontenera Docker.
Na przykad:

Docker | Zigbee2MQTT

Jak już posiądziesz wiedzą z kontenerów to ten jeden więcej w postaci Home Assistant Core nie będzie niczym niezwykłym.
Do Ciebie należy decyzja czy OMV jest koniecznością i świadomym wyborem czy może priorytetem jest Home Assistant i łatwiejsza jego nauka poprzez wersję HAOS z Supervisor i AddOn (dodatkami w postaci kontenerów wewnątrz HAOS).

Ale w tej konstrukcji wyjątkowe jest tylko złącze PCIe wyciągnięte na zewnątrz i cena mało adekwatna do możliwości. To jest zwykła platforma X86, komputer jak wiele innych.

P.S.
Dla początkujących z dockercompse i szukających łatwiejszego zarządzania stacks’ami polecam projekt Dockge.

OFF_TOPIC

No jeśli chodzi o wyjątkowość sprzętu to parę dni temu miałem w rękach to

jest to przypadek podobny jak z Zimaboard (tyle że inna architektura procka) - wyprowadzone pcie na zewnątrz (no nie zupełnie na zewnątrz, jest po odwrotnej stronie płytki niż na zdjęciu, ale da się wetknąć np. nvme, ale by to miało ręce i nogi trzeba dokupić HAT + flexPCB + nietypowy radiator + nietypową obudowę…) i też to sumarycznie nie ma sensu ekonomicznego.

Ja to zamawiałem jak projekt startował na KICKSTARTER więc cena było inna.
zwykły komputer więc większe możliwości jak QNAP czy ASUSTOR

To narzędzie się przyda.
Dzięki

Zainstalowne zigbee2mqtt i mam takie info w logach:

[2024-10-15 22:32:43] info: 	z2m: Logging to console, file (filename: log.log)
[2024-10-15 22:32:43] info: 	z2m: Starting Zigbee2MQTT version 1.40.2 (commit #e06848d)
[2024-10-15 22:32:43] info: 	z2m: Starting zigbee-herdsman (2.1.3)
[2024-10-15 22:32:43] error: 	zh:zstack:znp: Failed to determine if path is valid: 'Error: ENOENT: no such file or directory, lstat '/dev/ttyACM0''
[2024-10-15 22:32:43] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyACM0","baudRate":115200,"rtscts":false,"autoOpen":false}
[2024-10-15 22:32:43] error: 	z2m: Error while starting zigbee-herdsman
[2024-10-15 22:32:43] error: 	z2m: Failed to start zigbee
[2024-10-15 22:32:43] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-10-15 22:32:43] error: 	z2m: Exiting...
[2024-10-15 22:32:43] error: 	z2m: Error: Error: No such file or directory, cannot open /dev/ttyACM0

docker-compose.yml

version: '3.8'
services:
  zigbee2mqtt:
    container_name: zigbee2mqtt
    image: koenkk/zigbee2mqtt:latest
    restart: unless-stopped
    volumes:
      - /srv/dev-disk-by-uuid-7586f787-e9fe-4d48-8533-bd131659e073/appdata/zigbbe&mqtt/data:/zigbbe&mqtt/data
      - /run/udev:/run/udev:ro
    ports:
      - 8080:8080 # Frontend port
    environment:
      - "TZ=Europe/Warsaw"
    network_mode: host
    devices:
      - /dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-07Mg24_7ae2fb301fe0ed11bbac5109f9a91825-if00-port0 -> ../../ttyUSB0

Zainstalowne zigbee2mqtt i mam takie info w logach:

z2m: Error: Error: No such file or directory, cannot open /dev/ttyACM0

Po pierwsze Z2M nie może otworzyć portu /dev/ttyACM0
nie wiem dlaczego, może sprzęt jest już przejęty przez ZHA
albo może to wcale nie jest właściwa ścieżka

Po drugie mówisz, że masz slzb-07mg24 czyli Silicon Labs a uparcie konfigurujesz Z2M do pracy z donglem Texas Instruments - widać, że ładujesz sterownik zstack zamiast jakiegokolwiek pasującego do sprzętu…

Po trzecie nie wiemy jakie firmware mu wgrałeś, a od tego zależy sterownik, który masz użyć

edit jak widać sprzęt jest pod ścieżką

/dev/serial/by-id/usb-SMLIGHT_SMLIGHT_SLZB-07Mg24_7ae2fb301fe0ed11bbac5109f9a91825-if00-port0

którą ewentualnie możesz zastąpić taką (ale odradzam takiego ruchu, bo pod ttyUSBx to może się znaleźć cokolwiek co będzie emulowało port szeregowy na USB)

/dev/ttyUSB0

a nie pod żadnym /dev/ttyACM0

Najwyraźniej Z2M którego logi pokazujesz nie uruchamia się z takimi parametrami jak podałeś niżej.

nie wiem skąd zigbee2mqtt ma /dev/ttyACM0

Czas na speca od Dockera

kupiłem i włożylem w USB :wink: ale chyba musze sprawdzić co tam w nim siedzi ale to nie zmienia faktu, że nie widzi go zigbee2mqtt tak ?

Ja się nie znam ale na moje oko to ta konfiguracja docker compose musi być do bani skoro kontener uruchamia się wykorzystując zupełnie inny port.

Poniżej masz przykład pliku Docker Compose z dokumentacji Z2M

Widać na pierwszy rzut oka, że nie wiesz na czym polega mapowanie volume dla kontenera:

version: '3.8'
services:
    zigbee2mqtt:
        container_name: zigbee2mqtt
        image: koenkk/zigbee2mqtt
        restart: unless-stopped
        volumes:
            - ./data:/app/data
            - /run/udev:/run/udev:ro
        ports:
            # Frontend port
            - 8080:8080
        environment:
            - TZ=Europe/Berlin
        devices:
            # Make sure this matched your adapter location
            - /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0

Poniżej jest zapis

        volumes:
            - ./data:/app/data
            - /run/udev:/run/udev:ro

To co znajduje się w wierszu przed znakiem dwukropka “:” to strona należąca do hosta. Po tej stronie wskazujemy to co mamy dla przekazania do kontenera np przestrzeń dyskową, katalog z konfiguracją. Dotyczy to również sprzętu w postaci peryferii USB, również portu, który może być inny niż ten wewnątrz kontenera. Natomiast to co jest zapisane za dwukropkiem (na prawo) to mapowanie wewnątrz kontenera - I NIE NALEŻY TEGO ZMIENIAĆ - z wyjątkiem gdy dokumentacja na to wskazuje. Budowa wewnętrzna obrazu kontenera wymusza dla zbudowania prawidłowego środowiska oprogramowania konkretnych zapisów (kodowanych przez twórcę obrazu) do wewnętrznych katalogów i plików. Tak aby kontener działał w wirtualnym obrazie a mapowanie pozwalało na bezpośredni dostęp do zasobów.

Więc jeśli zmieniasz sam zapis dla środowiska kontenera, to jego oprogramowanie szuka sprzętu w wirtualnym katalogu, bez powiązania z resztą kodu.

Czy ten swój plik docker compose sam zmieniałeś po stronie na prawo za dwukropkiem w linii dotyczącej mapowania do katalogu data?
Chodzi o ten zapis:

:/zigbbe&mqtt/data
1 polubienie

Odnośnie mapowania ścieżki do sprzętu zajrzałem w dokumentację i po lewej ma być by-id (czyli jest OK), ale skoro to działa tak jak mapowanie wszelkich innych zasobów, to nie kumam, co miałoby znaczyć to

to w takim razie powinno być zastąpione tym

:/dev/ttyACM0

Jak nie znalazł w katalogu wewnątrz kontenera ustawień, które powinieneś przekazać od strony hosta (czyli właściwego pliku konfiguracji) to poleciał tym co ma wewnątrz swojego obrazu, czyli standardowym, generowanym przy pierwszym uruchomieniu z ustawień domyślnych plikiem configuration.yaml.

1 polubienie

Tak sam zmieniłem. Tak się zakotwiczyłem na urządzeniu, że zapomniałem dodać swoją sciężke do katalogu.Poprawię i sprawdzę

to teraz wygląda to tak:

Using '/app/data' as data directory

Starting Zigbee2MQTT without watchdog.

[2024-10-16 20:12:16] info: 	z2m: Logging to console, file (filename: log.log)

[2024-10-16 20:12:16] info: 	z2m: Starting Zigbee2MQTT version 1.40.2 (commit #e06848d)

[2024-10-16 20:12:16] info: 	z2m: Starting zigbee-herdsman (2.1.3)

[2024-10-16 20:12:18] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyUSB0","baudRate":115200,"rtscts":false,"autoOpen":false}

[2024-10-16 20:12:18] info: 	zh:zstack:znp: Serialport opened

[2024-10-16 20:12:18] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload

[2024-10-16 20:12:19] info: 	zh:zstack:znp: Skip bootloader for CC2652/CC1352

[2024-10-16 20:12:38] error: 	z2m: Error while starting zigbee-herdsman

[2024-10-16 20:12:38] error: 	z2m: Failed to start zigbee

[2024-10-16 20:12:38] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions

[2024-10-16 20:12:38] error: 	z2m: Exiting...

[2024-10-16 20:12:38] error: 	z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)

    at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:113:27)

    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:137:29)

    at Zigbee.start (/app/lib/zigbee.ts:69:27)

    at Controller.start (/app/lib/controller.ts:161:27)

    at start (/app/index.js:154:5)

teraz to chyba wystarczy zrobić update dongla i powinno być ok :slight_smile: