GELÖST: MQTT2_DEVICE Events Reduzieren

Begonnen von raiderxxl, 30 Juli 2020, 09:54:01

Vorheriges Thema - Nächstes Thema

raiderxxl

Hallo, ich habe einen Externen MQTT Broker Mosquitto und habe nun eine MQTT2Client und ein MQTT2Device angelegt.

defmod mqqt2_client MQTT2_CLIENT localhost:1883
attr mqqt2_client DbLogExclude .*
attr mqqt2_client alias MQTT2Bridge
attr mqqt2_client autocreate no
attr mqqt2_client clientId mqqt2_1_client
attr mqqt2_client event-on-change-reading .*
attr mqqt2_client room FHEM->Services


defmod MQTT2_mqqt2_1_client MQTT2_DEVICE mqqt2_1_client
attr MQTT2_mqqt2_1_client DbLogExclude .*
attr MQTT2_mqqt2_1_client IODev mqqt2_client
attr MQTT2_mqqt2_1_client alias MQTT2BRIDGE
attr MQTT2_mqqt2_1_client autocreate 0
attr MQTT2_mqqt2_1_client bridgeRegexp (wled)[/]([^/]+)[/].*:.* "$1_$2"
attr MQTT2_mqqt2_1_client event-on-change-reading .*
attr MQTT2_mqqt2_1_client icon mqtt_bridge_2
attr MQTT2_mqqt2_1_client model MQTT2_CLIENT_general_bridge
attr MQTT2_mqqt2_1_client room FHEM->Bridges,FHEM->Services
attr MQTT2_mqqt2_1_client setList clear_all:noArg {fhem("deleteattr $NAME readingList;; deletereading -q $NAME (?!associatedWith).*");;return undef}
attr MQTT2_mqqt2_1_client setStateList on off


Nun meine Frage ;) Ich habe 2 openmqttgateways laufen und die melden natürlich sehr oft irgend welche BLE Messages die landen wiederum alle in den FHEM Events.
Kann ich das irgend wie verhindern? Ich habe im Bridge Modul das Attribut "ignoreRegexp" gefunden , kann mir da jemand helfen, das nur Topics ein Event melden die auch im "bridgeRegexp" definiert sind?

Es werden auch komischerweise auch Readings im MQTT2Device angelegt die nicht im Regex definiert sind:

attr MQTT2_mqqt2_1_client readingList
mqqt2_1_client:home/home_presence/BTLEOG:.* { json2nameValue($EVENT) }\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/427214F7DE48/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/427214F7DE48/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/427214F7DE48/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/427214F7DE48/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/427214F7DE48/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/061F07BFCA01/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/061F07BFCA01/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/061F07BFCA01/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/061F07BFCA01/servicedata:.* servicedata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/061F07BFCA01/servicedatauuid:.* servicedatauuid\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/543F6C749CBB:.* { json2nameValue($EVENT) }\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/543F6C749CBB/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/543F6C749CBB/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/543F6C749CBB/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/543F6C749CBB/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/4AA43456AB40/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/4AA43456AB40/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/4AA43456AB40/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/4AA43456AB40/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/4AA43456AB40/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/15645CA9C94E:.* { json2nameValue($EVENT) }\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/15645CA9C94E/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/15645CA9C94E/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/15645CA9C94E/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/15645CA9C94E/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6BA5C0E72318/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6BA5C0E72318/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6BA5C0E72318/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6BA5C0E72318/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6BA5C0E72318/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/78C90FB62280/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/78C90FB62280/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/78C90FB62280/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/78C90FB62280/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/78C90FB62280/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/90DD5DA27A65/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/90DD5DA27A65/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/90DD5DA27A65/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/90DD5DA27A65/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/90DD5DA27A65/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6E641CDC3D3A/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6E641CDC3D3A/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6E641CDC3D3A/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6E641CDC3D3A/txpower:.* txpower\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/6E641CDC3D3A/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/F5FAE04DECF7/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/F5FAE04DECF7/manufacturerdata:.* manufacturerdata\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/F5FAE04DECF7/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/F5FAE04DECF7/distance:.* distance\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/FEB37CBF9822:.* { json2nameValue($EVENT) }\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/FEB37CBF9822/id:.* id\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/FEB37CBF9822/name:.* name\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/FEB37CBF9822/rssi:.* rssi\
mqqt2_1_client:home/BTLEOG/BTtoMQTT/FEB37CBF9822/distance:.* distance\

REST GELÖSCHT GEHT EWIG SO WEITER....


Ich rede hier von 10-30 Events in der Sekunde die ich gerne aus FHEM haben möchte.



Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

raiderxxl

Hi Ich beantworte mal meine Frage selber:

Die laaaaaange readingList kam wohl noch bevor ich die Regex gesetzt habe.

Ich habe die Readingslist (set clear_all) gelöscht, und nun wird auch keine Neue angelegt und auch die Events sind verschwunden.

Cool durch das Posten hier im Forum bin ich selber auf die Lösung gekommen ;)

Ich setzte das Thema auf gelöst...

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Beta-User

Hmm, vermutlich kommt das eine oder andere dann wieder, die hier gezeigte bridgeRegexp ist etwas "verstümmelt", und mit der Bennenung der OpenMQTTGateways dürften die attrTemplates dazu auch nicht klar kommen, die erwarten irgendwas wie "OMGabc", "OpenMQTTGWxyz" oder ähnlich. Das "BTLEOG" entspricht dem nicht (kannst du natürlich auch manuell in den MQTT2_DEVICE's anpassen).
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

raiderxxl

HI
ich wollte eh nur die WLED... zumindest am Anfang ...
Ich hole mir dann DeviceGruppe für Gruppe rein ;)

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Beta-User

Spontan kommt mir das nicht ganz optimal vor:
Die bridgeRegexp würde ich größer lassen, dafür aber ggf. die subscriptions des CLIENT beschränken. Das hat den Vorteil, dass (die im Moment noch) uninteressanten Infos gar nicht erst in FHEM landen und irgendwie behandelt werden müssen...

Grüßle zurück!
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

raiderxxl

Ich verstehe nicht was du meinst ...
Welche "subscriptions des CLIENT beschränken"

Ich habe die WLED Clients alle per Aatocreate anlegen lassen und da passt das auch.
Alle anderen Geräte die da so Rumfunken will/brauch ich nicht (erstmal) Sie werden aber in den Events gemeldet wenn ich Sie in den Readingslist reinnehme bzw die BridgeRegex erweitere.

Wo kann ich denn die Clients Beschränken???


Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Beta-User

Gemeint ist das Attribut "subscriptions" im MQTT2_CLIENT. Darin beschränkst du das, was an MQTT-Topic überhaupt von FHEM verwertet wird. Im Moment käme dann dort nur rein, was zu den WLED paßt, die Syntax scheint "MQTT" zu sein, nicht Perl-regex (also "#" statt ".*" und "+" statt "[^/]+"...).

(Ist denn das so schwer zu verstehen, wie der Datenverarbeitungspfad bei MQTT läuft?)
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

raiderxxl

#7
Hi,

Zitat(Ist denn das so schwer zu verstehen, wie der Datenverarbeitungspfad bei MQTT läuft?)

;) Nö das nicht, aber wo was einzustellen ist schon ;) denn es gibt ja mehrere Devices heheheh
Aber Danke das werde ich jetzt noch machen (vermutlich dann wled/#) 
Danke Dir für die Hilfe...
(und nicht gleich Grummelig werden wenn mal jemand nicht gleich was versteht :) )

Grüßle

Pascal

FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Beta-User

 ;D alles gut.
Bin nur immer wieder leicht enttäuscht, wenn ich glaube, die richtigen Stichworte für eine Suche in der commandref geliefert zu haben, um selber vollends auf's Pferd zu kommen. Hat wohl nicht geklappt, obwohl (nach meinem Eindruck) die Zahl der MQTT2_.*-Devices ja doch noch einigermaßen übersichtlich ist bei dir ;) . Außerdem versuche ich rauszufinden, über was "Einsteiger" in das Thema denn so "stolpern" bzw. wo die Schwierigkeiten liegen - nur dann kann ich ggf. auch die Doku entsprechend verändern/anpassen.

(OT: Gibt's einen Grund für das Festhalten an Mosquitto? Du könntest ja genauso gut Gerät für Gerät auf einen anderen Port konfigurieren, und auf dem dann einen MQTT2_SERVER lauschen lassen. Wäre tendenziell einfacher...)
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

raiderxxl

Zitat(OT: Gibt's einen Grund für das Festhalten an Mosquitto? Du könntest ja genauso gut Gerät für Gerät auf einen anderen Port konfigurieren, und auf dem dann einen MQTT2_SERVER lauschen lassen. Wäre tendenziell einfacher...)

Das habe ich mir bereits überlegt... aber im Moment hab ich keine Lust 5 ESP`s neu zu Flashen hehehehe und die Sonoffs/Awtrix/Shellys/WLEDs umzuziehen...

Vielleicht wenns draussen wieder kälter wird ... kann ja den MQTT2 Server auf nen anderen Port legen (Selber Server)und dann wie du geschrieben hast nach und nach umbauen.

8)

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Beta-User

Hmm, neu flashen müßte ich von "meinen" eigentlich nur die OpenMQTTGateways (oder auch nicht, WLAN abschalten und die ihren AP aufmachen lassen sollte auch reichen?). Alles andere kann man komfortabel über die jeweiligen Web-Interfaces umstellen. Aber wie war das mit Rom, das auch nicht an einem Tag erbaut wurde?  Alles zu seiner Zeit...
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