Hallööööchen zusammen,
das ist mein erster Beitrag hier bzw. generell mein erster Beitrag irgendwo. Meistens finde ich selbst meine Lösungen im Netz. Eigentlich immer… naja bis jetzt. Ich bin so verzweifelt und genervt, dass ich hoffe hier Hilfe zu finden.
Ich habe mich vor einiger Zeit entschschlossen unter OpenHAB 3 eine eigene Steuerzentrale zu realisieren um mehre Komponenten miteinander zu verbinden. Wie die meisten halt . Immer wenn ich etwas Zeit habe bastelte ich dran herrum. Ich nutze hauptsächlich das HabPanel. Relativ am Anfang wollte ich ein Wetter-Widget darstellen. Dachte mir einfach ein Customer-Widget zu nehmen. Pustekuchen.. die meistens funktionieren nicht mit OH3. Oder ich war einfach zu blöd dazu. Naja wie auch immer… Nach einer langen Suche habe ich eine einfache HTML Variante gefunden und habe die etwas angepasst. Zugegeben hatte ich vorher null Ahnung und lerne noch dazu.
NUN ZU MEINER FRAGE:
Ich versuche die ganze Zeit die Werte die von OWM ausgegeben werden so zu formatieren, dass ich die nachkommastellen selbst bestimmen kann. Wenn ich das Item als dummy anlege und im Format Feld [%.1f] Eingebe funktioniert es. Auch alle anderen Varianten im Netz habe ich versucht aber ich kriege es einfach nicht hin. Ich hoffe ihr könnt mir helfen. Hier ein Ausschnitt von Anfang bis zur aktuellen Temperatur Ausgabe:
<style>
.DayListRowBorder {
border-right: 1px solid black;
border-color: #ffffff;
text-align: center;
}
.DayListRowNoBorder {
text-align: center;
}
.TempMax {
font-style: bold;
}
.TempMin {
font-style: ;
color: ;
}
.TempCurrent {
font-size: ;
}
</style>
<table border=0 width="100%">
<tr>
<td valign="top" align="left">
<img src="http://123.160.999.99:8080/static/image ... ').replace(' ','-') | lowercase }}.png" width="100pt" height="100" />
<span style="font-size: 1.3vw">{{itemValue('OneCallAPIWeatherandForecast_Current_Condition')}} </span>
</td>
<td valign="top" align="right">
<span class="TempCurrent" style="font-size: 1.8vw">{{itemValue('OneCallAPIWeatherandForecast_Current_Temperature')}} </span><br>
Der Wert wird durch OWM mit zwei nachkommastellen angegeben, wenn ich in Items die State-Description im Pattern-Feld ändere zeigt er mir die Änderung in den items an aber übermittelt trotzdem den Wert unverändert. Schlimmer ist es bei den Windgeschwindigkeiten, die haben drei nachkommastellen.
Ich bedanke mich für jede Hilfe und Hinweis schon mal im Vorfeld.
OWM Item Nachkommastellen
-
- Beiträge: 2
- Registriert: 17. Okt 2021 16:07
OWM Item Nachkommastellen
Zuletzt geändert von Subla am 17. Okt 2021 21:09, insgesamt 2-mal geändert.
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: OWM Item Nachkommastellen
Eine Temperatur mit einer Nachkommastelle würde man wie folgt realisieren:
Code: Alles auswählen
{{'%.1f' | sprintf:itemValue('Temperature')}}°C
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 2
- Registriert: 17. Okt 2021 16:07
Re: OWM Item Nachkommastellen
Hallo sihui,
erst mal vielen Dank für deine Hilfsbereitschaft und für die Zeit die du dir genommen hast um auf meine Thread zu antwortet. In der Tat hatte ich auch diesen Befehl im Netz gefunden gehabt. Doch bei der Eingabe brach dann immer alles zusammen und die Darstellung war nur noch der reine Quelltext.
Durch weitere suchen im Netz bin ich auf einen Hinweis gestoßen. Und zwar hatte noch jemand das selbe Problem wie ich und ein anderer User antwortete darauf, dass sein itemwert keine reine Zahl sei sondern noch die Einheit beinhaltet. Daraufhin schaute ich genauer hin bei den items und stellte fest, dass der Wert zwar als number angegeben wird aber mit Temperatur zusammen. Sprich OWM, insofern man das nicht ändert, belegt automatisch die items mit der dazugehörigen Einheit. Nachdem ich die Items als reine Zahl deklariert hatte und deinen Befehl eingefügt habe, hat nun alles funktioniert.
Vielen lieben Dank noch mal das hat mich viel Zeit und nerven gekostet, dabei war es nur eine kleine Änderung .
erst mal vielen Dank für deine Hilfsbereitschaft und für die Zeit die du dir genommen hast um auf meine Thread zu antwortet. In der Tat hatte ich auch diesen Befehl im Netz gefunden gehabt. Doch bei der Eingabe brach dann immer alles zusammen und die Darstellung war nur noch der reine Quelltext.
Durch weitere suchen im Netz bin ich auf einen Hinweis gestoßen. Und zwar hatte noch jemand das selbe Problem wie ich und ein anderer User antwortete darauf, dass sein itemwert keine reine Zahl sei sondern noch die Einheit beinhaltet. Daraufhin schaute ich genauer hin bei den items und stellte fest, dass der Wert zwar als number angegeben wird aber mit Temperatur zusammen. Sprich OWM, insofern man das nicht ändert, belegt automatisch die items mit der dazugehörigen Einheit. Nachdem ich die Items als reine Zahl deklariert hatte und deinen Befehl eingefügt habe, hat nun alles funktioniert.
Vielen lieben Dank noch mal das hat mich viel Zeit und nerven gekostet, dabei war es nur eine kleine Änderung .
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OWM Item Nachkommastellen
Eine kleine Anmerkung hierzu am Rande(Ohne klugscheißern zu wollen).
OWM ist eigentlich die Abkürzung für OpenWeatherMap.
Das was du eigentlich meinst, ist allgemein bekannt als UoM -> Units of Measurement in openHAB.
Zuletzt geändert von peter-pan am 17. Nov 2021 12:23, insgesamt 1-mal geändert.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OWM Item Nachkommastellen
...Es hat mir keine Ruhe gelassen. Deshalb habe ich ein bisschen experimentiert. Allerdings mit den Standard-Widgets aus OH3.
Screenshot: YamL-Code des Widgets:
Item-Definition (Text-File):
Im Normalfall, wird die "Pattern-Definition" im OH-Widget umgesetzt(mit dem UoM). Man kann aber auch davon abweichen (.state oder .displayState).
Oder mit einer Eigendefinition (=Number.parseFloat(items.OneCallAPIweatherandforecast_Current_Temperature.state).toFixed(1) + " ist das kalt"), in der das UoM eliminiert wird.
Screenshot: YamL-Code des Widgets:
Code: Alles auswählen
component: oh-label-cell
config:
item: OneCallAPIweatherandforecast_Current_Temperature
title: OWM - Aussentemperatur
subtitle: =items.OneCallAPIweatherandforecast_Current_Temperature.state + " mit
'.state '" +" - " +
items.OneCallAPIweatherandforecast_Current_Temperature.displayState + " mit
'.displayState'"
footer: =Number.parseFloat(items.OneCallAPIweatherandforecast_Current_Temperature.state).toFixed(1) +
" ist das kalt"
trendItem: OneCallAPIweatherandforecast_Current_Temperature
slots: null
Code: Alles auswählen
Number:Temperature OneCallAPIweatherandforecast_Current_Temperature "Outdoor Temperature [%.1f %unit%]" <Temperature> (gOCact) ["Point"] { channel="openweathermap:onecall:bridge:local:current#temperature" }
Oder mit einer Eigendefinition (=Number.parseFloat(items.OneCallAPIweatherandforecast_Current_Temperature.state).toFixed(1) + " ist das kalt"), in der das UoM eliminiert wird.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian