Timestamp in MQTT MSG

Hallo @sathya,

kannst Du evetuell einen Timestamp (Zeit wann die Meldung eines Sensors in homegear empfangen wurde) mit in die MQTT MSG mit einbauen ? Am besten über eine Option in der MQTT.conf (option Timestamp in MQTT = false/true).

Gruß

Dirk

Hey diba,

meines Wissens nach steht das entgegen der Idee von MQTT. Es ist ja eventbasiert - die Nachricht entsteht, wenn das Ereignis aufgetreten ist. Gedanklich sind Event’s eben kein Key-Value-Store.

Ich baue mir die Zeit in node-red durch das Event in dem Moment wenn es ausgelöst wird und packe es im msg-object dazu. Gleiches sollte in node-blue gehen.

Wenn ich mich richtig erinnere, kommt mit mqtt5 ein timestamp für Nachrichten die retained sind dazu, damit man weiß wann sie aufgetreten ist. Aber wie gesagt, nicht sicher.

Hi pmayer,

aktuell mache ich das genau so wie Du beschreibst in node-red. Leider wird bei jedem deploy die Zeit des deploys gesetzt. Das an sich ist nicht so schlimm. Es störrt nur in der Entwicklungszeit. Wenn dann mal alle Flows fertig sind ist das mit dem deploy dann auch kein Problem mehr.

Wo bei es ja nicht auch schadet in der msg.palyoad eine Zeit mitzugeben :grinning:

Gruß

diba

Ja, aber Zeit von “was”? :wink:

Mach einfach keinen Full-Deploy, dann reconnected node-red nicht gegen mqtt und erhält nicht alle retained messages erneut.

Ja, aber Zeit von “was”?

z.B. Empfangs Zeit der Homematic Bidcos Broadcast Message. Ein Eintrag im homegear.log wir ja auch mit Timestamp generiert. Den werte ich z.B. aktuell mit syslog NG aus um syslog Meldungen zu generieren.

Oder z.B. die Zeit der letzten State Meldung eines Homematic Rauchmelders. Die kommt leider nicht periodisch (so wie ich das verstanden habe kommt die die 1x am Tag oder beim auslösen) wie die Homematic Bidcos Broadcast Message.

Somit kann ich zum Beispiel prüfen ob der Rauchmelder noch lebt.

Gruß diba

Na, so hab ichs nicht gemeint :wink:
Die Zeit von was im MQTT-Kontext?

Was du erreichen willst habe ich verstanden :slight_smile:

Ok. wenn ich ehrlich bin hat es MQTT selbst nix zu tun. Das nutze ich ja nur als Transportprotokoll für die Informationen zwischen Homegear und node-red.

Es geht dann eher um die msg.payload in die eine Zeit mit reinkodiert werden soll.

1 Like

Hm. Da bin ich mir nicht sicher. Wenn ich es richtig verstanden habe, möchtest du den Zeitpunkt des fachlichen Events in der mqtt-Nachricht haben. Das funktioniert aber nur wenn die Nachricht eine Struktur enthält. Ich meine mich zu erinnern, dass in der Nachricht nur der Wert steht.

Hallo job,

jup genau :slight_smile:. Wenn Sich das machen lässt :slight_smile:

Gruß Diba

Hallo @diba,

ins jsonobj habe ich es mal eingebaut - ist im nächsten Nightly.

Viele Grüße

Sathya

Hallo @sathya,

super vielen Dank.

Gruß Dirk