Ein angepasstes Script, um das HTML-Framework auf den CUxD umzustellen
Zur Installation des CUxD-HTML-Frameworks müssen folgende Voraussetzungen erfüllt sein:
Wenn Sie bereits das CUxD-Mini-Framework eingerichtet haben, folgen Sie zunächst der Anleitung für das HTML-Framework. Anschließend brauchen Sie nur noch das Versandscript durch die Version auf dieser Seite zu ersetzen.
Variablen in HomeMatic-Scripten
Die CCU hatte früher ein Limit von maximal 200 Variablen, das mit Firmware-Version 2.29.18 aufgehoben wurde. Dieses Limit bezog sich auf alle Variablen, die in allen Scripten verwendet werden. Gemeint sind Variablen, die direkt im Script definiert werden: object x; object y; var z;
Wenn Scripte nicht mehr funktionieren und bei der Prüfung unerklärliche Syntax-Fehler auftreten, sollte versuchsweise dieses Programm wieder gelöscht oder deaktiviert werden – oder, noch besser, auf die aktuelle Firmware-Version aktualisiert werden.
Strings in HomeMatic-Scripten
Durch String-Verwendung in HomeMatic-Scripten kann die CCU fehlerhaft arbeiten, instabil werden oder sogar abstürzen. Grundsätzlich gilt: Je öfter mit Strings hantiert wird, desto eher führt dies zu Problemen.
Ich empfehle daher, nach Umsetzung dieser Anleitung die CCU unter Beobachtung zu halten.
Benennung von Systemvariablen
Prinzipiell kann man Systemvariablen – so wie allen Objekten in der CCU – beliebige Namen geben, also z. B. auch Umlaute und Sonderzeichen verwenden. Ich empfehle jedoch, sich auf reguläre Buchstaben (a-z, A-Z) zu beschränken: Bei Umlauten und Sonderzeichen besteht die Gefahr, dass Systemvariablen in Scripten nicht überall gefunden werden.
Zur Umstellung des Mini-Frameworks auf das HTML-Framework wurde ein spezielles Versandscript benötigt. Das ist beim CUxD-Mini-Framework genauso: Wenn Sie HTML-Mails versenden möchten, verwenden Sie dieses Script.
gesamtes Script markieren / kopieren
! HomeMatic-Script ! VERSANDSCRIPT FüR DAS CUXD-HTML-FRAMEWORK ! http://www.christian-luetgens.de/homematic/cuxd/htmlframework/HTML-Framework.htm ! SYSTEMVARIABLE object o_versand = dom.GetObject ("E-Mail.Versand"); object o_body = dom.GetObject ("E-Mail.Body"); if (o_versand.Value() > 0) { ! P- ODER PRE-VORLAGE integer i_template = o_versand.Value(); string s_newline = "\n"; if (o_body.Value().Find (s_newline) >= 0) { i_template = i_template + 10; } ! VERSAND dom.GetObject ("CUxD.CUX9100001:1.MAILTO").State (""); dom.GetObject ("CUxD.CUX9100001:1.MAILCC").State (""); dom.GetObject ("CUxD.CUX9100001:1.SUBJECT").State (""); dom.GetObject ("CUxD.CUX9100001:1.TEXT").State (""); dom.GetObject ("CUxD.CUX9100001:1.OPTION_1").State (""); dom.GetObject ("CUxD.CUX9100001:1.OPTION_2").State (""); dom.GetObject ("CUxD.CUX9100001:1.OPTION_3").State (""); dom.GetObject ("CUxD.CUX9100001:1.OPTION_4").State (""); dom.GetObject ("CUxD.CUX9100001:1.OPTION_5").State (""); dom.GetObject ("CUxD.CUX9100001:1.TYPE").State (1); dom.GetObject ("CUxD.CUX9100001:1.TEMPLATEID").State (i_template); dom.GetObject ("CUxD.CUX9100001:1.SEND").State (1); o_versand.State (0); } ! Ende des Scripts
Die Funktionsweise des Scripts ist in der Anleitung zum CUxD-Mini-Framework beschrieben. Neu ist der Block, in dem die Vorlage ausgewählt wird:
Die Erläuterung dieses Mechanismus’ finden Sie wiederum in der Beschreibung zum HTML-Framework – das Script auf dieser Seite ist tatsächlich nichts als die Kombination von HTML-Framework und CUxD-Mini-Framework.