FHEM Forum

FHEM => Automatisierung => Thema gestartet von: ahlermi am 27 Januar 2023, 11:35:29

Titel: Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: ahlermi am 27 Januar 2023, 11:35:29
Hallo Zusammen,

ich habe mich dazu entschlossen, da FHEM am Limit lief, das System auf mehrere Instanzen zu verteilen.

Ich habe jetzt Dummy Geräte für die Remote Geräte, diese werden per MQTT mit Werten beschickt.
Ich kann allerdings auch Werte in der Hauptinstanz setzen, in dem Fall wird der Wert an die Remote Instanz gesendet.

Wenn ich das Event also nicht ausschalte, so habe ich ein Ping Pong und der von Remote gesetzte Wert wird auch gleich wieder an remote geschickt.

Mein Ansatz, ich habe ein zusätzliches Reading "noevent" und das setze ich vor dem setzen der Remote Werte auf 1, ist das update durch wieder auf 0.
Im NOTIFY frage ich darauf ab, nur bei 0 wird ein update an die Remote Instanz geschickt.


Jetzt die Frage, kann ich das irgendwie besser gestalten? Es wird extrem oft das Reading "noevent" verändert

Gruß Michael
Titel: Antw:Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: Beta-User am 27 Januar 2023, 11:55:58
Vielleicht solltest du mehr Infos bereitstellen, WIE GENAU die Kommunikation via MQTT läuft, und insbesondere, welche Topics verwendet werden. Die müssen auf alle Fälle in Sende- und Empfangsrichtung unterschiedlich sein.
Titel: Antw:Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: Wernieman am 27 Januar 2023, 12:39:04
Zitatda FHEM am Limit lief, das System auf mehrere Instanzen zu verteilen
Ich muß gestehen, das ich mich eher fragen würde, warum FHEM am Limit läuft. z.B. kann es sein, das Du zu fiele Events hast? Dieses würdest Du dann auch bei mehreren Instanzen haben ....
Titel: Antw:Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: ahlermi am 27 Januar 2023, 16:30:56
Richtung rein:
Das MQTT2_DEVICE wird mit einem NOTIFY überwacht und schreibt per setreading das Reading am DUMMY.

Richtung raus:
Ich reagiere mit einem NOTIFY auf alle Änderungen an meinen rem_.* devices und entscheide dann ob es per MQTT publish raus gesendet wird.


Es gibt nur ein Übertragsungsmqttdevice was die Kommunikation übernimmt, die einzelnen devices der Remote Instanzen werden alle automatisch als DUMMY angelegt.

Das betreiben mehrerer Instanzen hat unterschiedlichste Gründe, z.B. auch das einige Module nicht damit klar kommen wenn das Internet ausfällt, also läuft alles was Internet braucht auf einer Instanz.

Ich hätte es auch besser gefunden wenn FHEM Multicore laufen würde.
Titel: Antw:Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: Beta-User am 27 Januar 2023, 16:42:57
Mit so einer notify-Lösung (Übermittlung kompletter FHEM-Kommandos) werde ich mich nicht rumschlagen, da bin ich raus, ist mir zu schleifengefährlich.

Meine Alternativempfehlung: Schau dir MQTT_GENERIC_BRIDGE an.
Titel: Antw:Wie EVENT manchmal unterdrücken, Lokal Event auslösen, Remote nicht
Beitrag von: rudolfkoenig am 27 Januar 2023, 17:23:50
ZitatIch hätte es auch besser gefunden wenn FHEM Multicore laufen würde.
Vermutlich ist damit "nicht blockierend" gemeint, da durch konsequentes Blockieren man beliebig viele CPUs lahmlegen kann.
Bestimmte Berechnungen laufen in FHEM auch jetzt schon "Multicore".

Sinnvoller wuerde ich finden, den problematischen Modulen gutes Benehmen beizubiringen.