FHT80b, desired-temp on, no confirmation after 3 tries

Begonnen von Hinata, 14 Februar 2022, 07:57:45

Vorheriges Thema - Nächstes Thema

Hinata

Um den Heizvorgang morgens zu beschleunigen habe ich eine Boost-Funktion implementiert.
Die Funktion öffnet den Heizkörper temporär zu 100%:

set bg_Heizung desired-temp on

Ich verwende eine FHZ1300 mit aktiviertem softbuffer=1, bei dem FHT80b ist retrycount=2 gesetzt.
In der LOG-Datei sehe ich:

2022.02.14 07:03:04 2: FHZ get   fhtbuf
2022.02.14 07:03:04 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 07:07:04 2: FHZ get   fhtbuf
2022.02.14 07:07:04 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 07:11:04 2: FHZ get   fhtbuf
2022.02.14 07:11:04 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 07:15:04 2: bg_Heizung set desired-temp 30.5: no confirmation after 3 tries, giving up


Diese Meldung sehe ich nur morgens, wenn ich auf ,,on" schalte, sonst habe ich keinerlei Kommunikationsprobleme. Der Befehl wird auch zuverlässig ausgeführt. Da ,,on" ein Spezialwert ist und intern auf 30.5 geändert wird, liegt es vielleicht daran, dass hier etwas schief geht?

Wo im Code und wie erkennt die FHT, das eine Antwort auf den Befehl ,,on" gekommen ist?

rudolfkoenig

ZitatWo im Code und wie erkennt die FHT, das eine Antwort auf den Befehl ,,on" gekommen ist?
Hier: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/11_FHT.pm#L592

Hinata

Ich habe den Fehler weiter eingekreist. Das Problem tritt nur mit aktivierten softbuffer und set bg_Heizung desired-temp on auf. Wie man in der LOG-Datei sieht, tritt mit dem Wert 16.5 kein Fehler auf.

softbuffer=1, retrycount=2

2022.02.14 20:38:35 2: FHZ get   fhtbuf
2022.02.14 20:38:35 2: FHT set bg_Heizung desired-temp 16.5
2022.02.14 22:27:30 2: FHZ get   fhtbuf
2022.02.14 22:27:30 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 22:31:30 2: FHZ get   fhtbuf
2022.02.14 22:31:30 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 22:35:31 2: FHZ get   fhtbuf
2022.02.14 22:35:31 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 22:39:31 2: bg_Heizung set desired-temp 30.5: no confirmation after 3 tries, giving up


Ohne softbuffer können beliebige Werte ohne Fehler gesetzt werden, auch ,,on".

softbuffer=0, retrycount=0

2022.02.14 22:41:46 2: FHT set bg_Heizung desired-temp 16.0
2022.02.14 22:49:13 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 23:19:44 2: FHT set bg_Heizung desired-temp 16.0


Leider habe ich den Code noch nicht verstanden, eventuell geht aber bei der Erstellung des keys im softbuffer etwas schief (on/30.5)?

Hinata

Unten ein Logging mit verbose=4. Ich interpretiere das so, dass der Befehl aus dem Softbuffer erfolgreich gesendet wird, die Confirmation aber nicht erkannt wird? Confirmation hat value ,,on" und Softbuffer vergleicht auf 30.5?

2022.02.14 14:03:02 2: FHT set bg_Heizung desired-temp 30.5
2022.02.14 14:03:04 4: FHZ/RAW: 810c04ee0909a0013d540000aa00 (Unparsed: )
2022.02.14 14:03:04 4: FHT bz_Heizung actuator: 0%
2022.02.14 14:03:08 4: FHZ/RAW: 81 (Unparsed: )
2022.02.14 14:03:08 4: FHZ/RAW: 0c04a50909a00127250000a600 (Unparsed: 81)
2022.02.14 14:03:08 4: FHT sz_Heizung actuator: 0%
2022.02.14 14:03:18 4: FHZ/RAW: 810c (Unparsed: )
2022.02.14 14:03:18 4: FHZ/RAW: 04 (Unparsed: 810c)
2022.02.14 14:03:18 4: FHZ/RAW: 880909a0013610420069e4 (Unparsed: 810c04)
2022.02.14 14:03:18 4: FHZ/RAW: 810c (Unparsed: )
2022.02.14 14:03:18 4: FHZ/RAW: 04a50909a0013610 (Unparsed: 810c)
2022.02.14 14:03:18 4: FHZ/RAW: 43006900 (Unparsed: 810c04a50909a0013610)
2022.02.14 14:03:18 4: FHT bg_Heizung measured-temp: 22.8
2022.02.14 14:03:18 4: FHZ/RAW: 810c (Unparsed: )
2022.02.14 14:03:18 4: FHZ/RAW: 04ab0909a00136104b006700 (Unparsed: 810c)
2022.02.14 14:03:18 4: FHT bg_Heizung ack: 0
2022.02.14 14:03:19 4: FHZ/RAW: 810c (Unparsed: )
2022.02.14 14:03:19 4: FHZ/RAW: 04a60909a001 (Unparsed: 810c)
2022.02.14 14:03:19 4: FHZ/RAW: 361044006900 (Unparsed: 810c04a60909a001)
2022.02.14 14:03:19 4: FHT bg_Heizung battery: ok
2022.02.14 14:03:19 4: FHT bg_Heizung lowtemp: ok
2022.02.14 14:03:19 4: FHT bg_Heizung window: closed
2022.02.14 14:03:19 4: FHT bg_Heizung windowsensor: ok
2022.02.14 14:03:19 4: FHT bg_Heizung warnings: none
2022.02.14 14:03:19 4: FHZ/RAW: 810c (Unparsed: )
2022.02.14 14:03:19 4: FHZ/RAW: 04ab0909a00136104b006700 (Unparsed: 810c)
2022.02.14 14:03:19 4: FHT bg_Heizung ack: 0
2022.02.14 14:03:19 4: FHZ/RAW: 810c04de0909a00136107e006700 (Unparsed: )
2022.02.14 14:03:19 4: FHT bg_Heizung end-xmit: 0
2022.02.14 14:03:24 4: FHZ/RAW: 810e04690216a0017d (Unparsed: )
2022.02.14 14:03:24 4: FHZ/RAW: 33000000000000 (Unparsed: 810e04690216a0017d)
2022.02.14 14:03:40 4: FHZ/RAW: 810c04a90909a0011d (Unparsed: )
2022.02.14 14:03:40 4: FHZ/RAW: 2f0000aa00 (Unparsed: 810c04a90909a0011d)
2022.02.14 14:03:40 4: FHT ga_Heizung actuator: 0%
2022.02.14 14:03:47 4: FHZ/RAW: 810e048e0510a00163da00000023 (Unparsed: )
2022.02.14 14:03:47 4: FHZ/RAW: 3246 (Unparsed: 810e048e0510a00163da00000023)
2022.02.14 14:04:18 4: FHZ/RAW: 810c04280909a00161530000 (Unparsed: )
2022.02.14 14:04:18 4: FHZ/RAW: a61b (Unparsed: 810c04280909a00161530000)
2022.02.14 14:04:18 4: FHT bb_Heizung actuator: 11%
2022.02.14 14:04:33 4: FHZ/RAW: 810e04 (Unparsed: )
2022.02.14 14:04:33 4: FHZ/RAW: ad0511a0014f6d000001370200 (Unparsed: 810e04)
2022.02.14 14:04:37 4: FHZ/RAW: 810c04 (Unparsed: )
2022.02.14 14:04:37 4: FHZ/RAW: 280909a00143370000a655 (Unparsed: 810c04)
2022.02.14 14:04:37 4: FHT wz_Heizung actuator: 33%
2022.02.14 14:04:45 4: FHZ/RAW: 810b041983 (Unparsed: )
2022.02.14 14:04:45 4: FHZ/RAW: 0983013610413d45 (Unparsed: 810b041983)
2022.02.14 14:04:45 4: FHT bg_Heizung confirmation: 41
2022.02.14 14:04:45 4: FHT bg_Heizung desired-temp: on

2022.02.14 14:04:45 4: FHT softbuffer check: bg_Heizung / desired-temp 30.5
2022.02.14 14:04:46 4: FHZ/RAW: 810c041b0909a001 (Unparsed: )
2022.02.14 14:04:46 4: FHZ/RAW: 36107e00673d (Unparsed: 810c041b0909a001)
2022.02.14 14:04:46 4: FHT bg_Heizung end-xmit: 61

rudolfkoenig

on steht stellvertretend fuer 30.5 und off fuer 5.5.
Im Softbuffer-Code war dieses alias nicht bekannt.
Ich habe das jetzt eingebaut, aber nicht getestet.
Falls es nicht funktionieren sollte, bitte die "FHT softbuffer check" Zeilen aus dem Log hier anhaengen.

Hinata

Danke für die Änderung. Ich teste das und melde mich wieder.

Hinata

Um den Patch zu testen musste ich bei dem if noch die schließende Klammer ergänzen: if ( ... )

rudolfkoenig

Danke fuer den Hinweis, habs geaendert.
Ich haette schwoeren koennen, dass ich getestet habe, dass das Modul geladen werden kann... seufz.

Hinata

Der Fix hat bei mir funktioniert, das Problem ist heute Morgen nicht mehr aufgetreten.