Hallo Martin,
ich habe mit einem virtuellen Temperatursensor mal negative Temperaturen an den Weatherchannel eines HM-CC-RT-DN geschickt.
Aus der Statusmeldung vom RT macht CUL_HM dann positive heiße Temperaturen (ab -0.1°C).
Hier mal ein Beispieltelegramm, vom RT empfangen mit -19.5°C -> measured-temp 82.9°C !
# $actTemp = sprintf("%2.1f",((($setTemp ) & 0x3ff)/10)); # noansi: gives positive hot reading on negative input!
# A 0F 55 C6 10 519E29 000000 0AFF3D0B0000 -19.5°C sent with virtual sensor, gave 82.9°C wrong reading
Mit folgendem Code werden negative Ist-Temperaturen vom RT kommend richtig interpretiert:
$actTemp = $setTemp & 0x3ff; # noansi: 10 bit signed integer
$actTemp -= 0x400 if ($actTemp & 0x200);
$actTemp = sprintf("%2.1f",($actTemp/10));
wäre also ohne viel Aufwand zu beheben.
Allerdings gibt es noch einen Nebeneffekt. Das High Byte wird zu 0xff, siehe oben, und damit die setTemp kaputt gemacht zu einem "on".
Ich denke, das ist ein Firmware Bug im RT (V1.5), da der Programmierer wohl nicht von negativen Temperaturen von welcher Quelle auch immer ausgegangen ist und die setTemp ohne Maskierung in den 16 Bit Wert rein ge"or"ed hat?
Sendet man im Anschluss wieder positive Werte, dann kommt auch wieder die zuvor gewählte setTemp an.
Um auch das in CUL_HM zu beheben müsste CUL_HM temporär die letzte gültige setTemp beibehalten, bis wieder eine positive Temperatur kommt.
Gruß, Ansgar.
PS:
Der RT hält sich streng an seine technischen Daten (siehe Anleitung)!
Mit negativen Temperaturwerten sollte man ihn nicht versorgen, da er sie tatsächlich als sehr warm zu interpretieren scheint und das Ventil zu macht, statt es offen zu halten!
Mit obiger Korrektur aufgezeichnet:
2020-09-10_18:39:08 TR_Dusche_Clima T: 50.1 desired: 20.0 valve: 0
2020-09-10_18:41:23 TR_Dusche_Clima T: 50.1 desired: 20.0 valve: 0
2020-09-10_18:43:24 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_18:46:15 TR_Dusche_Clima T: 0.1 desired: 20.0 valve: 100
2020-09-10_18:48:51 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_18:51:13 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_18:53:20 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 22
2020-09-10_18:56:17 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_18:58:59 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:01:27 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:03:40 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:06:43 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:09:32 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_19:12:06 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_19:14:26 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:16:32 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:19:27 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:22:07 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:24:33 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:26:45 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:29:46 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:32:33 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:35:06 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:37:24 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:39:28 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:42:33 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:44:59 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:47:23 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:49:33 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_19:52:33 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:55:18 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_19:57:50 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:00:05 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:02:06 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:04:58 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:07:35 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:09:57 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:12:05 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:15:03 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:17:46 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:20:15 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:22:29 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:24:31 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:27:19 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:31:37 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:32:15 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:34:21 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:37:17 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:39:58 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:42:25 TR_Dusche_Clima T: 23.2 desired: 20.0 valve: 0
2020-09-10_20:44:38 TR_Dusche_Clima T: 22.6 desired: 20.0 valve: 0
2020-09-10_20:47:40 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_20:50:28 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_20:55:20 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_20:57:24 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:00:18 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:03:46 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:05:23 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:07:34 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:10:34 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:13:20 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_21:15:52 TR_Dusche_Clima T: 22.7 desired: 20.0 valve: 0
2020-09-10_21:18:09 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:20:11 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:23:04 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:25:41 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:29:30 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:30:14 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:33:12 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:35:56 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:38:26 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:40:41 TR_Dusche_Clima T: -20.0 desired: on valve: 0
2020-09-10_21:42:42 TR_Dusche_Clima T: 22.7 desired: 20.0 valve: 0
2020-09-10_21:45:33 TR_Dusche_Clima T: 22.8 desired: 20.0 valve: 0
2020-09-10_21:48:09 TR_Dusche_Clima T: 22.7 desired: 20.0 valve: 0
2020-09-10_21:50:30 TR_Dusche_Clima T: 22.7 desired: 20.0 valve: 0
2020-09-10_21:52:38 TR_Dusche_Clima T: 22.6 desired: 20.0 valve: 0
2020-09-10_21:55:40 TR_Dusche_Clima T: 22.6 desired: 20.0 valve: 0
2020-09-10_21:58:16 TR_Dusche_Clima T: 22.6 desired: 20.0 valve: 0
2020-09-10_22:00:44 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:02:58 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:06:01 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:08:49 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:11:23 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:13:43 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:15:48 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:18:43 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:21:24 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:23:50 TR_Dusche_Clima T: 22.5 desired: 18.0 valve: 0
2020-09-10_22:26:02 TR_Dusche_Clima T: 22.5 desired: 18.0 valve: 0
2020-09-10_22:29:03 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:33:45 TR_Dusche_Clima T: 22.5 desired: 18.0 valve: 0
2020-09-10_22:34:22 TR_Dusche_Clima T: 22.5 desired: 18.0 valve: 0
2020-09-10_22:36:40 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:38:43 TR_Dusche_Clima T: 22.6 desired: 18.0 valve: 0
2020-09-10_22:41:42 TR_Dusche_Clima T: 0.1 desired: 18.0 valve: 100
2020-09-10_22:45:53 TR_Dusche_Clima T: 0.1 desired: 18.0 valve: 100
2020-09-10_22:46:39 TR_Dusche_Clima T: 0.1 desired: 18.0 valve: 100
2020-09-10_22:48:49 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_22:51:49 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_22:54:34 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_22:57:04 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_23:01:11 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_23:01:38 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_23:04:13 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_23:06:50 TR_Dusche_Clima T: 0.0 desired: 18.0 valve: 100
2020-09-10_23:09:13 TR_Dusche_Clima T: -0.1 desired: on valve: 100
2020-09-10_23:11:21 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_23:14:18 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_23:18:52 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_23:19:30 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_23:21:44 TR_Dusche_Clima T: -0.1 desired: on valve: 0
2020-09-10_23:23:44 TR_Dusche_Clima T: -0.1 desired: on valve: 0
Und noch mal bei aktiver Frostschutzfunktion:
-0.1°C gesendet führt zur Statusmeldung A0FF1C610519E290000000A7FFF0B0040, damit dann 15°C "Solltemperatur" und wieder Ventil zu...
2020-09-10_23:36:33 TR_Dusche_Clima T: 23.1 desired: off valve: 0
2020-09-10_23:39:16 TR_Dusche_Clima T: 23.1 desired: off valve: 0
2020-09-10_23:42:05 TR_Dusche_Clima T: 23.1 desired: off valve: 0
2020-09-10_23:43:52 TR_Dusche_Clima T: 23.1 desired: off valve: 0
2020-09-10_23:46:54 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-10_23:49:42 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-10_23:54:34 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-10_23:57:58 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-10_23:59:33 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:02:12 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:04:37 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:06:48 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:09:48 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:15:06 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:17:23 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:19:25 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:22:17 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:25:52 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:27:18 TR_Dusche_Clima T: 0.0 desired: off valve: 100
2020-09-11_00:30:12 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:32:50 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
2020-09-11_00:35:15 TR_Dusche_Clima T: -0.1 desired: 15.5 valve: 0
Funktioniert also genau bis zur unteren Spezifikationsgrenze "Umgebungstemperatur: 0°C bis +55°C"!
Passt wohl in Richtung dieses Threads https://forum.fhem.de/index.php/topic,80383.msg724030.html#msg724030 (https://forum.fhem.de/index.php/topic,80383.msg724030.html#msg724030)