Hallo zusammen,
ich habe heute unseren Sungrow Wechselrichter über das Modbus Binding in Openhab 4.3 eingebunden.
Prinzipiell funktioniert auch alles wie es soll, ich habe aber bei mindestens 2 Items mit der Anzeige des
Wert ein Problem mit der Darstellung der Kommastelle.
Battery Capacity sollte eigentlich 9.6 kWh anzeigen, zeigt aber 96 kWh. Viel wichtiger ist mir aber Battery Level, wo 0.147 % angeleigt wird,
anstelle von 14.7 %.
Ich habe jetzt alles durchgelesen was ich finden konnte und würde behaupten das die Items richtig angelegt sein sollten. Das Pattern für die State Descripion des Battery Level Items ist mit %.2f %% angegeben. Beim Battery Capacity Item ist %.2f %unit% angegeben.
Kann ich das an irgendeiner Stelle umrechnen ?
Oder habt Ihr eine andere Idee ?
Funfact, wenn ich den Battery Level Item von Number.Dimensionless auf Number.Irgendwasanderes umstelle und dann wieder zurück, wird kurzzeitig der richtige Wert angezeigt ( 14.7 % ), springt dann aber wieder zurück.
Danke im Voraus.
Problem mit Prozentwertanzeige bei Item
-
- Beiträge: 6
- Registriert: 30. Nov 2021 00:44
Problem mit Prozentwertanzeige bei Item
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- udo1toni
- Beiträge: 15052
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Problem mit Prozentwertanzeige bei Item
Wie sind denn die Channel exakt definiert?
Ich bin mir gar nicht sicher, ob das Modbus Binding Units of Measurement überhaupt unterstützt.
Du müsstest dann auf jeden Fall innerhalb des Channels die korrekte Einheit setzen - also die, welche vom Gerät angeliefert wird.
Gerade bei Modbus wird der Wert gerne mit 10 multipliziert übertragen, um später (wenn man durch 10 dividiert hat) eine Nachkommastelle zu erhalten, obwohl der übertragene Wert vom Typ Integer ist. Das muss man dann entsprechend berücksichtigen, z.B. mit d*kW (DezikiloWatt) - wahlweise müsste auch hW gehen (Hektowatt) - openHAB sollte, einmal mit der korrekten Einheit versehen, den Wert dann immer korrekt ausgeben, egal, ob man als Einheit im Pattern dann kW, MW, W oder mW angibt (oder eine andere zu Leistung passende Einheit).
Was den Prozentwert betrifft, kann das auch tricky sein, evtl. musst Du als Einheit one angeben, damit nachher bei der Umwandlung nach % das Komma um zwei Stellen verschoben wird.
Falls das Binding selbst kein UoM unterstützt, kannst Du versuchen, die Einheit im Link zwischen Channel und Item hinzufügen zu lassen.
Ich bin mir gar nicht sicher, ob das Modbus Binding Units of Measurement überhaupt unterstützt.
Du müsstest dann auf jeden Fall innerhalb des Channels die korrekte Einheit setzen - also die, welche vom Gerät angeliefert wird.
Gerade bei Modbus wird der Wert gerne mit 10 multipliziert übertragen, um später (wenn man durch 10 dividiert hat) eine Nachkommastelle zu erhalten, obwohl der übertragene Wert vom Typ Integer ist. Das muss man dann entsprechend berücksichtigen, z.B. mit d*kW (DezikiloWatt) - wahlweise müsste auch hW gehen (Hektowatt) - openHAB sollte, einmal mit der korrekten Einheit versehen, den Wert dann immer korrekt ausgeben, egal, ob man als Einheit im Pattern dann kW, MW, W oder mW angibt (oder eine andere zu Leistung passende Einheit).
Was den Prozentwert betrifft, kann das auch tricky sein, evtl. musst Du als Einheit one angeben, damit nachher bei der Umwandlung nach % das Komma um zwei Stellen verschoben wird.
Falls das Binding selbst kein UoM unterstützt, kannst Du versuchen, die Einheit im Link zwischen Channel und Item hinzufügen zu lassen.
openHAB4.3.2 stable in einem Debian-Container (bookworm) (Proxmox 8.3.3, LXC), mit openHABian eingerichtet