Nein.
Der Punkt ist, dass die Payload
Code: Alles auswählen
{
"Time": "2023-08-31T07:38:39",
"MT175": {
"P":358.00
}
}
den abgefragten Wert (z.B.
L2) nicht enthält. Die Payload enthält ein JSON Objekt, aber dieses Objekt ist dynamisch und der Sender stellt nicht in jedem Telegramm alle Datenpunkte bereit.
Um die Warnmeldungen loszuwerden, musst Du die Transformation verketten, so:
Code: Alles auswählen
incommingValueTransformation: REGEX:(.*L2.*)∩JSONPATH:$.['MT175'].L2
Es werden also jeweils zwei Transformations ausgeführt, wobei die erste eine Regular Expression ist (selbstredend muss der REGEX Transformation Service installiert sein). Die Verknüpfung beider Transformations erfolgt mit dem Symbol ∩ (findest Du am einfachsten im Hilfstext des Feldes für die Transformation) REGEX gibt einen leeren String weiter, falls der Begriff L2 nicht im Objekt vorkommt, womit JSONPATH dann halt nichts zu parsen hat.
Die Verkettung von Transformations funktioniert leider nur direkt im Channel. Du solltest als Channeltyp für numerische Werte unbedingt auch Number wählen. Dann steht ein zusätzlicher Parameter unit zur Verfügung, in dem Du die gelieferte Einheit einträgst (also z.B. kWh für Kilowattstunden oder auch Ws für Wattsekunden, je nachdem, was der gewählte Datenpunkt liefert. Nur dann wird UoM (UnitsOfMeasurement) im restlichen System auch korrekt funktionieren.
In openHAB4 muss außerdem bei jedem UoM Item der ab OH4 im UoM Item ebenfalls vorhandene Parameter unit gesetzt werden, mit einer zum Typ passenden Einheit - welche Du hier wählst, ist aber Dir überlassen (für Number:Energy z.B. Ws, kWh, MWa, GJ, kcal...). Hier wird festgelegt, in welcher Einheit der konkrete Wert im Item vorliegt. In dieser Größe wird der Wert auch persistiert.
Schließlich kannst Du über die Metadaten des Items (State Description -> pattern) festlegen, wie der Wert dargestellt wird (auch hier hast Du freie Wahl unter den zum QuantityType passenden Einheiten). Die unit sollte einmalig festgelegt werden, das Pattern kannst Du jederzeit ändern. In der Sitemap kannst Du außerdem noch über das Label die Ausgabe des Wertes beeinflussen
So viele Möglichkeiten, sich zu verheddern...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet