Hallo Rainer,
ich verwende den IOBroker, habe also keine Expertise für HA. Im IOBroker wird über ein einfaches Blockly Skript je nach Abweichung von der Solltemperatur der TRV-Datenpunk "Minimale Ventilöffnung“ durch den gewünschten Wert überschrieben. Das geht dann direkt an den Shelly.
Oder über einen http-Befehl: http://XXXuser:XXXpassword@XXXIP-Adresse/thermostat/0?valve_min_percent=20
Der TRV alleine funktioniert sehr gut in nicht zu großen Räumen mit großen Heizkörpern, ausreichend hoher Vorlauftemperatur und Wasserdurchfluss bei kleiner Ventilöffnung.
Es scheint aber ein sturer Algorithmus abzulaufen, keine KI mit Lerneffekt. Dafür müsste der TRV aber auch die wechselnde Vorlauftemperatur/Außentemperatur kennen.
Ich kann auch in großen Räumen bei geringer Vorlauftemperatur mit der manuellen Korrektur die Raumtemperatur mit +/- 0,2 Grad Schwankung konstant halten. Der TRV bietet durch die Einstellmöglichkeiten hier also auch viele Möglichkeiten.
In manchen Räumen genügt es, die Minimalposition auf 5 % zu setzen, um die Stützimpulse zu vermeiden, in anderen Räumen gehe ich auf maximal 20 %.
Hier noch ein Beispiel für ein Blockly-Skript (auch wenn es Dir für HA nicht weiterhilft):
pasted-from-clipboard.png