[gelöst] DOIF Berrechnung liefert unlogischen Wert

Begonnen von Burny4600, 15 Mai 2016, 19:51:31

Vorheriges Thema - Nächstes Thema

Burny4600

Möchte eine Berechnung einer Variablen durchführen und diese in einen Dummy schreiben.

Leider wird dabei ein falscher Wert berechnet.
Irgendwo dürfte ich einen Fehler in der Berechnung durchgeführt haben.
define DL2_T04k dummy
define TK_DL2_T04 DOIF ([DL2:T_04] > 32)(set DL2_T04k {([DL2:T04] - [50.0])}) DOELSE (set DL2_T04k {([DL2:T04])})


Nach der Subtraktion kommt ein zu hoher negativer Wert heraus der eigentlich positiv sein sollte.
DL2:T04 entspricht 64.3 und Ergebnis DL2_T04k sollte somit 14.3 sein.
Der Wert wird aber in den Dummy wird mit zb -26332567.3 ausgegeben.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Icinger

Das ist Perl-Ebene, also muss es heissen

{([DL2:T04] - 50.0)}

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Burny4600

LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Damian

Bei:

(set DL2_T04k {([DL2:T04])})

gibt es nichts zu rechnen, also reicht:

(set DL2_T04k [DL2:T04])
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF