Hallo,
ich versuche einen neuen mosquitto Server einzubinden und hätte erst mal gern ein MQTT_Device, dass sich alle topics als Readings reinzieht.
Dabei ist mir aufgefallen, dass man nicht einfach '#' als Regel angeben kann, wenn die topics z. B. '/Heizung/Fussbodenheizung/KreisFlur' oder 'Energie/Strom/Momentanverbrauch' heißen und darin eine payload von z. B. '20.454' oder '1704.567' bringen.
Die Commandref gibt hier leider keinen Hinweis auf die exakte Verwendung des Attributs. Kann mich jemand in die richtige Richtung lenken, wie das am besten gemacht wird?
Hallo, +/# geht, die Readings werden angelegt.
Das readingsGroup dann zum Anzeigen.
# MQTT Test
define MQTT_TEST MQTT_DEVICE
attr MQTT_TEST IODev mqtt
attr MQTT_TEST alias MQTT Test
attr MQTT_TEST autoSubscribeReadings +/#
attr MQTT_TEST group Test
attr MQTT_TEST room hidden
attr MQTT_TEST stateFormat state
define MQTT_Daten readingsGroup MQTT_TEST:.*
attr MQTT_Daten group Test
attr MQTT_Daten room hidden
attr MQTT_Daten valueFormat $VALUE
attr MQTT_Daten verbose 1
Hoffentlich werde ich das auch wieder los, Mosquitto ist bei mir außerhalb FHEM bis jetzt noch ziemlich beschäftigt... ;)
Gruß aus Berlin
Michael
Hallo Michael,
das Problem entsteht erst dann, wenn man hierarchische mqtt-topics erhält.
Im Moment scheint mir die Logik so zu sein, dass der Inhalt des letzten Plus als Bezeichner des Readings verwendet wird.
In einer nicht konstanten Anzahl von hierarchischen Elementen müsste aber eine Kette von topic-Ebenen in die Reading-Bezeichnung einfließen, damit die Bedeutung vollständig erfasst wird und doppelungen von z.B. .../heater/temperatur/Value und .../exhaust/temperatur/value nicht um das nichtssagende Reading mit der Bezeichnung Temperatur streiten.
Hallo,
ich benutze normalerweise weder autoSubscribeReadings noch autoCreate für andere Devices.
Liegt aber daran, daß ich bisher mehr experimentiere. In FHEM ist ein Device ein Sensor oder Aktor, den ich ja sowieso kenne und da hole ich mir nur die readings, die ich auch brauche. Außerdem sind meine MQTT-Clients fast ausschließlich ESP8266- Basteleien, da liegt es an mir, was ich wie publishe oder subscribe.
Ich habe da auch schon komplett umgebaut, vermutlich nicht zum letzten Mal.
Mein Versuch ging also erstmal dahin, wie sich autoSubscribeReadings verhält.
Er nimmt ja offenbar den letzten topic-Teil als reading-Name. Den kann man ja dann sinnvoll selber ändern.
Das Problem, das Automatiken nicht immer machen, was man möchte, dürfte ja ziemlich allgemen sein.
Der reading-Name ist ja auch der FHEM Variablename, da würden die / dann soweiso irgendwie ersetzt werden müssen und vermutlich andere Probleme aufwerfen.
Gruß aus Berlin
Michael