NEWS
Brötje Modbus Aussentemperatur falsch bei Minusgraden
-
Guten Morgen zusammen,
Ich habe eine Brötje Neo BLW Wärmepumpe mit Neokom Modul.
Über den Modbus habe ich im iobroker die Aussentemperatur für diverse Anwendungen eingebunden (jarvis, history, charts)Klappte bisher super, nun hat es seit heute Nacht das erste mal Minusgrade - jetzt bekomme ich im Modbus 65529°C angezeigt
Im lokalen Neokom Web-Interface zeigt er korrekt -0,7°C an.Hat jemand eine Lösung für mich?
-
@bvx sagte in Brötje Modbus Aussentemperatur falsch bei Minusgraden:
Hat jemand eine Lösung für mich?
ich denke nicht dass das ein Bug von ioBroker ist.
wenn du in den Einstellungen des Registers das Format unsigned nimmst kann da auch kein Vorzeichenwechsel stattfinden.sieh nochmal in der Gerätedoku nach welches Format das Register hast.
-
@bvx sagte in Brötje Modbus Aussentemperatur falsch bei Minusgraden:
jetzt bekomme ich im Modbus 65529°C angezeigt
Das was @Homoran schreibt.
Klassischer Integer-Überlauf. Wenn da als Datentyp einer ohne Vorzeichen (unsigned) eingestellt ist, kann der auch niemals negative Werte annehmen.
Da muss also ein "signed" Datentyp rein. Die Doku des Herstellers sollte Dir den passenden Typ nennen können. -
und siehe da, der erste Fund bei Startpage
Da steht bei allen Registern INT16!
@bvx
Der Bug besteht darin, dass du überall UINT16 gewählt hastBTW
Ich hatte schon fragen wollen warum Holdingregister! Die sind eigentlich nur zum schreiben, werden von einigen Herstellern aber auch zum lesen missbraucht.Function Code 4 ist aber inputRegisters
https://en.m.wikipedia.org/wiki/Modbus#Function_code