From df805ecaf9a96f8ae55e30a8904566f9e6528cbb Mon Sep 17 00:00:00 2001 From: MichaelN0815 <68965895+MichaelN0815@users.noreply.github.com> Date: Fri, 11 Sep 2026 20:51:10 +0200 Subject: [PATCH 1/3] Add HomeMatic Script UDL --- UDLs/HomeMatic_Script_byMichaelN0815.xml | 65 ++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 UDLs/HomeMatic_Script_byMichaelN0815.xml diff --git a/UDLs/HomeMatic_Script_byMichaelN0815.xml b/UDLs/HomeMatic_Script_byMichaelN0815.xml new file mode 100644 index 0000000..8e707ee --- /dev/null +++ b/UDLs/HomeMatic_Script_byMichaelN0815.xml @@ -0,0 +1,65 @@ + + + + + + + + + 03 04 00! 00 01 02 + + + + + + + + - # % & ( ) * . / ; [ ] | + < = > + + { + + } + + + + + + + else elseif false foreach if null true while Write WriteLine WriteURL quit + boolean idarray integer real string time var object + Address Channel Channels ChnGroupPartnerId ChnDirection Direction ChnAESActive AESActive ChnArchive ChnRoom ChnFunction Count Date Device DPs DPByHssDP Exec EnumUsedIDs EnumUsedNames Get GetAt GetObject GetVar Find Format ID IsTypeOf IsVar Interface HssType LastValue Length Name Operations ProgramExecute Split State StrValueByIndex Substr Timestamp ToFloat ToInteger ToString ToTime Type TypeName Value ValueType Variable VarType Contains StartsWith EndsWith UriEncode UriDecode ToUTF8 ToLatin ToUpper ToLower Trim LTrim RTrim Replace Year Month Day Hour Minute Second Week Weekday Yearday IsLocalTime IsDST Abs Mod Min Max Exp Exp2 Exp10 Expm1 Log Log2 Log10 Log1p Sqrt Cbrt Pow Sin Cos Tan Asin Acos Atan Sinh Cosh Tanh Asinh Acosh Atanh Ceil Floor Trunc Round Random Srandom ProgramLastExecuteTime DPInfo ValueUnit ValueMin ValueMax ValueSubType EnumIDs ValueList SunAzimuth SunAltitude MaxIterations SunriseTime SunsetTime CreateObject + OT_OBJECT OT_ENUM OT_DEVICE OT_CHANNEL OT_DP OT_VARDP $this$ $src$ OPERATION_READ OPERATION_WRITE OPERATION_EVENT dom system M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2 ID_SYSTEM_VARIABLES ID_PROGRAMS + + + + + 00" 01\ 02" 03 04 05 06' 07\ 08' 09 10 11 12^ 13 14^ 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From bad10a2d315eaad204a1013552042d4103a95b16 Mon Sep 17 00:00:00 2001 From: MichaelN0815 <68965895+MichaelN0815@users.noreply.github.com> Date: Fri, 11 Sep 2026 20:52:36 +0200 Subject: [PATCH 2/3] Add HomeMatic Script sample --- .../HomeMatic_Script_byMichaelN0815.hsc | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 UDL-samples/HomeMatic_Script_byMichaelN0815.hsc diff --git a/UDL-samples/HomeMatic_Script_byMichaelN0815.hsc b/UDL-samples/HomeMatic_Script_byMichaelN0815.hsc new file mode 100644 index 0000000..e188625 --- /dev/null +++ b/UDL-samples/HomeMatic_Script_byMichaelN0815.hsc @@ -0,0 +1,26 @@ +! HomeMatic Script sample for Notepad++ UDL testing + +object sysVars = dom.GetObject(ID_SYSTEM_VARIABLES); +string id; + +foreach (id, sysVars.EnumIDs()) { + object sysVar = dom.GetObject(id); + WriteLine(sysVar.Name() # " = " # sysVar.Value()); +} + +object programs = dom.GetObject(ID_PROGRAMS); +WriteLine("Programs: " # programs.Count()); + +real azimuth = system.SunAzimuth(); +real altitude = system.SunAltitude(); + +if (altitude > 0.0) { + WriteLine("Sun above horizon"); +} elseif (altitude == 0.0) { + WriteLine("Sun at horizon"); +} else { + WriteLine("Sun below horizon"); +} + +WriteLine("Sunrise: " # system.SunriseTime()); +WriteLine("Sunset: " # system.SunsetTime()); From cffbe45a455d7dd4c81bd91631c7aca2723075a3 Mon Sep 17 00:00:00 2001 From: MichaelN0815 <68965895+MichaelN0815@users.noreply.github.com> Date: Fri, 11 Sep 2026 20:55:19 +0200 Subject: [PATCH 3/3] Register HomeMatic Script UDL --- udl-list.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/udl-list.json b/udl-list.json index 39cc736..69b50fe 100644 --- a/udl-list.json +++ b/udl-list.json @@ -1596,6 +1596,15 @@ "autoCompletion": "HLSL", "autoCompletionAuthor": "generate_ac.py" }, + { + "id-name": "HomeMatic_Script_byMichaelN0815", + "display-name": "HomeMatic Script", + "version": "v1.00", + "sample": "HomeMatic_Script_byMichaelN0815.hsc", + "repository": "", + "description": "HomeMatic Script (ReGa) syntax highlighting for HomeMatic CCU automation scripts", + "author": "MichaelN0815" + }, { "id-name": "HQL_byAkeelUdar", "display-name": "HQL for Notepad++",