Ich habe ein wenig rumgetestet. Ich denke es liegt daran, dass direkt auf dem Thermostat jegliche Änderungen des Offset ignoriert werden, egal ob aus HASS oder direkt in Z2M gemacht.

Das liegt nicht, daran, dass das Thermostat gerade schläft, andere Änderungen wie Zieltemperatur oder auch die externe Temperatur werden sofort angenommen.
Ebenso werden Änderungen hier drinnen ignoriert, diese Zeitpläne gelten nur bei AUTO, dennoch habe ich die nie eingetragen und sie lassen sich auch nicht löschen.
Vielleicht deaktiviere ich die Entitäten einfach.
Es scheint also ein Problem mit den Thermostaten zu sein. Kann das jemand mal testen der TRVZB mit Z2M nutzt?
Ich habe auch eines der Thermostate komplett zurückgesetzt, neu angelernt und ohne Better Thermostat eingebunden. Dieses verhält sich gleich.
Aktueller Status:
VTherm schien mir zu kompliziert, zumindest für mal eben kurz. Daher habe ich, trotz berechtigter Warnungen, dieses Blueprint genutzt und füttere nun den externen Temperaturwert in das Feld des TRVZB. Das scheint auch verlässlich zu klappen:
Die in BT eingestellten und angezeigten Temperaturen stimmen jetzt mit denen der Thermostate überein.
Außerdem war mir ein weiteres Problem aufgefallen, was diese Lösung verkompliziert:
Irgendetwas verstellt randomisiert den Zustand der Temperature sensor Entität weg von external (was ich ja brauche) auf external_2 oder external_3. Mit denen funktioniert der eingestellte wert jedoch nicht. Es steht (wie auf dem Screenshot zu sehen) auch nichts dabei was die Änderung ausgelöst hat…
Als Heilung habe ich eine Automation geschrieben, die jede Änderung an einem der Thermostate wieder rückgängig macht:
Ich weiß, es ist ein fix für den fix, aber immerhin funktioniert es.