FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: sweetie-pie am 30 März 2024, 14:33:51

Titel: Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter
Beitrag von: sweetie-pie am 30 März 2024, 14:33:51
Hallo,

ich probiere meinen MultiPlus II GX per MQTT an fhem anzubinden (Firmwareversion V3.30).
Prinzipiell funktioniert es auch, aber die Last ist derart hoch, dass meine fhem Instanz in die Knie geht.
Ich habe verschieden Foreneinträge gefunden, die ähnliche Probleme hatten.
Teilweise sind die User auf Modbus ausgewichen, aber das möchte ich ungern.

Ich habe bereits probiert mit ignoreRegexp oder event-on die Last zu drücken, aber die Quelle scheint mir das Problem.

FRAGE 1:

Ich habe gem. Anleitung hier probiert, das was gesendet wird einzuschränken (Mode b):
https://github.com/victronenergy/dbus-mqtt?tab=readme-ov-file#keep-alive

Ich mache das Keepalive in einem at-Job:
Internals:
   COMMAND    set venus publish R/c0619ab2f319/keepalive ["settings/#", "grid/#", "battery/#", "vebus/#"]
   DEF        +*00:00:55 set venus publish R/c0619ab2f319/keepalive ["settings/#", "grid/#", "battery/#", "vebus/#"]

Es kommen aber nach wie vor noch viele weitere Topics an, z.b. N/c0619ab2f319/system was ich nicht brauche.
Hat das einer von euch entsprechend erfolgreich implementiert?
Auch mit MQTT Explorer gelingt mir das übrigens nicht.
Ich vermute ja, dass ich bei der Syntax noch eine Fehler mache, irgendwas escaped werden muss oder so.


FRAGE 2:

Weiterhin eine Frage zu Reihenfolge beim Herausfiltern im MQTT2_CLIENT:
In welchen Zusammenhang stehen die Attribute ignoreRegexp und subscriptions in dem Modul.
Was zählt hier mehr, bzw. in welcher Reihenfolge werden die Attribute angewendet?

Beispiel:
Folgende Topics möchte ich haben:
N/c0619ab2f319/grid/30/Ac/L1/CurrentAber folgende (und viele weitere) nicht:
N/c0619ab2f319/grid/30/Ac/L1/Power
N/c0619ab2f319/grid/30/Ac/L1/Voltage
N/c0619ab2f319/grid/30/Ac/L1/Energy/Reverse
N/c0619ab2f319/grid/30/Ac/L1/Energy/Forward

In meinen Subscriptions steht z.B.
N/c0619ab2f319/grid/30/Ac/L1/Current
Ich vermute ich kann jetzt nicht ignoreRegexp folgenden Wert eintragen?
N/c0619ab2f319/grid
Was ich dabei seltsam finde:
Wenn ich im MQTT2_CLIENT zum Debuggen auf "Show MQTT traffic" klicke, dann sehe ich dort trotz der ignoreRegexp-Einstellung noch die gewünschten Topics, aber im MQTT_DEVICE kommen sie dann nicht mehr an!? Das verwirrt mich...

Über Hinweise und Tipps würde ich mich freuen, vllt. habe ich das (komplexe) Thema ja noch nicht ganz durchdrungen.

Gruß
  sweetie-pie








Titel: Aw: Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter
Beitrag von: Beta-User am 30 März 2024, 15:52:04
Zu 2.: "subscriptions" sind die Topics, die ein client bei dem server bestellt. Der Server sollte dann sich nichts anders ausliefern.
Das geht also logisch der ignoreRegexp vor und sollte hier wohl auch gesetzt werden.
Titel: Aw: Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter
Beitrag von: sweetie-pie am 31 März 2024, 14:04:04
Zitat von: Beta-User am 30 März 2024, 15:52:04Zu 2.: "subscriptions" sind die Topics, die ein client bei dem server bestellt. Der Server sollte dann sich nichts anders ausliefern.

D.h. das Attribut "subscriptions" wirkt fhem eingangseitig gar nicht bei der Verarbeitung der empfangen MQTT-Meldungen?

Und mit dem Attribut "ignoreRegexp" wird dann verwendet um aus den "abonnierten" Topics einzelne Werte/Pfade zu irgnorieren?

Gruß
  Holger
Titel: Aw: Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter
Beitrag von: Beta-User am 31 März 2024, 14:15:07
subscriptions "beeinflusst" den Server. Der sollte nur liefern, was bestellt wurde, dann braucht man nicht "eingangsseitig" in fhem filtern....
Titel: Aw: Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter
Beitrag von: Tomhri am 25 April 2024, 09:22:25
Hallo

hatte das Problem auch, dass Verhalten von keepalive hat sich seit V3.2 geändert:
Important notice
UPDATE 2024-02-15: Since Venus OS version 3.20, this project has been replaced with dbus-flashmq.

https://github.com/victronenergy/dbus-flashmq (https://github.com/victronenergy/dbus-flashmq)

R/bxxxxxxxx/keepalive { "keepalive-options" : ["suppress-republish"] }
funktioniert bei mir.

LG