OH4 Transformation

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Satmaster
Beiträge: 2
Registriert: 27. Sep 2022 14:16
Answers: 0

OH4 Transformation

Beitrag von Satmaster »

Hallo zusammen,

Benutze OH4.1.2 auf dem raspi

Habe ein Temperatur Item der den Wert als Zahl zb. 1000 augibt ich aber Ihn duch 100 teilen will damit eine 10 ausgegebn wird.

Leider konnte ich für OH4 zum Thema Transformation und JSONPATH nicht viel auf deutsch finden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: OH4 Transformation

Beitrag von udo1toni »

Die Frage ist, aus welchem Thing/Channel der Wert kommt.
Wenn es sich um mqtt oder http handelt, öffne die Advanced Options des Channels und setze den Paramter unit auf c°C (Centigrad Celsius).

EDIT: aus dem Channellink, geht ja hervor, dass es sich um Modbus handelt (Guten Morgen, Udo!). Keine Ahnung, ob Modbus einen unit Parameter bietet. Falls nicht, kannst Du die Umrechnung aber auch im Link vornehmen, dort gibt es als Optionsfeld Profile, und dort die Option DSL. Wenn Du das auswählst, gibt es weiter unten zwei Felder, von denen das Thing to Item interessant ist. Dort trägst Du

Code: Alles auswählen

| input * 0.01
ein. Wahlweise kann es auch notwendig sein, stattdessen

Code: Alles auswählen

| input.to_f * 0.01
einzutragen (so steht es in der Doku, war bisher bei mir nicht notwendig, aber ich nutze das gerade auch nicht, also hat es da vielleicht eine Änderung gegeben...)

Im Item (Metadata) gibt es ebenfalls einen Parameter unit, den solltest Du auf °C einstellen, außerdem gibt es noch in den Metadatan die State Description. In der State Description gibt es den Parameter Pattern, dort trägst Du %.1f °C ein, für die Anzeige mit einer Nachkommastelle. Falls Du zwei Nachkommastellen willst, schreibst Du statt der 1 eine 2.

Da die vorherigen Werte schon mit dem falschen Faktor persistiert wurden, solltest Du die Persistence für das Item löschen. Im Ordner $OPENHAB_USERDATA gibt es einen Unterordner persistence, dort den Ordner rrd4j und in diesem Ordner gibt es eine Datei Modbus_Data_10200_Value_as_Number.rrd. Diese Datei löschst Du. openHAB wird sie beim eintreffen des nächsten Wertes automatisch wieder anlegen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Satmaster
Beiträge: 2
Registriert: 27. Sep 2022 14:16
Answers: 0

Re: OH4 Transformation

Beitrag von Satmaster »

Habe im Item (Metadata) IParameter Pattern, eingetragen %.1f °C State Description und Nachkommastellen sind da aber leider keine Umrechnung

Die Datei Datei Modbus_Data_10200_Value_as_Number.rrd gelöscht.

Optionsfeld Profile, und dort die Option DSL ausgewählt:
| input * 0.01 und auch | input.to_f * 0.01
hat aber leider nichts gebracht.
Habe ein Screenshot von dem Thing Cannel beigefügt,ist ein Value as Number.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten