TapHome
Zbierame záujem Funkcia

Záznam správ pre Packet Parser a MQTT: pozrite sa, čo modul odoslal a prijal

Krátky záznam správ, ktoré modul Packet Parser odosiela a prijíma, s časom, smerom, témou MQTT alebo adresou a obsahom, zobrazený v jeho servisných nastaveniach, kým hľadáte chybu. Bez sieťového sniffera a len vlastné správy modulu, nie celá sieť.

Messages over MQTT, HTTP, TCP and UDP go in and out of a Packet Parser module on the Core, which hands each received one to its devices: two process it, one message is processed by none. The record lists every message, marked as processed or not, while other network traffic stays outside.
Messages over MQTT, HTTP, TCP and UDP go in and out of a Packet Parser module on the Core, which hands each received one to its devices: two process it, one message is processed by none. The record lists every message, marked as processed or not, while other network traffic stays outside.

Prečo a ako by ste to použili

Packet Parser pripája zariadenia tretích strán k riadiacej jednotke Core cez HTTP, TCP, UDP, FTP a MQTT. Keď hodnota nepríde alebo prichádza oveľa častejšie, než by mala, inštalatér potrebuje vidieť samotné správy: čo prišlo, s akou témou, s akým obsahom a čo odišlo z Core. Dnes servisné nastavenia modulu Packet Parser zobrazujú štatistiky: koľko správ bolo prijatých a odoslaných za posledných 5 a 30 minút, koľko bajtov bolo prijatých a pri MQTT správy podľa tém. Povedia vám, že niečo prichádza, nie však, čo to je ani ktoré zariadenie to poslalo.

Typický prípad: inštalatér sleduje MQTT broker a vidí stav jedného svietidla každých pár sekúnd, niekedy aj niekoľkokrát za sekundu, hoci by sa mal zapisovať raz za minútu. Posiela ho Core, alebo iný systém? Ak Core, tak ktoré zariadenie a ktorý skript? Dnes na to treba sieťový sniffer alebo MQTT klienta na počítači pri inštalácii. Iný prípad: novšia generácia zariadenia publikuje pod inými témami, než očakáva listener skript. Hodnota ostane prázdna a aplikácia neukáže žiadnu chybu, pretože nikdy nepríde nič, čo by zodpovedalo.

Draft of the message log window in the TapHome app on a Mac for an MQTT module: messages with time, direction, topic, size, content and device. A lamp's write script sends the same message every second, and one message is marked Not processed. Below, the selected message with its full content.

Záznam by ukázal oba prípady na prvý pohľad. V tomto návrhu skript pre zápis svietidla posiela tú istú správu každú sekundu a správa s inou témou je označená ako nespracovaná, takže ju nečíta žiadne zariadenie.

DnesS týmto nápadom
Správy podľa témLen počtyPočty a obsah
Obsah správySamostatný nástrojServisné nastavenia
Kto ju poslalNie je vidieťZariadenie a skript

Čo bude možné

Tento nápad posudzujeme. Nič z toho, čo nasleduje, zatiaľ nie je naplánované a detaily sa ešte môžu zmeniť.

  • Záznam na požiadanie. Záznam by ste spustili v servisných nastaveniach modulu Packet Parser na obmedzený čas, kým hľadáte chybu, a otvorili by ste ho vo vlastnom okne na počítači. Zastavil by sa sám a kým je vypnutý, nič sa nezaznamenáva.
  • Oba smery. Každý riadok by niesol čas s presnosťou na milisekundu, smer (prijatá alebo odoslaná), tému MQTT alebo adresu a port, veľkosť a obsah, ako text alebo ako bajty.
  • Ktoré zariadenie ju použilo. Pri prijatej správe by záznam ukázal, ktoré zariadenia modulu ju spracovali, alebo že žiadne: téma, ktorú nečíta žiadny listener skript. Pri odoslanej správe by ukázal zariadenie a skript, ktorý ju odoslal, napríklad skript pre zápis s MQTTPUBLISH.
  • Každý protokol po svojom. MQTT: téma a obsah správy. HTTP: metóda, cesta, stavový kód, čas odozvy a skrátené telo. TCP a UDP: dáta odoslané cez SENDDATA a prijaté dáta. FTP: názov súboru, veľkosť a výsledok, nie samotný súbor.
  • Udalosti spojenia. Pripojenie, odpojenie a neúspešné pripojenie, s dôvodom a adresou brokera alebo zariadenia.
  • Skryté heslá. Hlavičky Authorization, cookies, používateľské mená, heslá a tokeny v adresách by sa pred zápisom zamaskovali. Záznam by ostal v pamäti Core: neposielal by sa do cloudu, nebol by súčasťou zálohy a po reštarte by zmizol.

Čo nebude možné

  • Zachytávanie celej siete. Na Core by sa nezachytávala všetka prevádzka na jeho sieťovom porte ani by nevznikal súbor pre Wireshark. Takýto záznam by obsahoval prevádzku každého zariadenia v dome vrátane hesiel iných systémov.
  • Celá prevádzka MQTT brokera na Core v prvej verzii. Záznam by niesol to, čo sám modul Packet Parser odosiela a prijíma. Správy, ktoré si cez broker na Core vymieňajú iné zariadenia bez toho, aby ich odoberal niektorý modul TapHome, by v ňom neboli.
  • Dlhá história. Záznam by uchovával posledných niekoľko stoviek správ a dlhý obsah by skracoval. Je to nástroj na hľadanie chýb, nie trvalý log.
  • Správy spred spustenia. Čo prišlo predtým, než ste záznam spustili, napríklad hneď po reštarte Core, by v ňom nebolo.
  • Iné integrácie. Modbus, zbernica TapHome, Zigbee a ďalšie integrácie nie sú súčasťou tohto nápadu.

Ako to riešiť dnes

  • Štatistiky v servisných nastaveniach. Otvorte servisné nastavenia modulu Packet Parser a porovnajte počty prijatých a odoslaných správ a pri MQTT aj témy. Téma, ktorú ste nečakali, ukazuje, že zariadenie publikuje pod iným názvom; téma s mnohými správami je dôvod zúžiť filter témy, pozrite si časť Analýza paketov.
  • V listener skripte najprv skontrolujte tému. Porovnajte RECEIVEDMSG.Topic skôr, než prečítate obsah, aby správy, ktoré nepotrebujete, nestáli takmer nič, pozrite si časť Listener skript.
  • MQTT klient na počítači. Pripojte MQTT klienta (napríklad MQTT Explorer) k tomu istému brokeru, aj keď je to MQTT broker na Core, a prihláste sa na odber témy zariadenia alebo #. Zobrazí každú správu s časom a obsahom.
  • Zrkadlenie portu na switchi. Pri HTTP, TCP a UDP vie manažovateľný switch kopírovať prevádzku portu Core do počítača s programom Wireshark. Obsah HTTPS ostáva zašifrovaný.

Ako by to mohlo vyzerať

Draft of the message log window for an HTTP module: each request with method and path, each answer with status code and response time, a timeout and an Unauthorized answer in pink. The selected request shows its headers with the Authorization value hidden.

Pri module HTTP by záznam spároval každú požiadavku s jej odpoveďou, ukázal stavový kód a čas odozvy, označil chyby, napríklad timeout, a skryl hlavičku Authorization. Obrázky sú návrh: výsledné obrazovky môžu vyzerať inak.

Viac informácií

Pri ktorom protokole hľadáte chyby najčastejšie a čo by ste v zázname potrebovali vidieť? Zahlasujte za tento nápad a sledujte ho kvôli novinkám.

Súvisiace

História stavov

  • 4. 11. 2026 Zbierame záujem Zverejnené

Komentáre 0

Zapojte sa do diskusie

Na komentovanie sa prihláste účtom TapHome. Komentáre pred zverejnením schvaľuje tím.

Zatiaľ bez komentárov.

Nápady ukazujú smer, nie záväzky. Termíny nezverejňujeme; vydané funkcie oznamujeme v release notes.