Seite 8 von 9

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 28. Mär 2024 15:22
von udo1toni
Gar nicht. Die Dimension ist hPa, Du kannst aber die Metadaten "Unit" setzen - das ist, wie der Wert im Item als Status gehalten wird, hat auch Einfluss auf die Persistence und sollte deshalb nur einmalig beim Anlegen des Items gesetzt werden.
Die Anzeige kannst Du über die Metadaten "stateDescription" setzen, dort trägst Du im Feld "Pattern" eben das gewünschte Format samt Einheit ein, den Rest erledigt openHAB für Dich. Wichtig ist nur, dass der Wert korrekt als QuantityType vorliegt, also bereits vom Channel mit Einheit gesendet wird. Ab dem Moment ist es unerheblich, um welche Einheit es sich dabei konkret handelt, solange die Einheit zum Wert passt und die Dimension korrekt beschreibt (also z.B. bar, Pa, hPa mmHg usw. für den Druck). openHAB wird den Wert immer automatisch korrekt in die gewünschte Einheit umrechnen, und mehr noch, man kann sogar korrekt mit den Einheiten rechnen, also z.B. die hPa mal eine Fläche, z.B. 10 m², um auf die N zu kommen, denen diese Fläche gerade ausgesetzt ist. Also 1013 hPa * 1 m² = 101300 N oder so...
Die stateDescription kannst Du jederzeit anpassen, es handelt sich ja nur um die Darstellung des Wertes.

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 28. Mär 2024 17:35
von FrSeLo
so richtig bin ich noch nicht zu frieden ... anders BSP:
temperatur:
das XMSL liefert 815 ->81,5°C welchen wert lasse ich persistieren was trage ich wo im channel und ITEM ein damit da auch 81,5°C da steht

wenn ich jetzt im ITEM die Dimension temperatur hinzufüge bekomme ich einen Fehler im Log

Code: Alles auswählen

2024-03-28 17:05:02.678 [WARN ] [penhab.core.library.items.NumberItem] - Failed to update item 'ETA_XML_ETA_Kessel_VL_Temp' because '76.60' could not be converted to the item unit '°C'

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 28. Mär 2024 18:02
von udo1toni
Na, die 815 sind 815 d°C (Dezigrad Celsius), im Normalfall unüblich, aber nicht mal sonderlich exotisch. Wenn Du die Channel Unit so setzt und dann ein Number:Temperature Item verlinkst, kannst Du Dir frei aussuchen, ob Du die Temperatur in °C, °F oder in K anzeigen lässt, mit oder ohne Nachkommastellen. Es bietet sich an, die Item Unit auf °C einzustellen.

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 29. Mär 2024 21:33
von FrSeLo
Super das mit Temp funktioniert :)
Aber irgendwie geht das nicht immer

BSP: bekomme im XML 718 -> 71,8 kwh
im Channel wird aber hWh aber nicht akzeptiert nur Wh oder kWh
Im Item gibt es ja nur Dimension Engery kWH
--> die Dimension im Item stimmen nicht laut doku
https://www.openhab.org/docs/concepts/u ... ement.html

sollte hecto Watt Stunden das richtige für mich sein Wie muss ich das notieren damit es von OH richtig verwertet wird ?
Danke

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 30. Mär 2024 01:03
von udo1toni
hWh ist halt eine ziemlich unübliche Größe. Versuche bitte mal h*Wh als unit im Channel.

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 30. Mär 2024 21:33
von FrSeLo
hmm ... leider nein
in der Doku wird es doch so beschrieben wo ist mein Fehler?

ich habe openhab erst eine Woche bin also nocht nicht richtig vertraut mit dem Thema.

Habe gelesen das viele Anwender nur in den Files Konfigurieren am besten wohl mit VS Code da es dafür ein Plugin gibt.
Habe aber für diesen Einstieg noch keine gute Seite gefunden

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 31. Mär 2024 01:04
von udo1toni
Nein, die Konfiguration sollte über die UI genauso gut gehen. Die Textkonfiguration hat gewisse Vorteile, aber dafür muss man halt genau wissen, was man tut :) Hier macht es keinen Unterschied, ob die Konfiguration über Text oder über UI vorgenommen wird.

Ein möglicher Ausweg aus der Situation wäre, die Einheit auf kWh zu setzen (das geht ja und ist "nur" um den Faktor 10 verkehrt) und zusätzlich imLink ein Profile einzutragfen, in diesem Fall z.B. DSL. Es gibt dann zwei Felder (Channel to Item und Item to Channel, sozusagen In und Out. Bei uns geht es nur um ankommende Daten, also vom Channel zum Item. Dort trägst Du nun den Code ein, der den Wert um Faktor 10 teilt

Code: Alles auswählen

|input/10 
Die Pipe (der senkrechte Strich) gibt dabei an, dass der Code inline angegeben ist. Alternativ kannst Du solche Transformationsprogramme auch über die UI speichern und dann die UID eintragen, oder (weil das schon immer ging) den Code in einer Textdatei speichern und den Dateinamen angeben.

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 31. Mär 2024 14:46
von FrSeLo
hab bei Thing To Item Transformation "|input/10" eigetragten bekomme
2024-03-31 13:43:08.676 [ERROR] [.module.script.profile.ScriptProfile] - Failed to process script '|input/10': input ___ /10
/ cannot be resolved.; line 1, column 5, length 1

woher weiß ich das input richtig ist?

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 31. Mär 2024 20:43
von udo1toni
Hmm... probiere bitte spaßeshalber mal

Code: Alles auswählen

| input * 0.1
evtl. musst Du auch

Code: Alles auswählen

| input.to_f * 0.1
schreiben, wobei mir das sehr neu ist, aber es gibt ein passendes Beispiel in der offiziellen Doku, und ide Doku lügt nie O:)

Re: ETA Pelletkessel PC25 auslesen

Verfasst: 3. Apr 2024 21:00
von FrSeLo
mit DSL

Code: Alles auswählen

|Float::parseFloat(input.replace('kWh','')) * 0.1
funktioniert es :)
aber irgendwie finde ich das nicht sehr ansprechend wie so hat der input jetzt plötzlich eine Maßeinheit?