Seite 1 von 1

Modbus Data Ausgabewert dividiert durch 100

Verfasst: 9. Feb 2021 15:20
von baipai
Hallo ich benoetige eure Hilfe.

Ich habe einen Volt/Amp Meter mit Modbus. (PZEM-017)
Soweit funktioniert alles mit Openhab. Ich kann die Werte auslesen und in OH3 mit einem Item anzeigen.

Das Problem ist meine 24 V Batteriebank liefert mir 2519 als Wert es sollte aber 25,19 sein. Also Wert / 100.

Wie bekomme ich das hin. Ich teste schon einen Tag an der Loesung und habe etliche Beispiele aus dem Internet nachgebaut.

Es sollte doch mit dem Transform funktionieren.

ich habe eine Datei.js im Ordner Transform angelegt.

"(function(in){
return in / 100;
})(input)"

dann habe ich beim Thing ModbusData im Feld Read Transform Datei.js eingetragen. auch JS:Datei.js
Es funktioniert nicht.
Muss ich da den ganzen Pfad eingeben?
Ich mache das ganze in der Paper UI

Sorry fuer die Schreibweise, ich habe hier leider nur eine Englishe Tastatur

Ich hoffe das hat schon mal jemand geloest, Im Forum habe ich nichts gefunden was das Problem loest.

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 9. Feb 2021 18:42
von udo1toni
Hast Du die JS Transformation auch installiert?

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 02:52
von baipai
Hallo Udo1toni,

Danke fuer die Antwort.

Ja habe ich gemacht.
Was muss den nun in das Feld "Read Transform"?

JS: und dann der Name von der JS Datei (JS:Datei.js)?
oder nur der Dateiname (Datei.js)?

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 12:29
von udo1toni
Welche Version von openHAB hast Du installiert, OH2 oder OH3?

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 13:38
von baipai
ich habe OH3 auf einem WIndows 7 PC. Mit einer entfernten MySql DB.

Der PC ist nur fuer OH installiert.

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 13:55
von violine21
So habe ich meine Umrechnung umgesetzt:
JS.gif
wh_kwh.js

Code: Alles auswählen

(function(i) {
  return parseFloat(i) / 1000 + " kWh"
})(input)

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 14:29
von udo1toni
Das ist aber nur Anzeigeebene :) ich glaube, er wollte den korrekten Wert hinterlegen...

Ich habe leider kein Modbus und kenne die Felder zu den Channels nicht. Als Alternative kannst Du im Item ein profile erstellen (dort wählst Du dann JS aus und trägst dort das Script ein)

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 14:29
von baipai
WOW
Vielen vielen Dank violine21

Hat super funktioniert.
(function(i) {
return parseFloat(i) / 100 + " Voltage"
})(input)

Jetzt wird der Wert richtig angezeigt.

Da war ich mit dem "read Transfom" auf dem falschem Weg.

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 14:33
von baipai
Danke an alle,

udo1toni, das mit dem anzeige Wert reicht schon, zum rechnen kann man ja den Wert aus dem modbus nehmen.

Es ist halt bloed wenn 2540 Volt anstatt 25,40 Volt angezeigt wird


Jetzt geht es weiter mit OH3, man lernt ja nie aus.

Re: Modbus Data Ausgabewert dividiert durch 100

Verfasst: 10. Feb 2021 14:33
von udo1toni
Habe meinen Beitrag oben noch ergänzt...