FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: LuckyDay am 22 Februar 2020, 12:49:55

Titel: [Gelöst]MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: LuckyDay am 22 Februar 2020, 12:49:55
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
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: rudolfkoenig am 22 Februar 2020, 15:39:46
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.
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag 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.
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: LuckyDay am 22 Februar 2020, 16:32:51
 :)
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


Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: LuckyDay am 22 Februar 2020, 16:35:55
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
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: rudolfkoenig am 22 Februar 2020, 16:38:51
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.
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: LuckyDay am 22 Februar 2020, 17:15:55
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
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: LuckyDay am 22 Februar 2020, 22:13:31
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.
Titel: Antw:MQTT2_CLIENT und MQTT2_SERVER --> kein attr event-on-change, update usw
Beitrag von: rudolfkoenig am 23 Februar 2020, 13:36:16
"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.