Witam,
Przez ostatnie miesiące pracowałem nad projektem dla urządzenia Mobilus Cosmo GTW, którego celem jest dodanie wsparcia dla standardu Matter. Chciałem w bardziej uniwersalny sposób zarządzać urządzeniami podłączonymi do Cosmo GTW za pomocą Apple HomeKit czy też Home Assistant. Standard Matter doskonale rozwiązuje ten problem.
Dla tych, którzy nie mieli jeszcze styczności z Matter - to otwarty standard komunikacji dla urządzeń smart home, mający na celu zapewnienie kompatybilności niezależnie od ekosystemu. Urządzenia z logo Matter można podłączyć m.in. do Apple HomeKit, Home Assistant, Google Home, itd. o ile dany system wspiera standard Matter.
Aplikacja mobmatter została oparta na oficjalnym Matter SDK i działa bezpośrednio na samym Cosmo GTW. Komunikuję się on z głównym procesem mobilus po MQTT. Obecnie aplikacja wspiera tylko rolety: Senso (eg. siłowniki ERS), Cosmo oraz C-MR. Jako, że sam posiadam rolety z siłownikami ERS, najlepiej przetestowany jest Senso. Cosmo oraz C-MR nie miałem możliwości zweryfikować w praktyce, ale ze względu na w miarę podobną zasadę działania powinny również działać.
Dzięki temu, że Mobilus używa zdarzeń do raportowania o zmianach stanów urządzeń, aplikacja automatycznie przekazuje to dalej, tym samym mając natychmiastowe aktualizacje o stanie urządzeń w podłączonych systemach.
link do repozytorium
Instalacja
Do zainstalowania mobmatter wymagany jest dostęp SSH, jak go aktywować tutaj. Również upewnij się, że wersja oprogramowania Twojego Cosmo GTW jest przynajmniej 0.1.7.8.
Po połączeniu się z urządzeniem, uruchom poniższe polecenie w celu przeprowadzenia instalacji runtime, które posłuży do odpalenia mobmatter:
wget --no-check-certificate -qO- https://raw.githubusercontent.com/piku235/mobgtw-runtime/main/install.sh | sh
Teraz, możesz zainstalować mobmatter taką prostą komendą:
/opt/jungi/bin/pkg install mobmatter
Odpowiednio dostosuj dane logowania do Mobilus jeżeli używasz innych danych logowania niż te domyślne w Cosmo GTW:
vim /opt/jungi/etc/mobmatter.conf
Po dokonanych zmianach w mobmatter.conf wykonaj komendę do przeładowania usługi:
/etc/init.d/mobmatter reload
Aby sprawdzić czy mobmatter poprawnie działa możesz zobaczyć log usługi:
logread -e matter
Po pierwszym uruchomieniu aplikacja znajduję sie tzw. trybie commissioning. Jest to tryb, który pozwala na sparowanie urządzenia. Tryb ten zostanie automatycznie zamknięty po pierwszym pomyślnym sparowaniu.
Tryb parowania można przeprowadzić na 2 sposoby: QR albo kod manualny.

kod: 21693312337 lub 20202021
Home Assistant
Aby proces parowania przeszedł pomyślnie wymagana jest załączona flaga test DCL w Matter server. Znajduję się w aplikacje → Matter server → Konfiguracja → “Enable test-net DCL usage”
Apple Home
Wymagany jest zainstalowany Matter Developer Profile, zarówno na iPhone oraz HomePod lub Apple TV. Jak to zrobić, opisane jest na stronie dokumentacji Matter SDK