TapHome
Prikupljanje interesa Funkcija

Zapis poruka za Packet Parser i MQTT: pogledajte što je modul poslao i primio

Kratki zapis poruka koje modul Packet Parser šalje i prima, s vremenom, smjerom, MQTT temom ili adresom i sadržajem, prikazan u servisnim postavkama dok otklanjate problem. Mrežni sniffer nije potreban, a zapis sadrži samo poruke samog modula, ne cijele mreže.

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.

Zašto i kako to koristiti

Packet Parser povezuje uređaje drugih proizvođača s centralnom jedinicom Core preko protokola HTTP, TCP, UDP, FTP i MQTT. Kad vrijednost ne stigne ili stiže mnogo češće nego što bi trebala, instalater mora vidjeti same poruke: što je stiglo, na kojoj temi, s kojim sadržajem i što je Core poslao. Danas servisne postavke modula Packet Parser prikazuju statistiku: koliko je poruka primljeno i poslano u zadnjih 5 i 30 minuta, koliko je bajtova primljeno, a za MQTT i poruke po temama. Statistika pokazuje da nešto stiže, ali ne i što je to ni koji ga je uređaj poslao.

Tipičan slučaj: instalater prati MQTT broker i vidi stanje jedne svjetiljke svakih nekoliko sekundi, ponekad i više puta u sekundi, iako bi se trebalo upisivati jednom u minuti. Šalje li ga Core ili neki drugi sustav? Ako je to Core, koji uređaj i koja skripta? Danas je za to potreban mrežni sniffer ili MQTT klijent na računalu uz instalaciju. Drugi slučaj: novija generacija uređaja objavljuje na drugim temama nego što listener skripta očekuje. Vrijednost ostaje prazna, a aplikacija ne prikazuje pogrešku, jer nikad ne stigne ništa što odgovara.

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.

Zapis bi oba slučaja pokazao na prvi pogled. U ovom nacrtu skripta za pisanje jedne svjetiljke šalje istu poruku svake sekunde, a poruka na drugoj temi označena je kao neobrađena, dakle ne čita je nijedan uređaj.

DanasS ovom idejom
Poruke po temiSamo brojBroj i sadržaj
Sadržaj porukePoseban alatServisne postavke
Tko ju je poslaoNe vidi seUređaj i skripta

Što će biti moguće

Ovu ideju procjenjujemo. Ništa od navedenog još nije planirano, a pojedinosti se još mogu promijeniti.

  • Zapis na zahtjev. Zapis biste pokrenuli u servisnim postavkama modula Packet Parser na ograničeno vrijeme dok otklanjate problem i otvorili ga u zasebnom prozoru na računalu. Zaustavio bi se sam, a dok je isključen, ništa se ne zapisuje.
  • Oba smjera. Svaki redak sadržavao bi vrijeme s točnošću na milisekundu, smjer (primljeno ili poslano), MQTT temu ili adresu i port, veličinu i sadržaj, kao tekst ili kao bajtove.
  • Koji ju je uređaj upotrijebio. Za primljenu poruku zapis bi pokazao koji su je uređaji modula obradili ili da je nije obradio nijedan: tema koju ne čita nijedna listener skripta. Za poslanu poruku pokazao bi uređaj i skriptu koja ju je poslala, na primjer skriptu za pisanje s MQTTPUBLISH.
  • Svaki protokol na svoj način. MQTT: tema i sadržaj poruke. HTTP: metoda, putanja, statusni kod, vrijeme odziva i skraćeno tijelo. TCP i UDP: podaci poslani sa SENDDATA i primljeni podaci. FTP: naziv datoteke, veličina i rezultat, ne sama datoteka.
  • Događaji veze. Povezano, odspojeno i neuspjelo povezivanje, s razlogom i adresom brokera ili uređaja.
  • Skrivene lozinke. Zaglavlja Authorization, kolačići, korisnička imena, lozinke i tokeni u adresama bili bi maskirani prije zapisivanja. Zapis bi ostao u memoriji centralne jedinice Core: ne bi se slao u oblak, ne bi bio dio sigurnosne kopije i nakon ponovnog pokretanja bi nestao.

Što neće biti moguće

  • Snimanje cijele mreže. Core ne bi snimao sav promet na svom mrežnom portu niti stvarao datoteku za Wireshark. Takva snimka sadržavala bi promet svih uređaja u kući, uključujući lozinke drugih sustava.
  • Sav promet MQTT brokera na centralnoj jedinici Core, u prvoj verziji. Zapis bi sadržavao ono što sam modul Packet Parser šalje i prima. Poruke koje drugi uređaji razmjenjuju preko brokera na centralnoj jedinici Core, a da nijedan modul TapHome nije pretplaćen na njih, ne bi bile u njemu.
  • Duga povijest. Zapis bi čuvao zadnjih nekoliko stotina poruka i skraćivao dugi sadržaj. To je alat za otklanjanje problema, ne trajni dnevnik.
  • Poruke od prije pokretanja. Ono što je stiglo prije nego što ste pokrenuli zapis, na primjer odmah nakon ponovnog pokretanja centralne jedinice Core, u njemu ne bi bilo.
  • Druge integracije. Modbus, sabirnica TapHome, Zigbee i druge integracije nisu dio ove ideje.

Kako to riješiti danas

  • Statistika u servisnim postavkama. Otvorite servisne postavke modula Packet Parser i usporedite broj primljenih i poslanih poruka te, za MQTT, teme. Tema koju niste očekivali pokazuje da uređaj objavljuje pod drugim nazivom; tema s mnogo poruka razlog je da suzite filtar tema, pogledajte Analiza paketa.
  • U listener skripti najprije provjerite temu. Usporedite RECEIVEDMSG.Topic prije nego što pročitate sadržaj, tako da poruke koje vam nisu potrebne gotovo ništa ne koštaju, pogledajte Listener skripta.
  • MQTT klijent na računalu. Spojite MQTT klijent (na primjer MQTT Explorer) na isti broker, što može biti i MQTT Broker na centralnoj jedinici Core, i pretplatite se na temu uređaja ili na #. Prikazuje svaku poruku s vremenom i sadržajem.
  • Zrcalni port na mrežnom preklopniku. Za HTTP, TCP i UDP upravljivi mrežni preklopnik (switch) može kopirati promet porta centralne jedinice Core na računalo s programom Wireshark. Sadržaj HTTPS prometa ostaje šifriran.

Kako bi moglo izgledati

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.

Za HTTP modul zapis bi svaki zahtjev povezao s njegovim odgovorom, prikazao statusni kod i vrijeme odziva, označio pogreške kao što je istek vremena (timeout) i sakrio zaglavlje Authorization. Slike su nacrt: konačni zasloni mogu izgledati drukčije.

Saznajte više

Kod kojeg protokola najčešće otklanjate probleme i što biste trebali vidjeti u zapisu? Glasajte za ovu ideju i pratite je kako biste dobivali novosti.

Povezano

Povijest statusa

  • 4. stu 2026. Prikupljanje interesa Objavljeno

Komentari 0

Pridružite se raspravi

Prijavite se svojim TapHome računom kako biste komentirali. Tim odobrava komentare prije nego što se prikažu.

Još nema komentara.

Ideje opisuju smjer, a ne obveze. Ne objavljujemo datume; objavljene funkcije najavljuju se u bilješkama o izdanju.