TapHome
Érdeklődés felmérése Funkció

Üzenetnapló a Packet Parserhez és az MQTT-hez: lásd, mit küldött és mit fogadott egy modul

Rövid napló a Packet Parser modul által küldött és fogadott üzenetekről, időponttal, iránnyal, MQTT-témával vagy címmel és tartalommal, amely hibakeresés közben a modul szervizbeállításaiban jelenik meg. Nem kell hozzá hálózati sniffer, és csak a modul saját üzeneteit tartalmazza, nem az egész hálózatét.

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.

Miért és hogyan használnád

A Packet Parser HTTP-n, TCP-n, UDP-n, FTP-n és MQTT-n keresztül csatlakoztatja a külső gyártók eszközeit a Core-hoz. Ha egy érték nem érkezik meg, vagy sokkal gyakrabban érkezik, mint kellene, a telepítőnek magukat az üzeneteket kell látnia: mi jött be, melyik témán, milyen tartalommal, és mit küldött ki a Core. Ma a Packet Parser modul szervizbeállításai statisztikákat mutatnak: hány üzenet érkezett és ment ki az utolsó 5 és 30 percben, hány bájt érkezett, MQTT esetén pedig az üzeneteket témánként. Ezekből megtudod, hogy érkezik valami, de azt nem, hogy mi az, és melyik eszköz küldte.

Egy jellemző eset: a telepítő figyeli az MQTT brókert, és pár másodpercenként, néha másodpercenként többször is látja egy lámpa állapotát, pedig azt percenként csak egyszer kellene kiírni. A Core küldi, vagy egy másik rendszer? Ha a Core, akkor melyik eszköz és melyik szkript? Ma ehhez hálózati sniffer vagy egy számítógépes MQTT-kliens kell a helyszínen. Egy másik eset: egy eszköz újabb generációja más témák alatt publikál, mint amire a listener szkript számít. Az érték üres marad, és az alkalmazás nem jelez hibát, mert egyező üzenet soha nem érkezik.

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.

A napló mindkét esetet első pillantásra megmutatná. Ezen a vázlaton egy lámpa író szkriptje másodpercenként ugyanazt az üzenetet küldi, egy másik témán érkező üzenet pedig feldolgozatlanként van jelölve, vagyis egyetlen eszköz sem olvassa.

MaEzzel az ötlettel
Üzenetek témánkéntCsak darabszámDarabszám és tartalom
Az üzenet tartalmaKülön programSzervizbeállítások
Ki küldteNem láthatóEszköz és szkript

Mi lesz lehetséges

Ezt az ötletet most értékeljük. Az alábbiakból még semmi sincs ütemezve, és a részletek még változhatnak.

  • Napló igény szerint. A naplózást a Packet Parser modul szervizbeállításaiban indítanád el, korlátozott időre, amíg a hibát keresed, és számítógépen, külön ablakban nyitnád meg. Magától leállna, és kikapcsolt állapotban semmit sem rögzít.
  • Mindkét irány. Minden sor tartalmazná az időt ezredmásodpercre pontosan, az irányt (fogadott vagy küldött), az MQTT-témát vagy a címet és a portot, a méretet és a tartalmat, szövegként vagy bájtokként.
  • Melyik eszköz használta. Fogadott üzenetnél a napló megmutatná, hogy a modul mely eszközei dolgozták fel, vagy azt, hogy egyik sem: olyan témát, amelyet egyetlen listener szkript sem olvas. Küldött üzenetnél az azt küldő eszközt és szkriptet mutatná, például egy MQTTPUBLISH-t használó író szkriptet.
  • Minden protokoll a saját fogalmaival. MQTT: az üzenet témája és tartalma. HTTP: metódus, útvonal, állapotkód, válaszidő és rövidített törzs. TCP és UDP: a SENDDATA-val küldött és a fogadott adatok. FTP: fájlnév, méret és eredmény, maga a fájl nem.
  • Kapcsolati események. Kapcsolódott, lekapcsolódott és sikertelen kapcsolódás, az okkal és a bróker vagy az eszköz címével.
  • Rejtett jelszavak. Az Authorization fejléceket, a cookie-kat, a felhasználóneveket, a jelszavakat és a címekben szereplő tokeneket a napló még a beírás előtt elfedné. A napló a Core memóriájában maradna: nem kerülne a felhőbe, nem lenne része a biztonsági mentésnek, és újraindítás után eltűnne.

Mi nem lesz lehetséges

  • A teljes hálózat rögzítése. A Core nem rögzítené a hálózati portjának teljes forgalmát, és nem készítene fájlt a Wireshark számára. Egy ilyen felvétel az otthon összes eszközének forgalmát tartalmazná, más rendszerek jelszavaival együtt.
  • A Core-on futó MQTT bróker teljes forgalma, az első verzióban. A napló azt tartalmazná, amit maga a Packet Parser modul küld és fogad. Azok az üzenetek, amelyeket más eszközök a Core-on futó brókeren keresztül váltanak, és amelyekre egyetlen TapHome modul sem iratkozott fel, nem lennének benne.
  • Hosszú előzmények. A napló az utolsó néhány száz üzenetet őrizné meg, a hosszú tartalmat pedig lerövidítené. Hibakeresésre szolgál, nem tartós naplózásra.
  • Az indítás előtti üzenetek. Ami a naplózás elindítása előtt érkezett, például közvetlenül a Core újraindulása után, nem lenne benne.
  • Más integrációk. A Modbus, a TapHome busz, a Zigbee és a többi integráció nem része ennek az ötletnek.

Hogyan oldható meg ma

  • Statisztikák a szervizbeállításokban. Nyisd meg a Packet Parser modul szervizbeállításait, és hasonlítsd össze a fogadott és a küldött üzenetek számát, MQTT esetén pedig a témákat. Egy nem várt téma azt jelzi, hogy az eszköz más név alatt publikál; egy sok üzenetet hozó téma ok a témaszűrő szűkítésére, lásd: Csomagelemzés.
  • A listener szkriptben először a témát ellenőrizd. Vizsgáld meg a RECEIVEDMSG.Topic értékét, mielőtt a tartalmat beolvasod, így a nem szükséges üzenetek szinte semmibe sem kerülnek, lásd: Listener szkript.
  • MQTT-kliens számítógépen. Csatlakoztass egy MQTT-klienst (például az MQTT Explorert) ugyanahhoz a brókerhez, ez lehet a Core-on futó MQTT bróker is, és iratkozz fel az eszköz témájára vagy a # témára. Minden üzenetet megmutat az időpontjával és a tartalmával.
  • Porttükrözés a switchen. HTTP, TCP és UDP esetén egy menedzselhető switch át tudja másolni a Core portjának forgalmát egy Wiresharkot futtató számítógépre. A HTTPS tartalma titkosítva marad.

Hogyan nézhetne ki

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.

HTTP modulnál a napló minden kéréshez párosítaná a hozzá tartozó választ, megmutatná az állapotkódot és a válaszidőt, jelölné a hibákat, például az időtúllépést, és elrejtené az Authorization fejlécet. A képek vázlatok: a végleges képernyők eltérhetnek.

Tudj meg többet

Melyik protokollnál keresel hibát a leggyakrabban, és mit kellene látnod a naplóban? Szavazz erre az ötletre, és kövesd a frissítésekért.

Kapcsolódó

Állapottörténet

  • 2026. nov. 4. Érdeklődés felmérése Közzétéve

Hozzászólások 0

Csatlakozz a beszélgetéshez

Jelentkezz be a TapHome-fiókoddal a hozzászóláshoz. A csapat jóváhagyja a hozzászólásokat, mielőtt megjelennének.

Még nincsenek hozzászólások.

Az ötletek irányvonalakat írnak le, nem kötelezettségvállalásokat. Nem teszünk közzé dátumokat; a kiadott funkciókat a kiadási megjegyzésekben jelentjük be.