ich habe ein Shelly 1PM um meinen Wechselrichter zu schalten.
Ich habe ein Thing in OpenHab 3.4 konfiguriert und ich kann den Shelly schalten. Die Werte Energie Total, Energie Yesterday usw. werden mir auf der Seite auch angezeigt.
Ich möchte einfach nach den Werten noch 'Watt' angezeigt bekommen.
Dafür hab ich bei formatBeforePublish %s,Watt eigetragen.
Aber leider wird Watt nicht angezeigt nur die blanken Zahlen.
Der Parameter heißt formatBeforePublish und gehört zu einem mqtt Channel. Dieser Parameter bezieht sich darauf, etwas zu formatieren, was von openHAB an ein Topic gesendet (gepublisht) wird.
Du möchtest stattdessen einen empfangenen Wert in openHAB formatieren. In openHAB geht es immer und ausschließlich um Items (also abgesehen davon, wenn es um die Kommunikation mit externen Schnittstellen geht).
Du musst also das entsprechende Item formatieren, nicht den Channel. Über die UI geht das über die Metadaten des Items, und zwar über den Teil State Description und dort das Pattern.
Allerdings wäre es eleganter, das Problem anders zu lösen, und zwar tatsächlich in Teilen über den Channel.
Dazu musst Du allerdings den Channel als number Channel konfigurieren, nicht als string.
Wenn Du das tust, gibt es unter den Advanced Options einen Parameter unit. Dort trägst Du Wh ein.
[{b]Ws[/b] ist die Einheit für Energie (zumindest solange es um Strom geht) und der Shelly liefert Wattstunden, also Wh.
Zusätzlich musst Du das Item statt als String Item als Number:Energy Item anlegen.
Nun wird der Wert automatisch in kWh angezeigt, und zwar mit Einheit.
Power und Energy sind zwei unterschiedliche Größen, die Du nicht verwechseln solltest (auch wenn das sehr häufig passiert), Energy ist Power mal Zeit, also 1 Wh wäre z.B. 1 Watt über 1 Stunde, oder 10 Watt über 6 Minuten, oder 100 Watt über 36 Sekunden.
Und wenn Du die beiden Stellen betrachtest, kannst Du auch den großen Vorteil von UoM (Units of Measurement) erkennen (das ist, was wir hier verwenden). Der Channel liefert Wh, ausgegeben werden aber kWh. Du könntest aber auch MJ (Megajoule) ausgeben lassen, wenn Du das wolltest (in der State Description bei Patttern einfach %.1f MJ eintragen). openHAB wird die Umrechnung vornehmen, in jede beliebige (passende) Einheit. kWh ist halt die gebräuchliche Größe an dieser Stelle, weshalb diese Größe vorausgewählt ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet