Wie wandle ich einen gelesenen Wert in einem Zähler um ?

  • Fragen
  • [Gelöst] Wie wandle ich einen gelesenen Wert in einem Zähler um ?

Wie wandle ich einen gelesenen Wert in einem Zähler um ?

0
0

Ich lese über einen Waveshare RS485 to POE ETH den Wert für die Batterietemperatur aus einem Deye sun-12k-sg04lp3-eu (Register 586) und zeige den erhaltenen Wert in einer Zähler-Kachel an.
Soweit so gut.
Leider hat der gelesene Wert einen Offset. Anstelle von 9.2 erhalte ich 1092 zurück.
Nun würde ich gerne in der Zählerdefinition diesen Offset korrigieren mit so einer Formel:
(„gelesener Wert“ -1000) /10
Ich krieg das in der Zählerdefinition nicht hin.

Kann mir da jemand helfen ?
Hab die Infos zu Regeln und Zähler gelesen, sehe aber nicht, wie ich das direkt in der Zähler-Konfigurationsdatei umsetzen kann.
Die json-Datei für den Zähler lade ich als *.txt hoch

Anhänge:
Gelöst
markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 2)
Gefragt am 14. März 2024 10:38
109 views

Antworten (6)

0
Private answer

Nee, alles gut. Vielleicht kommt es bei dir ja noch zum steuern über Modbus.

Häufig liest man folgende Wünsche:

  1. beim laden es Autos - Entladung des Hausakkus stoppen, oder
  2. wenn Tibber/Awatar super billig - dann Hausakku mit Netzstrom laden.
markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1072)
Beantwortet am 14. März 2024 13:46
0
Private answer

Hab den Deye sun-12k-sg04lp3-eu verbaut mit 3 Battery-Packs zu je 15kWh.
Das ist meines Wissens ein Hybrid-Wechselrichter.
Direkte Steuerung der Akkus über Modbus ist noch kein Thema. Bin noch am Anfang ;)
Vorläufig verlasse ich mich auf die Steuerfähigkeiten des Deye WR was die Nutzung der Batterien angeht.
Die sind ja sehr umfangreich.

Was würdest du denn steuern wollen in der Batterie ?
ev. kann ich mal einen Test fahren, wenn ich weiss was gesteuert werden soll

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 2)
Beantwortet am 14. März 2024 13:36
0
Private answer

Super!

Sag mal, ist das ein Hybrit-WR?

Hast du auch einen Akku und kannst du den über Modbus steuern?

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1072)
Beantwortet am 14. März 2024 13:20
1
Private answer

vielen Dank für die schnelle Unterstützung
Die Kombi aus expression und resolution funktioniert nicht - aus zB 1094 wird lediglich 94

mit einer kombinierten Formel in expression klappt es prima:

"Temp": {
"address": 586,
"type": "int16"
},
"*Temperatur": {
"expr": "(Temp-1000)/10"
}

Das mit den Expression hatte ich wohl falsch interpretiert. Ich dachte beim Lesen, dass der gelesene Wert aus einem Register als expression ausgewertet wird.

markiert als Spam
Geschrieben von (Fragen: 1, Antworten: 2)
Beantwortet am 14. März 2024 11:53
0
Private answer

Genau.
Aber zur Ehrenrettung von cFos und auch für andere: Das steht eigentlich sehr wohl in der Doku drin :D
hier bei Definition einer Variablen

markiert als Spam
Geschrieben von Top Networker (Fragen: 8, Antworten: 124)
Beantwortet am 14. März 2024 11:27
0
Private answer

Über das Feld "resolution" kannst du den Wert multiplizieren.

z.B.:

"*Temperatur": {
"address": 586,
"type": "int16"
"resolution": 0.1
}

Ob du in da auch noch den Offset rausrechnen kannst weiß ich nicht. Du kannst aber über eine Hilfsvariable gehen:
z.B

"Temp": {
"address": 586,
"type": "int16"
}
"*Temperatur": {
"expr": "Temp-1000"
"resolution": 0.1
}

 

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1072)
Beantwortet am 14. März 2024 11:06