Danke dir MichaelN. Dein Tip hat geholfen!
Ich habe die Programme umgestellt und setzte nun einzelne Zeilen neu statt das ganze Display. Seitdem keine Servicemeldung mehr über gestörte Kommunikation. Hier mein Script:
boolean fenstersz = dom.GetObject("HmIP-RF." # dom.GetObject("Schlafzimmer Fensterkontakt").Address() # ".STATE").Value();
dom.GetObject("HmIP-RF." # dom.GetObject("Flur OG Statusdisplay").Address() # ":3.DISPLAY_DATA_STRING").State("Schlafz. " # system.Date("%H:%M"));
if (fenstersz){
dom.GetObject("HmIP-RF." # dom.GetObject("Flur OG Statusdisplay").Address() # ":3.DISPLAY_DATA_ICON").State(24);
} else {
dom.GetObject("HmIP-RF." # dom.GetObject("Flur OG Statusdisplay").Address() # ":3.DISPLAY_DATA_ICON").State(6);
}
dom.GetObject("HmIP-RF." # dom.GetObject("Flur OG Statusdisplay").Address() # ":3.DISPLAY_DATA_ID").State(3);
dom.GetObject("HmIP-RF." # dom.GetObject("Flur OG Statusdisplay").Address() # ":3.DISPLAY_DATA_COMMIT").State(true);
Allerdings habe ich bei dem Code nun ab und zu das Problem, dass dieser keinen Fehler (bzw. Servicemeldung) erzeugt, aber das Display sich trotzdem nicht ändert. Ändert es sich später wegen einem anderen Event, werden alle Zeilen korrekt angezeigt. Wenn mir jetzt noch jemand einen Tip geben kann, wieso manchmal (vermutlich) DISPLAY_DATA_COMMIT nicht ausgeführt wird, dann hätte ich das Display wie ich es wollte am laufen.