<?xml version="1.0"?>
<StackConfig>
  <Logging>
    <!-- Set options for SyslogAppender -->
    <Property key="log4cplus.appender.SL" value="log4cplus::SysLogAppender"/>
    <Property key="log4cplus.appender.SL.layout" value="log4cplus::PatternLayout"/>
    <Property key="log4cplus.appender.SL.layout.ConversionPattern" value="%D{%H:%M:%S.%q%z} %c %m%n"/>
    <!-- Set options for a RollingFileAppender -->
    <Property key="log4cplus.appender.LF" value="log4cplus::RollingFileAppender"/>
    <Property key="log4cplus.appender.LF.MaxFileSize" value="256KB"/>
    <Property key="log4cplus.appender.LF.MaxBackupIndex" value="1"/>
    <Property key="log4cplus.appender.LF.layout" value="log4cplus::PatternLayout"/>
    <Property key="log4cplus.appender.LF.layout.ConversionPattern" value="%D{%Y-%m-%d %H:%M:%S.%q%z} | %7T | %-5p | %c - %m (%b:%L)%n"/>
    <Property key="log4cplus.appender.LF.layout.ContextPrinting" value="enabled"/>
    <Property key="log4cplus.appender.LF.layout.DateFormat" value="%Y-%m-%d %H:%M:%S.%q"/>
    <Property key="log4cplus.appender.LF.File" value="/var/log/knxstack.log"/>
    <Property key="log4cplus.appender.LF.Append" value="true"/>
    <Property key="log4cplus.appender.LF.ImmediateFlush" value="true"/>
    <Property key="log4cplus.appender.LFP" value="log4cplus::RollingFileAppender"/>
    <Property key="log4cplus.appender.LFP.MaxFileSize" value="256KB"/>
    <Property key="log4cplus.appender.LFP.MaxBackupIndex" value="1"/>
    <Property key="log4cplus.appender.LFP.layout" value="log4cplus::PatternLayout"/>
    <Property key="log4cplus.appender.LFP.layout.ConversionPattern" value="%D{%Y-%m-%d %H:%M:%S.%q%z} | %7T | %-5p | %c - %m (%b:%L)%n"/>
    <Property key="log4cplus.appender.LFP.layout.ContextPrinting" value="enabled"/>
    <Property key="log4cplus.appender.LFP.layout.DateFormat" value="%Y-%m-%d %H:%M:%S.%q"/>
    <Property key="log4cplus.appender.LFP.File" value="/opt/userdata/log/knxstackError.log"/>
    <Property key="log4cplus.appender.LFP.Append" value="true"/>
    <Property key="log4cplus.appender.LFP.ImmediateFlush" value="true"/>
    <Property key="log4cplus.appender.LFP.Threshold" value="ERROR"/>
    <!-- Set options for ConsoleAppender -->
    <Property key="log4cplus.appender.C" value="log4cplus::ConsoleAppender"/>
    <!-- Root logger -->
    <Property key="log4cplus.rootLogger" value="INFO,LF,LFP"/>
  </Logging>
  <Addons>
    <Addon id="ConfigAndResetMgr">/opt/gira/lib/libdscknxipconfig.so</Addon>
    <Addon id="UserInterface">/opt/gira/lib/libdscknxprogmode.so</Addon>
    <Addon id="IpcClient">/opt/gira/lib/libdscknxipcclient.so</Addon>
  </Addons>
  <Options>
    <DeviceDirectory>/opt/userdata/knxdevice</DeviceDirectory>
  </Options>
  <LinkLayers>
    <LinkLayer class="LinkLayerTP" index="0">
      <PortConnector class="PortConnectorMessageQueue"/>
    </LinkLayer>
  </LinkLayers>
  <LogicalDevices>
    <!-- Gira Eco (GIECHIKM01) -->
    <LogicalDevice class="SystemBDevice" manufacturerId="0x0008" deviceDescriptor="0x07b0" firmwareVersion="0x0180" hardwareType="000014ffffff" orderInfo="204500" serialNumber="${SerialNumber1}">
      <FactoryResetManager addonId="ConfigAndResetMgr" class="FactoryResetManager" processTime="20" accessLevel="2" restartType="ProjectDataReset" applicationData="/opt/userdata/devicestack/iscOM/config.json"/>
      <IpcClient addonId="IpcClient" class="DscKnxIpcClient"/>
      <DeviceIpConfiguration port="3671" numberOfTunnellingConnections="0">
        <ConfigurationManager addonId="ConfigAndResetMgr" class="DscKnxIpConfig"/>
        <FriendlyName>Gira Eco</FriendlyName>
      </DeviceIpConfiguration>
      <BusConnection type="TP1" index="0"/>
      <UserInterface addonId="UserInterface" class="UserInterface" index="0" busStateLed="knx" busStateUse="internal" programmingModeLed="prg1" programmingButtonMessageQueue="/progButton" gdsConfiguring="true"/>
      <GroupCommunication readOnInitStartDelay="22000"/>
      <ApplicationProgram1 executable="true" alwaysUseDefaultImplementation="true" initialLoadStateIsLoaded="false">
        <DefaultImplementation type="DynamicLibrary">/opt/gira/lib/libdscknxuniappprg.so</DefaultImplementation>
      </ApplicationProgram1>
      <ApplicationProgram2 executable="false"/>
      <SecureApplicationLayer fdskFileName="fdsk_0" seqNrPermanentFileName="knx_secure_seq_nr_sending_0"/>
      <DeviceObject downloadCounterFileName="knx_download_counter_0"/>
    </LogicalDevice>
  </LogicalDevices>
</StackConfig>
