Seite 2 von 4

Re: Nervige kommastellen ändern

Verfasst: 6. Jan 2021 12:52
von violine21
Chefkoch667 hat geschrieben: 6. Jan 2021 02:22 Ist es möglich in der state descripton auch anzugeben welche map Datei gewählt werden soll?
Ja, das Transformation-Binding muss installiert sein.
Die map-Datei liegt wie gehabt im Ordner "Transform", Dateiname z.B.: test.map
Unter State Description >>> Pattern z.B.: MAP(test.map):%s
Fertig!

Re: Nervige kommastellen ändern

Verfasst: 7. Jan 2021 12:39
von Chefkoch667
Perfekt danke! :)

Re: Nervige kommastellen ändern

Verfasst: 24. Sep 2022 21:01
von zinnik
Hallo hab auch eine frage dazu ich bekomme bei einem Raumthermostat einen Wert von 210 angezeigt wie bekomme ich es hin das es mir 21.0 °C anzeigt. Mit dem befehl [%.1f °C] komme ich leider nicht weiter.

Danke Lg zinnik

Re: Nervige kommastellen ändern

Verfasst: 24. Sep 2022 23:45
von udo1toni
Das ist ja keine Formatierung, sondern ein Faktor, der zu berücksichtigen ist.
Das geht z.B. mit dem JS Transformation Service und einem passenden Profile.

Re: Nervige kommastellen ändern

Verfasst: 4. Okt 2022 01:55
von zinnik
Hallo Udo

ich habe es hin bekommen das es mir nun im Item den richtigen wert ausgibt.

und zwar so mit einer js funktion im Item unter State Deskription.

Code: Alles auswählen

(function(i) {
grad=(i/10).toFixed(1);
return grad.toString() +" °C";
})(input)
Jedoch habe ich weiter das Problem. Wenn ich z.B. in OH3 ein Habpanel erstelle dann bekomme ich immer noch die 210 ausgeben als die 21,0
kann man das irgendwie schon vor dem Item ändern wenn du weißt was ich meine?

Lg zinnik

Re: Nervige kommastellen ändern

Verfasst: 4. Okt 2022 13:17
von udo1toni
Die state Description betrifft ausschließlich die Anzeige. Wie ich geschrieben habe, musst Du den gespeicherten Wert im Item ändern. Du kannst die JavaScript Transformation einfach im Link zum Item als Profile eintragen, dann sollte es passen.

Das .toFixed(1) wird übrigens nur bedingt helfen, weil der Wert als Number gespeichert wird. Ob openHAB intern überhaupt etwas anders verwendet als Float, weiß ich nicht. Nachkommastellen kannst Du aber in der Ausgabe einfach durch die Formatierung vorgeben, z.B. %.1f.

Re: Nervige kommastellen ändern

Verfasst: 5. Okt 2022 00:11
von zinnik
Guten abend,

ich hbe die function jetzt so abgeändert:

Code: Alles auswählen

(function(i) {
grad=(i/10);
return grad.toString() +" °C";
})(input)
und auch unter Profile eingetragen jedoch erhalte ich hier keine Änderung des Wertes.


Hat noch jemand eine Idee

Re: Nervige kommastellen ändern

Verfasst: 5. Okt 2022 16:48
von udo1toni
Die funktion darf keine Einheit anhängen.

Re: Nervige kommastellen ändern

Verfasst: 8. Okt 2022 13:41
von zinnik
Hallo Udo,

hast du noch Idee wie ich das gelöst bekomme?

Re: Nervige kommastellen ändern

Verfasst: 8. Okt 2022 15:19
von udo1toni
Wie gesagt, die Einheit darfst Du nicht mit übergeben. Und das .toString in der Funktion ist entsprechend überflüssig. Deine Funktion sollte also eher so aussehen:

Code: Alles auswählen

(function(i) {
grad=(i/10);
return grad;
})(input)
oder kürzer:

Code: Alles auswählen

(function(i) {
return (i/10);
})(input)