Problem mit Eltako FWS61 Instanz

Hallo Zusammen,

ich habe Probleme mit der Eltako FWS61 Instanz seit dem Upgrade auf IPS 4.1 von 3.4 kommend.

Das Problem liegt darin, dass die Instanz, zumindest bei mir, die Werte für Temperatur und Windgeschwindigkeit nicht korrekt berechnet.

Ich habe schon einiges an Zeit ins Debugging gesteckt und es steht für mich fest, dass der Fehler im Modul beim Berechnen passieren muss. Hierzu folgende Zwischenergebnisse der Untersuchung:

Zunächst mal ein Screenshot der HEX Werte, welche vom FWS61 an IPS geliefert werden:
Hex-Werte.PNG

Das sind 2 Beispiele (hatte den Sensor mit ner Flammer kurz erhitzt)
Um 14:39:58 waren es 0x5D
Um 14:43:20 waren es 0x57
für Data2, welches der Temperatur entspricht.

Laut Eltako Funktelegramm-Beschreibung wird die Temperatur wie folgt berechnet:
Wert in DEC * 120/255. Ist die Zahl größer als 40, wird 40 abgezogen. Ist sie kleiner als 40, wird sie von 40 abgezogen.

Das hieße für obige Zahlen:
Um 14:39:58 waren es 0x5D -> 93 *120/255 = 43,765 -> 3,8°C
Um 14:43:20 waren es 0x57 -> 87 *120/255 = 40,941 -> 0,9°C

In IPS werden aber folgende Werte angezeigt:
IPS_Werte.PNG

0,0°C bzw 3,0°C. Es wird also sehr seltsam mit den Zahlen umgegangen.

Dieses Problem tritt erst auf, seit dem Upgrade auf 4.x
Der folgende Screenshot zeigt die geloggten Werte vor und nach dem Update am 28.11. gegen 9 Uhr.
TempVarGenauigkeit.PNG

Kann man das Problem einfach Lösen @ Paresy?
Wenn nicht, dann werde ich wieder eigene Programme schreiben müssen.

Gruß
Maze

Hallo Zusammen,

kann bitte einer der anderen Eltako MS User bitte mal checken wie es bei ihnen aussieht?

@Wolkensurfer, @Baba, @Wolfgang?

Mein IPS läuft auf einer ZBOX mit Win10. Und ist der aktuellste 4.1 Release.

Gruß
Maze

Ich habe das Problem gefunden und im nächsten Update gibt es dafür einen Fix. Danke für das gute Debugging!

paresy

Hallo Paresy,

danke schonmal.

Ich denke das ein Floor (Abrunden) Befehl in der Berechnung ALLER Werte steckt.

Auch die Werte für die Helligkeiten stimmen nicht ganz. Besser fände ich an der Stelle den Befehl Round (Runden) zu verwenden um von Float auf Integer zu kommen.

Danke und Gruß
Maze

PS: Seltsam das es sonst noch keinem aufgefallen ist.