MQTT2_CLIENT Attribut clientOrder

Begonnen von kgie, 22 August 2025, 18:48:27

Vorheriges Thema - Nächstes Thema

kgie

Hallo,

ich habe eine Frage zu dem Attribut 'clientOrder' des Moduls MQTT2_CLIENT. Laut Doku darf man dort MQTT2_DEVICE und/oder MQTT_GENERIC_BRIDGE reinsetzen.

Ich würde jetzt den MQTT2_CLIENT gerne nutzen, um einem selbstentwickelten Modul den MQTT Payload zu senden. Soweit ich den Code verstehe müsste in clientOrder auch ein beliebiges anderes (eigenes) Modul stehen können.

Kann man clientOrder in dieser allgemeineren Form nutzen oder übersehe ich da etwas?

Danke schonmal für Antworten!

Gruß
Kai

Beta-User

#1
Geht bzw. so ist es gedacht. Siehe z.B. RHASSPY.

Aber: meistens ist MQTT2_DEVICE mit Perl-readingList  flexibel genug, den Bedarf abzubilden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

kgie

Danke für die schnelle Antwort! Ich kenne natürlich MQTT2_DEVICE und readingList und nutze das auch in meiner FHEM Installation. Aber ich habe mittlerweile einen kleinen Zoo von MQTT Devices; ich verfolge daher bei einem kleinen eigenen Projekt die Idee, die Devices durch PERL Klassen abzubilden. Da gibt es dann also eine abstrakte Basisklasse für ein MQTT-Device und die einzelnen echten Devices sind Ableitungen dieser Basisklasse. Ein neues Device würde man dann so anlegen:
define <dev> MeinMQTTDeviceModul FHEM::MyClasses::MeineDeviceKlasse <topic-spec>und die FHEM::MyClasses::MeineDeviceKlasse steht dann in einer 99_myClasses.pm und enthält letztlich PERL-Code ähnlich zu dem readingList. Ich brauche aber kein template oder sowas um weitere Instanzen zu erzeugen.

Wenn ich da jetzt MQTT2_CLIENT nutzen kann, dann wird das für mein Zeitbudget realistisch.