@passuff Im Prinzip gibt es weder Read noch Write Variablen.
MQTT arbeitet mit Zuständen/States und sonst gar nichts. Jeder mqtt-Client kann einen state veröffentlichen (schreiben) oder einen state abbonnieren (lesen).
Ich verstehe zwar was Du willst - nämlich die set Struktur Deines viessmann Adapters im mqtt zum Schreiben für Openhab zur Verfügung zu stellen - aber so funktioniert mqtt NICHT.
Vergiss Deine Read und Write Variablen. Du schreibst oder liest, aber mqtt stellt keine Variablen zur Verfügung. Wenn Du etwas publishst, dann macht der mqtt Broker nichts weiter, als diese Werte an die Clients zu schicken, die dieses Thema abonniert haben. Der Broker stellt aber KEINE Variablen zur Verfügung. Ein Broker wird auch nichts zur Verfügung stellen wo es keinen Wert gibt. MQTT stellt keine Variablen oder Datenpunkte zur Verfügung. Jeder mqtt Client schreibt oder liest Werte sonst nichts.
Ich kanns Dir nicht anders erklären, vielleicht kann das jemand anders besser als ich. MQTT ist ein nachrichtenbasierendes Protokoll zum Austausch von Informationen zwischen Maschinen und keine Datenbank im herkömmlichen Sinne. Deswegen haben in der Regel auch keine Werte da drin Bestand - es sei denn man speichert sie mit dem Retain Flag.
Vielleicht erklärt es Steve besser (wenn auch in Englisch): http://www.steves-internet-guide.com/mqtt-basics-course/
Wie gesagt Du kannst Dein Ziel ja erreichen, aber eben so, wie ich es beschrieben habe und nicht mit Deiner Vorstellung von Variablen mit Read und Write. Aber wie schon gesagt, gibt hier einige Fachleute, wenn die es besser wissen, lasse ich mich auch gerne belehren.
Ansonsten kann ich Dir nur noch sagen, wie Du es halt konkret machen könntest, ansonsten bin ich hier dann aber raus.