Nachrichten Sniffen ist im Prinzip loggen mit speziellen Einstellungen. Dazu wird vor allem der HM IO in einen speziellen Log Modus versetzt. Die Nachrichten landen in der zentralen Logdatei von FHEM.
Durch setzen bzw. modifizieren folgender Attribute wird er Sniffer Modus beim Homematic IO aktiviert:
attr global verbose 1 attr global mseclog 1 attr <IO> logIDs <ID1>,<ID2>
Was genau passiert dadurch?
- verbose 1 schaltet so ziemlich alles aus. Konzentration aufs Wesentliche!
- mseclog 1 schaltet die "exakte" Zeit ein, es werden die Millisekunden geloggt.
- logIDs schaltet das Logging für bestimmte HM Komponenten wieder ein. Dabei können mehrere Angaben mit Komma getrennt werden:
- all - steht für alle Homematic Geräte
- sys - steht für Systemnachrichten
- <HMID> - HMID des Gerätes/Channels für ein oder mehrere selektive Geräte/Kanäle
Normales Logging - Sniffen wieder ausschalten
Ist man fertig mit Sniffen löscht man einfach die zusätzlichen Attribute und versetzt das globale Logging wieder in den gewünschten Zustand (Standard verbose 3)
deleteattr global mseclog deleteattr <IO> logIDs attr global verbose 3
Mehrere IOs setzen
Man kann den Namen des <IO> durch einen devSpec ersetzen. Z.B. alle IOs die der VCCU zugeordnet sind.
attr owner_CCU=VCCU logIDs ID1,ID2 deleteattr owner_CCU=VCCU logIDs
Praktisches Beispiel
Ich logge in einer zweiten FHEM Instanz, mein produktives System bleibt wie es ist. Ich sniffe zwei Fernbedienungen
attr global verbose 1 attr global mseclog 1 attr myHmUARTLGW logIDs 101E78,53F520
Wenn man parallel den Event Monitor öffnet kann man sehr gut verfolgen welche Nachrichten und Events zusammengehören. Im Event Monitor muss man dazu folgendes Regexp im Filter eintragen
101E78|53F520
Drücke ich jetzt auf beiden Fernbedienungen kurz eine Taste bekomme ich folgende Einträge im Log
2017.10.05 14:50:57.978 0: HMUARTLGW myHmUARTLGW recv: 01 05 00 00 31 msg: A2 A4 40 101E78 152B02 0264 2017.10.05 14:50:58.110 0: HMUARTLGW myHmUARTLGW recv: 01 05 00 00 3F msg: A2 80 02 152B02 101E78 0101C80048 2017.10.05 14:51:02.752 0: HMUARTLGW myHmUARTLGW recv: 01 05 01 00 37 msg: 3A A2 40 53F520 200DB8 0305
Dazu gehört diese Bild im Event Monitor
Erste einfache Auswertung
Die Nachrichten werden pro Gerät fortlaufend Hex nummeriert (Zahl vor msg:)
Der erste Tastendruck (msg 31) geht von Gerät (101E78) zu Gerät (152B02) und wird quittiert (msg 3F). Diese Taste ist gepeert.
Der zweite Tastendruck geht (msg 37) vom Gerät (53F520) zur Zentrale (200DB8) und wird nicht quittiert. Diese Taste ist nicht gepeert.
Keine Kommentare:
Kommentar veröffentlichen