Ja, das Konvertieren könnte recht einfach funktionieren, und zwar gibt es im Channel oben rechts ein Kästchen "Show advanced". Das hakst Du an.
Auf der neuen Seite bekommst Du wie weiteren möglichen Parameter der Channels. Unter Anderem gibt es da ein Feld Unit. Dort trägst Du ganz frech d°C ein. Das kleine d ist die Kennzeichnung für dezi, also zehntel.
Kann sein, dass es damit schon erledigt ist, sofern das Item auf Number:Temperature steht.
Sollte das nicht funktionieren, könntest Du noch spaßeshalber °dC ausprobieren, aber von der Namenslogik müsste eigentlich das erstgenannte korrekt sein. Der Punkt ist: Mit der Unit teilst Du dem System nicht nur mit, dass es sich um Grad Celsius handelt, sondern darüber hinaus auch noch die Wertigkeit.
Wenn alle Stricke reißen und es so leider nicht funktioniert, kannst Du immer noch mit der JS-Transformation arbeiten (die musst Du zunächst installieren). Die JS Transformation transformiert, wie der Name schon vermuten lässt, den gelieferten Wert mittels eines JavaScript Scripts. Das Script ist einfach genug:
Code: Alles auswählen
(function(value) {
var returnValue = value / 10;
return returnValue
})(input)
Wahlweise kannst Du das Script auch noch ausgefeilter gestalten, z.B. nach der Berechnung auf eine Nachkommastelle kürzen. Allerdings speichert openHAB Number Werte ohnehin als Float, so dass Nachkommastellen fast zwangsläufig verhunzt werden.
Das JS-Script musst Du in der Dateistruktur von openHAB ablegen, und zwar im Ordner
$OPENHAB_CONF/transform/ in einer Datei, deren Name mit .js endet, z.B.
divideby10.js. Im Channel gibst Du dann als
transformationPattern (auch unter show advanced...) einfach
JS:divideby10.js an, also der Name der zu nutzenden Transformation, gefolgt von einem Doppelpunkt, gefolgt vom zu übergebenden Parameter. Der Wert als solches wird automatisch übertragen und muss nicht extra mit angegeben werden.
Aber wie gesagt, probiere ruhig erst mal die Variante mit d°C oder °dC aus, theoretisch sollte das funktionieren.
Um das noch am Rande zu erwähnen, weil das Teilen durch zehn nun nicht die große Herausforderung darstellt... Du könntest auch d°F angeben, dann würde der Wert als zehntel Grad Fahrenheit verwendet. Das Item vom Typ Number:Temperature sollte aber (weil das System auf metrisch konfiguriert ist) weiterhin °C anzeigen. Und Du könntest natürlich die Temperatur auch in Kelvin anzeigen lassen, indem Du als Display Pattern K angibst - dann kommen halt 273,15 zur Temperatur in °C hinzu. Das funktioniert auch mit anderen Maßeinheiten, schau dazu bei Interesse in der offiziellen Doku:
https://www.openhab.org/docs/concepts/u ... enting-uom das ist ein extrem mächtiges Werkzeug, wenn man um dessen Existenz weiß...
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet