Victron MultiPlus II mit MQTT > Hohe Last > Selektiver keepalive und Topicfilter

Begonnen von sweetie-pie, 30 März 2024, 14:33:51

Vorheriges Thema - Nächstes Thema

sweetie-pie

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









Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sweetie-pie

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

Beta-User

subscriptions "beeinflusst" den Server. Der sollte nur liefern, was bestellt wurde, dann braucht man nicht "eingangsseitig" in fhem filtern....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Tomhri

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

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

LG