FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: tomleitner am 12 Februar 2019, 11:21:14

Titel: Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: tomleitner am 12 Februar 2019, 11:21:14
Hallo,
Ich binde grade meine Vaillant Heizung über ebusd und MQTT an. Der Ebusd publisht eine ganze Hierarchie von Topics, die einzelnen Topics sind dann als json encodiert. Aktuell habe ich eine riesige Readinglist:

....
ebusd/ehp/ActualEnvironmentPower:.* { json2nameValue($EVENT, 'ehp_ActualEnvironmentPower_', ) }
ebusd/ehp/ActualEnvironmentPowerPercentage:.* { json2nameValue($EVENT, 'ehp_ActualEnvironmentPowerPercentage_', ) }
ebusd/ehp/currenterror:.* { json2nameValue($EVENT, 'ehp_currenterror_', ) }
ebusd/ehp/EnergyBalancingRelease:.* { json2nameValue($EVENT, 'ehp_EnergyBalancingRelease_', ) }
....


Frage: Kann man das vereinfachen z.B. so:


ebusd/ehp.* { json2nameValue($EVENT, 'ehp_', ) }


und er würde untertopics zu ebusd/ehp/* automatisch an ehp_ anlegen, also ein topic

ebusd/ehp/ActualEnvironmentPower würde zum reading  ehp_ActualEnvironmentPower_xxxx wobei xxxx dann die einzelnen geparsten Json Werte sind?

Geht das?

Danke.
Tom
Titel: Antw:Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: rudolfkoenig am 12 Februar 2019, 11:37:56
ZitatGeht das?
Es kommt auf einem Versuch an.
Titel: Antw:Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: tomleitner am 12 Februar 2019, 11:44:53
Danke ... das ist ermutigend wenns vom Chef persönlich kommt.   :)

Ich werds mal so probieren ...
Titel: Antw:Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: tomleitner am 12 Februar 2019, 11:56:15
Ok, einen Versuch gestartet ... ganz so klappt es nicht. Aus der MQTT Message:

ebusd/broadcast/datetime {
     "outsidetemp": {"value": 6.688},
     "time": {"value": "11:52:03"},
     "date": {"value": "12.02.2019"}
}


werden mit der Readinglist:

ebusd/broadcast.* { json2nameValue($EVENT, 'broadcast_', ) }


die Readings:


broadcast_date_value 12.02.2019
broadcast_outsidetemp_value 6.688


Es fehlt also der sub-topic im reading, hier wäre das z.B. "datetime".

Was mach ich falsch?
Titel: Antw:Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: rudolfkoenig am 12 Februar 2019, 12:08:53
Nichts, es hat einen Grund, warum die Voreinstellung die letzten Stellen des Topics als Prefix nimmt.
Bzw. genommen hat, die aktuelle Version macht es nicht mehr, weil man mich ueberredet hat es wegzulassen.

Du hast mehrere Stellschrauben:
- fuer jedes Topic eine explizite Zeile in readingsList anlegen, mit eindeutigen zweiten Parameter in json2nameValue.
- in json2nameValue den dritten Parameter als $JSONMAP definieren, und in jsonMap Attribut diese passend fuellen (siehe auch commandref)
Titel: Antw:Ganze Topic Hierarchie automatisch als readings ...
Beitrag von: tomleitner am 12 Februar 2019, 14:35:22
Danke ... ich werde den Weg über JSONMAP gehen ...

Schade das es nicht generisch lösbar ist.