Verständnisfrage zum Template OpenMQTTGateway_MCU

Begonnen von onkel_joerg, 20 Januar 2025, 01:59:24

Vorheriges Thema - Nächstes Thema

onkel_joerg

Ist Eh zu spät.
ich habe jetzt erst mal einiges zu lesen (und lernen) mal sehen, ob ich es schaffe, meine Amazfit Smartwatch einzubinden.
OMG erkennt sie und zeigt auch die Pulsmessung an.
Ich habe festgestellt, dass meine MQTT_DEVICES auch funktionieren, wenn ich denen den MQTT_Client als IO-Device gebe.
FHEM Docker auf Intel NUCi, etwas Node Red, etwas Homeassistant
Synology216play-12TB, Vu+ VTI15.x, Panasonic DMP-UB900EGK, Harmony Ultimate+Hub,
DenonX4400, HEOS1, Raumfeld S, Philips 55POS9002, Philips Hue, etwas Node Red, etwas Homeassistant
Laptop: Win11pro64, i7-11800H @ 2.30GHz, 16 GB, 2TB SSD

Beta-User

Zitat von: Beta-User am 28 Januar 2025, 08:34:38Hmmm, mal sehen, ob ich das nicht wieder vergesse...
OK, ist drin...

Zitat von: onkel_joerg am 28 Januar 2025, 19:41:05Ich habe festgestellt, dass meine MQTT_DEVICES auch funktionieren, wenn ich denen den MQTT_Client als IO-Device gebe.
Ähm, irgendwie paßt diese Schlussfolgerung nicht zu meinem (etwas angegrauten) Verständnis der dispatch-Mechanismen beider Modul-Familien...

Falls gemeint war: Es ist relativ schnell gemacht, von MQTT+MQTT_DEVICE auf MQTT2_CLIENT+MQTT2_DEVICE umzustellen: Ja, das ist in der Regel sehr einfach :) .

Wenn man MQTT2_CLIENT verwendet, und relativ viel MQTT-Traffic hat, den man nicht in FHEM braucht, sollte man sich dann aber mal mit dem "subscriptions"-Attribut beschäftigen. Die (automatische Vor-) Auswahl dessen, was beim Server abboniert wird, ist beim alten IO-Modul "00_MQTT" deutlich granularer ;) .
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

onkel_joerg

Ich hatte die alte FHEM-Mosquitto Verbindung mal deaktiviert, damit von der selben IP nicht mehrere Verbindungen zum Broker laufen (ich glaube, das findet der nicht so prickelnd) und habe bei den alten MQTT_Devices (ohne 2) das IO_Device auf den MQTT2_Client umgestellt.
Die funktionierten sofort (einfache Tasmota Stecker)
FHEM Docker auf Intel NUCi, etwas Node Red, etwas Homeassistant
Synology216play-12TB, Vu+ VTI15.x, Panasonic DMP-UB900EGK, Harmony Ultimate+Hub,
DenonX4400, HEOS1, Raumfeld S, Philips 55POS9002, Philips Hue, etwas Node Red, etwas Homeassistant
Laptop: Win11pro64, i7-11800H @ 2.30GHz, 16 GB, 2TB SSD

Beta-User

Zitat von: onkel_joerg am 31 Januar 2025, 01:53:07(ich glaube, das findet der nicht so prickelnd)
...ich glaube ja, dass das dem ziemlich egal ist, solange man für jede der beliebig vielen Verbindungen je eine eigene ClientId verwendet - genauso wie er es andersrum als "gar nicht prickelnd" betrachtet, wenn man es mit derselben ClientId von verschiedenen IP's aus versucht (wobei da nicht drauf ankommt, ob es dieselbe IP ist)...

Zitathabe bei den alten MQTT_Devices (ohne 2) das IO_Device auf den MQTT2_Client umgestellt.
Die funktionierten sofort (einfache Tasmota Stecker)
Aha....

Irgendwie wäre ich davon ausgegangen, dass dann im Client-Modul (MQTT_DEVICE) eine ParseFn vorhanden sein müßte (siehe das Stichwort in https://wiki.fhem.de/wiki/DevelopmentModuleIntro). Na ja...

(Falls jemand mitliest, der das ausprobieren möchte und abweichende Ergebnisse hat: Nicht wundern! Man muss dem MQTT2_CLIENT ausdrücklich (per Attribut) mitteilen, dass er auch 10_MQTT_DEVICE als Client-Modul akzeptiert und dann das letztgenannte Modul ziemlich heftig patchen, damit man solche Beobachtungen machen kann. Rudi war es jedenfalls afair "damals" zu viel Aufwand, MQTT_DEVICE anzupassen und hat daher MQTT2_DEVICE geschrieben...)
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