[Gelöst]MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw

Begonnen von LuckyDay, 22 Februar 2020, 12:49:55

Vorheriges Thema - Nächstes Thema

LuckyDay

Gibt es eine Möglichkeit , wenn Ich
set mqttclient_localhost publish haus/Inet/Fhem_Inet_live/state on

das nachfolgende Event zu unterdrücken?


2020-02-22 12:37:29.585 MQTT2_CLIENT mqttclient_localhost publish haus/Inet/Fhem_Inet_live/state on

die ATTR event-on-change, update gibt es beim MQTT2_CLIENT und MQTT2_SERVER nicht

rudolfkoenig

Zitatdie ATTR event-on-change, update gibt es beim MQTT2_CLIENT und MQTT2_SERVER nicht
Man kann sie aber per userattr "aktivieren".
Falls irgendjemand mir erklaert, warum das von generellen Interesse ist, kann ich sie auch im Modul aufnehmen.

rudolfkoenig

Nachtrag: event-on-change wuerde diese Events nicht verhindern, weil sie nur events, die durch Setzen eines Readings entstanden sind, filtern kann. Dieses Event wird von fhem.pl/DoSet() dann generiert, falls der set keine Readings per Readings*Update() erzeugt hat.

Will damit sagen: um diese Events filtern zu koennen muesste entweder "set publish" Readings setzen, oder man muesste grundlegende Aenderungen in fhem.pl durchfuehren.

LuckyDay

 :)
2020-02-22 15:48:12.548 MQTT2_CLIENT mqttclient_localhost publish /haus/Inet/FB1und1/tam1_oldMsg 1
2020-02-22 15:48:12.551 MQTT2_CLIENT mqttclient_localhost publish /haus/Inet/FB1und1/tam1_newMsg 0
2020-02-22 15:48:12.554 MQTT2_CLIENT mqttclient_localhost publish /haus/Inet/FB1und1/box_ipExtern 94.216.226.154
2020-02-22 15:48:12.558 MQTT2_CLIENT mqttclient_localhost publish /haus/Inet/FB1und1/lastReadout 257 values captured in 0.00 s
2020-02-22 15:48:12.558 FRITZBOX fritzbox2 tam1_oldMsg: 1
2020-02-22 15:48:12.558 FRITZBOX fritzbox2 tam1_newMsg: 0
2020-02-22 15:48:12.558 FRITZBOX fritzbox2 box_ipExtern: 94.216.226.154
2020-02-22 15:48:12.558 FRITZBOX fritzbox2 lastReadout: 257 values captured in 0.00 s


Nur ein kleines Beispiel.

Ich stelle alle interesannten Readings per MQTT2 zur Verfügung und jedes Fhem kann die entsprchenden Topics abonieren.
Ich benötige diese publisch Events aber nicht, sie werden aber allen notify filelogs usw in der Instanz angeboten.
In dem Beispiel kann ich es am Device Fritzbox noch auf 4 begrenzen.
Beim Wetterdevice kommen für 3 Tage Forecast ungefähr 300 Readings die sich auf weitere 300 Publisch Events verdoppeln pro update.
und das würde ich gerne unterdrücken



LuckyDay

Zitat von: rudolfkoenig am 22 Februar 2020, 16:30:29
Nachtrag: event-on-change wuerde diese Events nicht verhindern, weil sie nur events, die durch Setzen eines Readings entstanden sind, filtern kann. Dieses Event wird von fhem.pl/DoSet() dann generiert, falls der set keine Readings per Readings*Update() erzeugt hat.

Will damit sagen: um diese Events filtern zu koennen muesste entweder "set publish" Readings setzen, oder man muesste grundlegende Aenderungen in fhem.pl durchfuehren.

Das habe ich gerade auch bemerkt, dass
attr mqttclient_localhost event-on-update-reading state
attr mqttclient_localhost userattr event-on-update-reading

nicht funktioniert

rudolfkoenig

ZitatIch benötige diese publisch Events aber nicht, sie werden aber allen notify filelogs usw in der Instanz angeboten.
Nicht wenn der notify usw. regexp geschickt definiert ist, und NOTIFYDEV gesetzt werden kann.

LuckyDay

ZitatNicht wenn der notify usw. regexp geschickt definiert ist, und NOTIFYDEV gesetzt werden kann.

Ja genau
.*:.* {
da ich fast alle Events publish e , ist natürlich der Joker gesetzt im Notify  ;D

LuckyDay

Zitatfhem.pl/DoSet() dann generiert, falls der set keine Readings per Readings*Update() erzeugt hat.

Bevor du die fhem.pl umbaust :)
vergebe doch das reading publish dem MQTT2CLIENT, sei doch nicht so geizig.

rudolfkoenig

"persoenliche Motivation" ist bei mir eher kontraproduktiv.

Ich habe aber (nachdem ich bis 10 gezaehlt habe), beschlossen, dass ein lastPublish reading nicht schadet, und es in beiden MQTT2 IODevs eingebaut, samt readingFnAttributes.