FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: kgie am 22 August 2025, 18:48:27

Titel: MQTT2_CLIENT Attribut clientOrder
Beitrag von: kgie am 22 August 2025, 18:48:27
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
Titel: Aw: MQTT2_CLIENT Attribut clientOrder
Beitrag von: Beta-User am 22 August 2025, 21:25:47
Geht bzw. so ist es gedacht. Siehe z.B. RHASSPY.

Aber: meistens ist MQTT2_DEVICE mit Perl-readingList  flexibel genug, den Bedarf abzubilden.
Titel: Aw: MQTT2_CLIENT Attribut clientOrder
Beitrag von: kgie am 23 August 2025, 10:42:37
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.