Add KNX Secure configuration for DALI-GW

- Introduced DALI-GW.security.xml to define security settings including enabling security and maximum entries for individual addresses and group keys.
- Updated DALI-GW.xml to reference the new security configuration file.
- Enhanced README.md to document the purpose of DALI-GW.security.xml and clarify the organization of XML fragments in the project.

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-06-01 18:18:38 +08:00
parent 4fa1b3cb06
commit 1342ab6aaf
11 changed files with 3066 additions and 7731 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,302 @@
<?xml version='1.0' encoding='utf-8'?>
<KNX xmlns="http://knx.org/xml/project/23">
<ManufacturerData>
<Manufacturer RefId="M-00FA">
<ApplicationPrograms>
<ApplicationProgram Id="%AID%">
<ModuleDefs>
<ModuleDef Name="group" Id="%AID%_MD-2000001">
<Arguments>
<Argument Id="%AID%_MD-2000001_A-1" Name="argParas" Allocates="16" />
<Argument Id="%AID%_MD-2000001_A-2" Name="argComs" Allocates="17" />
<Argument Id="%AID%_MD-2000001_A-3" Name="argChan" Allocates="1" />
</Arguments>
<Static>
<Parameters>
<Parameter Id="%AID%_MD-2000001_P-2000002" Name="m2_deviceType" ParameterType="%AID%_PT-groupType" Text="Device type" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000001" Name="m2_name" ParameterType="%AID%_PT-name30" Text="Name" Value="" />
<Parameter Id="%AID%_MD-2000001_P-2000003" Name="m2_lock" ParameterType="%AID%_PT-noyes" Text="Show lock object" Value="0" />
<Parameter Id="%AID%_MD-2000001_P-2000004" Name="m2_type" ParameterType="%AID%_PT-runType" Text="Operating mode" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="2" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000005" Name="m2_nachtriggern" ParameterType="%AID%_PT-noyes" Text="Allow retriggering" Value="1">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="3" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000006" Name="m2_stairtime" ParameterType="%AID%_PT-time" Text="Run-on time" Value="60">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="1" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000007" Name="m2_manuoff" ParameterType="%AID%_PT-noyes" Text="Manual switch-off" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="4" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000008" Name="m2_lockbehave" ParameterType="%AID%_PT-lock" Text="Behavior while locked" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="5" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000009" Name="m2_lockvalue" ParameterType="%AID%_PT-percent" Text="" Value="100">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="3" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000010" Name="m2_unlockbehave" ParameterType="%AID%_PT-lock" Text="Behavior when unlocked" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="4" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000011" Name="m2_unlockvalue" ParameterType="%AID%_PT-percent" Text="" Value="100">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="5" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000012" Name="m2_onDay" ParameterType="%AID%_PT-percent" Text="Day switch-on value" SuffixText="%" Value="100">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="6" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000013" Name="m2_onNight" ParameterType="%AID%_PT-percent" Text="Night switch-on value" SuffixText="%" Value="10">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="7" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000018" Name="m2_locknegate" ParameterType="%AID%_PT-lockNegate" Text="Lock when" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="7" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000019" Name="m2_colorType" ParameterType="%AID%_PT-colorType" Text="Control color via" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="4" BitOffset="2" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000020" Name="m2_colorSpace" ParameterType="%AID%_PT-colorSpace" Text="Transfer color via" Value="1">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="3" BitOffset="7" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000021" Name="m2_tempMin" ParameterType="%AID%_PT-number16b" Text="Min color temperature" SuffixText="K" Value="1500">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="8" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000022" Name="m2_tempMax" ParameterType="%AID%_PT-number16b" Text="Max color temperature" SuffixText="K" Value="10000">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="10" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000023" Name="m2_hcl" ParameterType="%AID%_PT-noyes" Text="Enable HCL" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="4" BitOffset="4" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000024" Name="m2_xyIgnore" ParameterType="%AID%_PT-noyes" Text="Ignore brightness? (use xy only)" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="4" BitOffset="5" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000025" Name="m2_dimmStateInterval" ParameterType="%AID%_PT-interval" Text="Dimming status interval for relative" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="12" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000026" Name="m2_queryTime" ParameterType="%AID%_PT-timeSpan" Text="Query dimming value (0 = disabled)" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="13" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000027" Name="m2_dimmRelDuration" ParameterType="%AID%_PT-durationms" Text="Dimming time from 0-100% for relative" Value="50">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="15" BitOffset="0" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000028" Name="m2_hclCurve" ParameterType="%AID%_PT-hclCurves" Text="Use" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="4" BitOffset="6" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-2000001_P-2000029" Name="m2_dimmLock" ParameterType="%AID%_PT-dimmLock" Text="Switch on with relative" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="12" BitOffset="4" BaseOffset="%AID%_MD-2000001_A-1" />
</Parameter>
</Parameters>
<ParameterRefs>
<ParameterRef RefId="%AID%_MD-2000001_P-2000001" Id="%AID%_MD-2000001_P-2000001_R-200000101" Name="name" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000002" Id="%AID%_MD-2000001_P-2000002_R-200000202" Name="deviceType" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000003" Id="%AID%_MD-2000001_P-2000003_R-200000303" Name="lock" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000004" Id="%AID%_MD-2000001_P-2000004_R-200000404" Name="type" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000005" Id="%AID%_MD-2000001_P-2000005_R-200000505" Name="nachtriggern" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000006" Id="%AID%_MD-2000001_P-2000006_R-200000606" Name="stairtime" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000007" Id="%AID%_MD-2000001_P-2000007_R-200000707" Name="manuoff" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000008" Id="%AID%_MD-2000001_P-2000008_R-200000808" Name="lockbehave" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000009" Id="%AID%_MD-2000001_P-2000009_R-200000909" Name="lockvalue" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000010" Id="%AID%_MD-2000001_P-2000010_R-200001010" Name="unlockbehave" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000011" Id="%AID%_MD-2000001_P-2000011_R-200001111" Name="unlockvalue" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000012" Id="%AID%_MD-2000001_P-2000012_R-200001212" Name="onDay" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000013" Id="%AID%_MD-2000001_P-2000013_R-200001313" Name="onNight" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000018" Id="%AID%_MD-2000001_P-2000018_R-200001818" Name="locknegate" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000019" Id="%AID%_MD-2000001_P-2000019_R-200001919" Name="colorType" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000020" Id="%AID%_MD-2000001_P-2000020_R-200002020" Name="colorSpace" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000023" Id="%AID%_MD-2000001_P-2000023_R-200002321" Name="hcl" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000021" Id="%AID%_MD-2000001_P-2000021_R-200002122" Name="tempMin" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000022" Id="%AID%_MD-2000001_P-2000022_R-200002223" Name="tempMax" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000024" Id="%AID%_MD-2000001_P-2000024_R-200002424" Name="xyIgnore" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000025" Id="%AID%_MD-2000001_P-2000025_R-200002525" Name="dimmStateInterval" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000026" Id="%AID%_MD-2000001_P-2000026_R-200002626" Name="queryTime" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000027" Id="%AID%_MD-2000001_P-2000027_R-200002727" Name="dimmRelDuration" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000028" Id="%AID%_MD-2000001_P-2000028_R-200002828" Name="hclCurve" />
<ParameterRef RefId="%AID%_MD-2000001_P-2000029" Id="%AID%_MD-2000001_P-2000029_R-200002929" Name="dimmLock" />
</ParameterRefs>
<ComObjects>
<ComObject Id="%AID%_MD-2000001_O-2000000" Name="m2_switch" Text="G{{argChan}} {{0}}" Number="24" FunctionText="Switch" ObjectSize="1 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-1-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000001" Name="m2_switch_state" Text="G{{argChan}} {{0}}" Number="25" FunctionText="Switching status" ObjectSize="1 Bit" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-1-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000002" Name="m2_dimm_relative" Text="G{{argChan}} {{0}}" Number="26" FunctionText="Relative dimming" ObjectSize="4 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-3-7" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000003" Name="m2_dimm_absolute" Text="G{{argChan}} {{0}}" Number="27" FunctionText="Absolute dimming" ObjectSize="1 Byte" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000004" Name="m2_dimm_state" Text="G{{argChan}} {{0}}" Number="28" FunctionText="Dimming status" ObjectSize="1 Byte" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000005" Name="m2_lock" Text="G{{argChan}} {{0}}" Number="29" FunctionText="Lock" ObjectSize="1 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-1-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000006" Name="m2_color" Text="G{{argChan}} {{0}}" Number="30" FunctionText="RGB color" ObjectSize="6 Bytes" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-242-600" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000007" Name="m2_color_state" Text="G{{argChan}} {{0}}" Number="31" FunctionText="RGB color status" ObjectSize="6 Bytes" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-242-600" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000008" Name="m2_color_red_rel" Text="G{{argChan}} {{0}}" Number="32" FunctionText="Red relative" ObjectSize="4 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-3-7" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000009" Name="m2_color_red_abs" Text="G{{argChan}} {{0}}" Number="33" FunctionText="Red absolute" ObjectSize="1 Byte" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000010" Name="m2_color_red_state" Text="G{{argChan}} {{0}}" Number="34" FunctionText="Red status" ObjectSize="1 Byte" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000011" Name="m2_color_green_rel" Text="G{{argChan}} {{0}}" Number="35" FunctionText="Green relative" ObjectSize="4 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-3-7" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000012" Name="m2_color_green_abs" Text="G{{argChan}} {{0}}" Number="36" FunctionText="Green absolute" ObjectSize="1 Byte" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000013" Name="m2_color_green_state" Text="G{{argChan}} {{0}}" Number="37" FunctionText="Green status" ObjectSize="1 Byte" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000014" Name="m2_color_blue_rel" Text="G{{argChan}} {{0}}" Number="38" FunctionText="Blue relative" ObjectSize="4 Bit" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-3-7" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000015" Name="m2_color_blue_abs" Text="G{{argChan}} {{0}}" Number="39" FunctionText="Blue absolute" ObjectSize="1 Byte" ReadFlag="Disabled" WriteFlag="Enabled" CommunicationFlag="Enabled" TransmitFlag="Disabled" UpdateFlag="Enabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
<ComObject Id="%AID%_MD-2000001_O-2000016" Name="m2_color_blue_state" Text="G{{argChan}} {{0}}" Number="40" FunctionText="Blue status" ObjectSize="1 Byte" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-5-1" BaseNumber="%AID%_MD-2000001_A-2" />
</ComObjects>
<ComObjectRefs>
<ComObjectRef RefId="%AID%_MD-2000001_O-2000000" Id="%AID%_MD-2000001_O-2000000_R-200000000" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000001" Id="%AID%_MD-2000001_O-2000001_R-200000101" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000002" Id="%AID%_MD-2000001_O-2000002_R-200000202" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000003" Id="%AID%_MD-2000001_O-2000003_R-200000303" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000004" Id="%AID%_MD-2000001_O-2000004_R-200000404" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000005" Id="%AID%_MD-2000001_O-2000005_R-200000505" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000006" Id="%AID%_MD-2000001_O-2000006_R-200000606" DatapointType="DPST-232-600" ObjectSize="3 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000007" Id="%AID%_MD-2000001_O-2000007_R-200000707" DatapointType="DPST-232-600" ObjectSize="3 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000008" Id="%AID%_MD-2000001_O-2000008_R-200000808" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000009" Id="%AID%_MD-2000001_O-2000009_R-200000909" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000010" Id="%AID%_MD-2000001_O-2000010_R-200001010" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000011" Id="%AID%_MD-2000001_O-2000011_R-200001111" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000012" Id="%AID%_MD-2000001_O-2000012_R-200001212" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000013" Id="%AID%_MD-2000001_O-2000013_R-200001313" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000014" Id="%AID%_MD-2000001_O-2000014_R-200001414" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000015" Id="%AID%_MD-2000001_O-2000015_R-200001515" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000016" Id="%AID%_MD-2000001_O-2000016_R-200001616" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000006" Id="%AID%_MD-2000001_O-2000006_R-200000617" FunctionText="HSV color" DatapointType="DPST-232-600" ObjectSize="3 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000007" Id="%AID%_MD-2000001_O-2000007_R-200000718" FunctionText="HSV color status" DatapointType="DPST-232-600" ObjectSize="3 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000008" Id="%AID%_MD-2000001_O-2000008_R-200000819" FunctionText="Color relative" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000009" Id="%AID%_MD-2000001_O-2000009_R-200000920" FunctionText="Color absolute" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000010" Id="%AID%_MD-2000001_O-2000010_R-200001021" FunctionText="Color status" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000011" Id="%AID%_MD-2000001_O-2000011_R-200001122" FunctionText="Saturation relative" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000012" Id="%AID%_MD-2000001_O-2000012_R-200001223" FunctionText="Saturation absolute" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000013" Id="%AID%_MD-2000001_O-2000013_R-200001324" FunctionText="Saturation status" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000006" Id="%AID%_MD-2000001_O-2000006_R-200000625" FunctionText="Color temperature" DatapointType="DPST-7-600" ObjectSize="2 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000007" Id="%AID%_MD-2000001_O-2000007_R-200000726" FunctionText="Color temperature status" DatapointType="DPST-7-600" ObjectSize="2 Bytes" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000006" Id="%AID%_MD-2000001_O-2000006_R-200000627" FunctionText="Color xyY / xy" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ComObjectRef RefId="%AID%_MD-2000001_O-2000007" Id="%AID%_MD-2000001_O-2000007_R-200000728" FunctionText="Color xyY / xy status" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" />
</ComObjectRefs>
</Static>
<Dynamic>
<ParameterBlock Id="%AID%_MD-2000001_PB-7" Text="G{{argChan}}: {{0:---}}" TextParameterRefId="%AID%_MD-2000001_P-2000001_R-200000101" ShowInComObjectTree="true">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000001_R-200000101" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000002_R-200000202" />
<ParameterSeparator Id="%AID%_MD-2000001_PS-67" Text="" />
<choose ParamRefId="%AID%_MD-2000001_P-2000002_R-200000202">
<when test="!=0">
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000000_R-200000000" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000001_R-200000101" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000026_R-200002626" />
<choose ParamRefId="%AID%_MD-2000001_P-2000002_R-200000202">
<when test="&gt;1">
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000002_R-200000202" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000003_R-200000303" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000004_R-200000404" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000027_R-200002727" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000025_R-200002525" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000012_R-200001212" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000013_R-200001313" />
<ParameterSeparator Id="%AID%_MD-2000001_PS-68" Text="0 = Switch on with last value" UIHint="Information" />
</when>
</choose>
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000004_R-200000404" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000003_R-200000303" />
<choose ParamRefId="%AID%_MD-2000001_P-2000004_R-200000404">
<when test="1">
<ParameterSeparator Id="%AID%_MD-2000001_PS-69" Text="Staircase light" UIHint="Headline" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000006_R-200000606" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000007_R-200000707" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000005_R-200000505" />
</when>
</choose>
<choose ParamRefId="%AID%_MD-2000001_P-2000003_R-200000303">
<when test="1">
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000005_R-200000505" />
<ParameterSeparator Id="%AID%_MD-2000001_PS-70" Text="Lock" UIHint="Headline" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000018_R-200001818" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000008_R-200000808" />
<choose ParamRefId="%AID%_MD-2000001_P-2000008_R-200000808">
<when test="3">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000009_R-200000909" />
</when>
</choose>
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000010_R-200001010" />
<choose ParamRefId="%AID%_MD-2000001_P-2000010_R-200001010">
<when test="3">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000011_R-200001111" />
</when>
</choose>
</when>
</choose>
<choose ParamRefId="%AID%_MD-2000001_P-2000002_R-200000202">
<when test="=3">
<ParameterSeparator Id="%AID%_MD-2000001_PS-71" Text="Color" UIHint="Headline" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000019_R-200001919" />
<choose ParamRefId="%AID%_MD-2000001_P-2000019_R-200001919">
<when test="=0">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000020_R-200002020" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000006_R-200000617" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000007_R-200000718" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000008_R-200000819" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000009_R-200000920" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000010_R-200001021" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000011_R-200001122" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000012_R-200001223" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000013_R-200001324" />
</when>
<when test="=1">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000020_R-200002020" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000006_R-200000606" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000007_R-200000707" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000008_R-200000808" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000009_R-200000909" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000010_R-200001010" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000011_R-200001111" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000012_R-200001212" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000013_R-200001313" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000014_R-200001414" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000015_R-200001515" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000016_R-200001616" />
</when>
<when test="=2">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000021_R-200002122" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000022_R-200002223" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000023_R-200002321" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000006_R-200000625" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000007_R-200000726" />
</when>
<when test="=3">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000024_R-200002424" />
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000020_R-200002020" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000006_R-200000627" />
<ComObjectRefRef RefId="%AID%_MD-2000001_O-2000007_R-200000728" />
</when>
</choose>
<choose ParamRefId="%AID%_MD-2000001_P-2000020_R-200002020">
<when test="!=0">
<choose ParamRefId="%AID%_MD-2000001_P-2000024_R-200002424">
<when test="1">
<ParameterSeparator Id="%AID%_MD-2000001_PS-72" Text="This configuration is not permitted. If brightness should be ignored for xyY, control MUST be via XY." UIHint="Error" />
</when>
</choose>
</when>
</choose>
</when>
</choose>
<choose ParamRefId="%AID%_MD-2000001_P-2000023_R-200002321">
<when test="=1">
<ParameterBlock Id="%AID%_MD-2000001_PB-8" Text="HCL settings">
<ParameterRefRef RefId="%AID%_MD-2000001_P-2000028_R-200002828" />
<ParameterSeparator Id="%AID%_MD-2000001_PS-73" Text="Abort conditions" UIHint="Headline" />
<ParameterSeparator Id="%AID%_MD-2000001_PS-74" Text="Settings for returning from manual mode to automatic mode." />
</ParameterBlock>
</when>
</choose>
</when>
</choose>
</ParameterBlock>
</Dynamic>
</ModuleDef>
</ModuleDefs>
<Dynamic>
<Channel Text="Groups" Number="3" Id="%AID%_CH-3" Name="Gruppen">
<Repeat Id="%AID%_X-4" Name="" Count="16">
<Module Id="%AID%_MD-2000001_M-2000004" RefId="%AID%_MD-2000001">
<NumericArg RefId="%AID%_MD-2000001_A-1" AllocatorRefId="%AID%_L-4" />
<NumericArg RefId="%AID%_MD-2000001_A-2" AllocatorRefId="%AID%_L-5" />
<NumericArg RefId="%AID%_MD-2000001_A-3" AllocatorRefId="%AID%_L-6" />
</Module>
</Repeat>
</Channel>
</Dynamic>
</ApplicationProgram>
</ApplicationPrograms>
</Manufacturer>
</ManufacturerData>
</KNX>
@@ -0,0 +1,105 @@
<?xml version='1.0' encoding='utf-8'?>
<KNX xmlns="http://knx.org/xml/project/23">
<ManufacturerData>
<Manufacturer RefId="M-00FA">
<ApplicationPrograms>
<ApplicationProgram Id="%AID%">
<ModuleDefs>
<ModuleDef Name="hcl" Id="%AID%_MD-4000001">
<Arguments>
<Argument Id="%AID%_MD-4000001_A-1" Name="argParas" Allocates="7" />
<Argument Id="%AID%_MD-4000001_A-2" Name="argComs" Allocates="1" />
<Argument Id="%AID%_MD-4000001_A-3" Name="argChan" Allocates="1" />
</Arguments>
<Static>
<Parameters>
<Parameter Id="%AID%_MD-4000001_P-4000001" Name="m4_type" ParameterType="%AID%_PT-hclType" Text="Control via" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="0" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000002" Name="m4_name" ParameterType="%AID%_PT-name14" Text="Name" Value="" />
<Parameter Id="%AID%_MD-4000001_P-4000003" Name="m4_min" ParameterType="%AID%_PT-temperature" Text="Min color temperature" Value="2700">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="1" BitOffset="0" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000004" Name="m4_max" ParameterType="%AID%_PT-temperature" Text="Max color temperature" Value="5000">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="3" BitOffset="0" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000005" Name="m4_picHclSonne" ParameterType="%AID%_PT-picHclSonne" Text="" Value="" />
<Parameter Id="%AID%_MD-4000001_P-4000006" Name="m4_offsetRiseType" ParameterType="%AID%_PT-offset" Text="Shift sunrise" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="2" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000007" Name="m4_offsetRiseMin" ParameterType="%AID%_PT-durationMin" Text="" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="5" BitOffset="0" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000008" Name="m4_offsetSetType" ParameterType="%AID%_PT-offset" Text="Shift sunset" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="4" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-4000001_P-4000009" Name="m4_offsetSetMin" ParameterType="%AID%_PT-durationMin" Text="" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="6" BitOffset="0" BaseOffset="%AID%_MD-4000001_A-1" />
</Parameter>
</Parameters>
<ParameterRefs>
<ParameterRef RefId="%AID%_MD-4000001_P-4000001" Id="%AID%_MD-4000001_P-4000001_R-400000101" Name="type" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000002" Id="%AID%_MD-4000001_P-4000002_R-400000202" Name="name" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000003" Id="%AID%_MD-4000001_P-4000003_R-400000303" Name="min" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000004" Id="%AID%_MD-4000001_P-4000004_R-400000404" Name="max" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000005" Id="%AID%_MD-4000001_P-4000005_R-400000505" Name="picHclSonne" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000006" Id="%AID%_MD-4000001_P-4000006_R-400000606" Name="offsetRiseType" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000007" Id="%AID%_MD-4000001_P-4000007_R-400000707" Name="offsetRiseMin" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000008" Id="%AID%_MD-4000001_P-4000008_R-400000808" Name="offsetSetType" />
<ParameterRef RefId="%AID%_MD-4000001_P-4000009" Id="%AID%_MD-4000001_P-4000009_R-400000909" Name="offsetSetMin" />
</ParameterRefs>
<ComObjects>
<ComObject Id="%AID%_MD-4000001_O-4000000" Name="m4_hcl_state" Text="HCL curve {{argChan}}" Number="41" FunctionText="Color temperature" ObjectSize="2 Bytes" ReadFlag="Enabled" WriteFlag="Disabled" CommunicationFlag="Enabled" TransmitFlag="Enabled" UpdateFlag="Disabled" ReadOnInitFlag="Disabled" DatapointType="DPST-7-600" BaseNumber="%AID%_MD-4000001_A-2" />
</ComObjects>
<ComObjectRefs>
<ComObjectRef RefId="%AID%_MD-4000001_O-4000000" Id="%AID%_MD-4000001_O-4000000_R-400000000" />
</ComObjectRefs>
</Static>
<Dynamic>
<ParameterBlock Id="%AID%_MD-4000001_PB-10" Text="Curve {{argChan}}: {{0:---}}" TextParameterRefId="%AID%_MD-4000001_P-4000002_R-400000202">
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000002_R-400000202" />
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000001_R-400000101" />
<choose ParamRefId="%AID%_MD-4000001_P-4000001_R-400000101">
<when test="1">
<ComObjectRefRef RefId="%AID%_MD-4000001_O-4000000_R-400000000" />
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000003_R-400000303" />
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000004_R-400000404" />
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000006_R-400000606" />
<choose ParamRefId="%AID%_MD-4000001_P-4000006_R-400000606">
<when test="!=0">
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000007_R-400000707" />
</when>
</choose>
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000008_R-400000808" />
<choose ParamRefId="%AID%_MD-4000001_P-4000008_R-400000808">
<when test="!=0">
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000009_R-400000909" />
</when>
</choose>
<ParameterRefRef RefId="%AID%_MD-4000001_P-4000005_R-400000505" />
<ParameterSeparator Id="%AID%_MD-4000001_PS-75" Text="The current color temperature is calculated after sunrise/sunset. " UIHint="Information" />
</when>
<when test="2">
<ParameterSeparator Id="%AID%_MD-4000001_PS-76" Text="Coming later" />
</when>
</choose>
</ParameterBlock>
</Dynamic>
</ModuleDef>
</ModuleDefs>
<Dynamic>
<Channel Text="HCL curves" Number="4" Id="%AID%_CH-4" Name="">
<Repeat Id="%AID%_X-5" Name="" Count="3">
<Module Id="%AID%_MD-4000001_M-4000005" RefId="%AID%_MD-4000001">
<NumericArg RefId="%AID%_MD-4000001_A-1" AllocatorRefId="%AID%_L-10" />
<NumericArg RefId="%AID%_MD-4000001_A-2" AllocatorRefId="%AID%_L-11" />
<NumericArg RefId="%AID%_MD-4000001_A-3" AllocatorRefId="%AID%_L-12" />
</Module>
</Repeat>
</Channel>
</Dynamic>
</ApplicationProgram>
</ApplicationPrograms>
</Manufacturer>
</ManufacturerData>
</KNX>
@@ -0,0 +1,85 @@
<?xml version='1.0' encoding='utf-8'?>
<KNX xmlns="http://knx.org/xml/project/23">
<ManufacturerData>
<Manufacturer RefId="M-00FA">
<ApplicationPrograms>
<ApplicationProgram Id="%AID%">
<ModuleDefs>
<ModuleDef Name="scene" Id="%AID%_MD-3000001">
<Arguments>
<Argument Id="%AID%_MD-3000001_A-1" Name="argParas" Allocates="4" />
<Argument Id="%AID%_MD-3000001_A-2" Name="argComs" Allocates="0" />
<Argument Id="%AID%_MD-3000001_A-3" Name="argChan" Allocates="1" />
</Arguments>
<Static>
<Parameters>
<Parameter Id="%AID%_MD-3000001_P-3000001" Name="m3_name" ParameterType="%AID%_PT-name30" Text="Name" Value="" />
<Parameter Id="%AID%_MD-3000001_P-3000002" Name="m3_type" ParameterType="%AID%_PT-scenetype" Text="Send to" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="0" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-3000001_P-3000003" Name="m3_save" ParameterType="%AID%_PT-noyes" Text="Allow saving" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="2" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-3000001_P-3000004" Name="m3_numberKnx" ParameterType="%AID%_PT-number64" Text="KNX scene number" Value="1">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="1" BitOffset="0" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-3000001_P-3000005" Name="m3_numberDali" ParameterType="%AID%_PT-number15" Text="DALI scene number" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="0" BitOffset="3" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-3000001_P-3000006" Name="m3_address" ParameterType="%AID%_PT-number63" Text="DALI address" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="2" BitOffset="0" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
<Parameter Id="%AID%_MD-3000001_P-3000007" Name="m3_group" ParameterType="%AID%_PT-number15" Text="DALI group" Value="0">
<Memory CodeSegment="%AID%_RS-04-00000" Offset="3" BitOffset="0" BaseOffset="%AID%_MD-3000001_A-1" />
</Parameter>
</Parameters>
<ParameterRefs>
<ParameterRef RefId="%AID%_MD-3000001_P-3000001" Id="%AID%_MD-3000001_P-3000001_R-300000101" Name="name" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000002" Id="%AID%_MD-3000001_P-3000002_R-300000202" Name="type" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000003" Id="%AID%_MD-3000001_P-3000003_R-300000303" Name="save" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000004" Id="%AID%_MD-3000001_P-3000004_R-300000404" Name="numberKnx" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000005" Id="%AID%_MD-3000001_P-3000005_R-300000505" Name="numberDali" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000006" Id="%AID%_MD-3000001_P-3000006_R-300000606" Name="address" />
<ParameterRef RefId="%AID%_MD-3000001_P-3000007" Id="%AID%_MD-3000001_P-3000007_R-300000707" Name="group" />
</ParameterRefs>
<ComObjects />
</Static>
<Dynamic>
<ParameterBlock Id="%AID%_MD-3000001_PB-9" Text="Assignment {{argChan}} {{0}}" TextParameterRefId="%AID%_MD-3000001_P-3000001_R-300000101" ShowInComObjectTree="true">
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000001_R-300000101" />
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000002_R-300000202" />
<choose ParamRefId="%AID%_MD-3000001_P-3000002_R-300000202">
<when test="!=0">
<choose ParamRefId="%AID%_MD-3000001_P-3000002_R-300000202">
<when test="1">
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000006_R-300000606" />
</when>
<when test="2">
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000007_R-300000707" />
</when>
</choose>
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000003_R-300000303" />
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000004_R-300000404" />
<ParameterRefRef RefId="%AID%_MD-3000001_P-3000005_R-300000505" />
</when>
</choose>
</ParameterBlock>
</Dynamic>
</ModuleDef>
</ModuleDefs>
<Dynamic>
<Channel Text="Scenes" Number="1" Id="%AID%_CH-1" Name="Szenen">
<Repeat Id="%AID%_X-2" Name="" Count="64">
<Module Id="%AID%_MD-3000001_M-3000002" RefId="%AID%_MD-3000001">
<NumericArg RefId="%AID%_MD-3000001_A-1" AllocatorRefId="%AID%_L-7" />
<NumericArg RefId="%AID%_MD-3000001_A-2" AllocatorRefId="%AID%_L-8" />
<NumericArg RefId="%AID%_MD-3000001_A-3" AllocatorRefId="%AID%_L-9" />
</Module>
</Repeat>
</Channel>
</Dynamic>
</ApplicationProgram>
</ApplicationPrograms>
</Manufacturer>
</ManufacturerData>
</KNX>
@@ -9,7 +9,7 @@
</Catalog>
<ApplicationPrograms>
<op:version OpenKnxId="%OpenKnxId%" ApplicationNumber="%ApplicationNumber%" ApplicationVersion="%ApplicationVersion%" ReplacesVersions="%ReplacesVersions%" ApplicationRevision="%ApplicationRevision%" FirmwareRevision="%FirmwareRevision%" />
<op:include href="DALI-GW.reference.xml" xpath="//ApplicationProgram" />
<op:include href="DALI-GW.model.xml" xpath="//ApplicationProgram" />
</ApplicationPrograms>
<Baggages>
<op:include href="DALI-GW.baggages.xml" xpath="//Baggages/*" prefix="BAG" />
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,28 @@
<?xml version='1.0' encoding='utf-8'?>
<KNX xmlns="http://knx.org/xml/project/23" xmlns:op="http://github.com/OpenKNX/OpenKNXproducer">
<ManufacturerData>
<Manufacturer RefId="M-00FA">
<ApplicationPrograms>
<ApplicationProgram Id="%AID%" ApplicationNumber="0" ApplicationVersion="0" ProgramType="ApplicationProgram" MaskVersion="MV-07B0" Name="OpenKNX DALI gateway" DefaultLanguage="en-US" LoadProcedureStyle="MergedProcedure" PeiType="0" DynamicTableManagement="false" Linkable="false" IsSecureEnabled="%DALI_IsSecureEnabled%" MaxSecurityIndividualAddressEntries="%DALI_MaxSecurityIndividualAddressEntries%" MaxSecurityGroupKeyTableEntries="%DALI_MaxSecurityGroupKeyTableEntries%" ReplacesVersions="0 1 2 3" MinEtsVersion="6.0">
<Static>
<op:include href="DALI-GW.common.xml" xpath="//ApplicationProgram/Static/*" />
</Static>
<ModuleDefs>
<op:include href="DALI-GW-address.xml" xpath="//ApplicationProgram/ModuleDefs/ModuleDef" />
<op:include href="DALI-GW-group.xml" xpath="//ApplicationProgram/ModuleDefs/ModuleDef" />
<op:include href="DALI-GW-scene.xml" xpath="//ApplicationProgram/ModuleDefs/ModuleDef" />
<op:include href="DALI-GW-hcl.xml" xpath="//ApplicationProgram/ModuleDefs/ModuleDef" />
<op:include href="DALI-GW.common.xml" xpath="//ApplicationProgram/ModuleDefs/ModuleDef" />
</ModuleDefs>
<Dynamic>
<op:include href="DALI-GW.common.xml" xpath="//ApplicationProgram/Dynamic/*" />
<op:include href="DALI-GW-scene.xml" xpath="//ApplicationProgram/Dynamic/*" />
<op:include href="DALI-GW-address.xml" xpath="//ApplicationProgram/Dynamic/*" />
<op:include href="DALI-GW-group.xml" xpath="//ApplicationProgram/Dynamic/*" />
<op:include href="DALI-GW-hcl.xml" xpath="//ApplicationProgram/Dynamic/*" />
</Dynamic>
</ApplicationProgram>
</ApplicationPrograms>
</Manufacturer>
</ManufacturerData>
</KNX>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<KNX xmlns="http://knx.org/xml/project/23" xmlns:op="http://github.com/OpenKNX/OpenKNXproducer">
<op:config name="%DALI_IsSecureEnabled%" value="true" />
<op:config name="%DALI_MaxSecurityIndividualAddressEntries%" value="65535" />
<op:config name="%DALI_MaxSecurityGroupKeyTableEntries%" value="65535" />
</KNX>
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<KNX xmlns="http://knx.org/xml/project/20" xmlns:op="http://github.com/OpenKNX/OpenKNXproducer">
<op:config href="DALI-GW.security.xml" />
<op:ETS OpenKnxId="0xA4"
ApplicationNumber="1"
ApplicationVersion="0.8"
+4 -2
View File
@@ -2,7 +2,9 @@
This folder contains the gateway-owned KNX product source for the REG1-Dali KNX-DALI gateway persona.
`DALI-GW.reference.xml` is a mechanically adapted OpenKNXproducer source-form copy of the working secure OpenKNX DALI gateway application XML from `temp/OpenKNX-DALI-gateway`. The source keeps the gateway manufacturer/product identity while preserving the original parameter pages, module repeats, communication objects, group-object references, and secure application metadata.
The source is organized as independent OpenKNXproducer XML fragments. `DALI-GW.base.xml` owns catalog, baggage, and hardware metadata; `DALI-GW.model.xml` owns the application shell and include order; `DALI-GW.common.xml` owns shared static types, scripts, messages, general UI, and the common module; `DALI-GW-address.xml`, `DALI-GW-group.xml`, `DALI-GW-scene.xml`, and `DALI-GW-hcl.xml` own their functional modules and dynamic channels; `DALI-GW.security.xml` owns the KNX Secure configuration values.
The source is self-contained in this folder and does not include XML from external OpenKNX module repositories.
Current migration targets:
@@ -32,7 +34,7 @@ RGBW is exposed with standard DPT `251.600` (`DPT_Colour_RGBW`). RGBCW uses the
Run a well-formed XML check from the repository root:
```sh
xmllint --noout gateway/components/knx_dali_gw/knxprod/*.xml
xmllint --noout gateway/components/knx_dali_gw/knxprod/DALI-GW*.xml
```
Generate the product database artifact with the local non-ETS producer build: