﻿<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="54">
  <Template id="adaeccb1-9079-43fe-b088-40f44feef280" revision="1.0">
    <Name>Dantherm Air Recovery</Name>
    <CcuModel>ModbusTcpCCU</CcuModel>
    <Producer>Dantherm</Producer>
    <Model>All</Model>
    <Category>1</Category>
    <Description></Description>
    <RevisionHistory>
      <Revision id="1.0">Initial version</Revision>
    </RevisionHistory>
    <ImportParameters>
      <Parameter>
        <Name>${device_SlaveId}</Name>
        <Value>1</Value>
        <Id>SlaveId</Id>
      </Parameter>
      <Parameter>
        <Name>${ipAddress}</Name>
        <Value>192.168.0.1</Value>
        <Id>IpAddress</Id>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>Dantherm Air Recovery</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <IpAddress>$[IpAddress]</IpAddress>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Current state</Name>
          <Id>-2</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadState>MODBUSR(H, 472, UInt16)</ReadState>
            <WriteState></WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Mode</Name>
          <Id>-3</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <Value0Index>0</Value0Index>
            <Value1Index>1</Value1Index>
            <Value2Index>2</Value2Index>
            <Value3Index>3</Value3Index>
            <Value4Index>68</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>7</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
            <Value0Name>Standby</Value0Name>
            <Value1Name>Demand Mode</Value1Name>
            <Value2Name>Manual Mode</Value2Name>
            <Value3Name>Week Program Mode</Value3Name>
            <Value4Name>Away Mode</Value4Name>
            <Value5Name>Fireplace Mode</Value5Name>
            <Value6Name>Summer Mode</Value6Name>
            <Value7Name>Other</Value7Name>
            <Value8Name>8</Value8Name>
            <Value9Name>9</Value9Name>
            <Value0IconId>38</Value0IconId>
            <Value1IconId>6</Value1IconId>
            <Value2IconId>7</Value2IconId>
            <Value3IconId>8</Value3IconId>
            <Value4IconId>9</Value4IconId>
            <Value5IconId>10</Value5IconId>
            <Value6IconId>11</Value6IconId>
            <Value7IconId>12</Value7IconId>
            <Value8IconId>13</Value8IconId>
            <Value9IconId>14</Value9IconId>
            <ReadSwitchState>SWITCH(MODBUSR(H, 168, LittleEndianInt32), 0, 0, 0x02, 1, 0x04, 2, 0x08, 3, 0x12, 1, 0x42, 1, 0x14, 2, 0x44, 2, 0x18, 3, 0x48, 3, 7)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 168, LittleEndianInt32, SWITCH(Mu, 0, 0, 1, 0x02, 2, 0x04, 3, 0x08, 0))</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Mode</Name>
          <Id>-4</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadState>SWITCH(MODBUSR(H, 168, LittleEndianInt32), 0, 0, 0x02, 1, 0x04, 2, 0x08, 3, 0x10, 4, 0x40, 5, 0x800, 6, 0)</ReadState>
            <WriteState>MODBUSWNE(H, 170, LittleEndianInt32, SWITCH(Va, 0, 0, 1, 0x02, 2, 0x04, 3, 0x08, 4, 0x10, 5, 0x40, 6, 0x800, 0)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Ventilation</Name>
          <Id>-5</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <Value0Index>0</Value0Index>
            <Value1Index>1</Value1Index>
            <Value2Index>2</Value2Index>
            <Value3Index>3</Value3Index>
            <Value4Index>4</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>71</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
            <Value0Name>${level_0Of4}</Value0Name>
            <Value1Name>${level_1Of4}</Value1Name>
            <Value2Name>${level_2Of4}</Value2Name>
            <Value3Name>${level_3Of4}</Value3Name>
            <Value4Name>${level_4Of4}</Value4Name>
            <Value5Name></Value5Name>
            <Value6Name></Value6Name>
            <Value7Name></Value7Name>
            <Value8Name></Value8Name>
            <Value9Name></Value9Name>
            <Value0IconId>24</Value0IconId>
            <Value1IconId>25</Value1IconId>
            <Value2IconId>26</Value2IconId>
            <Value3IconId>27</Value3IconId>
            <Value4IconId>28</Value4IconId>
            <Value5IconId>0</Value5IconId>
            <Value6IconId>0</Value6IconId>
            <Value7IconId>0</Value7IconId>
            <Value8IconId>0</Value8IconId>
            <Value9IconId>0</Value9IconId>
            <ReadSwitchState>MODBUSR(H, 324, LittleEndianInt32)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 324, LittleEndianInt32, Mu)</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Away</Name>
          <Id>-6</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>1000</InternalPollInterval>
            <ReadSwitchState>(MODBUSR(SH, 168, UInt16) &amp; 0x10) &gt; 0</ReadSwitchState>
            <WriteSwitchState>MODBUSW(SH, 168, UInt16, IF(St, 0x10, 0x04))</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RPM Fan 1</Name>
          <Id>-7</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadState>MODBUSR(H, 100, LittleEndianFloat)</ReadState>
            <WriteState>MODBUSWNE(H, 324, LittleEndianInt32, Va)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>ModbusVariable-Tcp</Name>
          <Id>-8</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <InternalPollInterval>1000</InternalPollInterval>
            <ReadState>MODBUSR(H, 132, LittleEndianFloat)</ReadState>
            <WriteState>MODBUSWNE(H, 132, Float, Va)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RPM Fan 2</Name>
          <Id>-9</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadState>MODBUSR(H, 102, LittleEndianFloat)</ReadState>
            <WriteState>MODBUSWNE(H, 1, Int16, Va)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Fireplace Mode</Name>
          <Id>-10</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadSwitchState>(MODBUSR(H, 168, LittleEndianInt32) &amp; 0x0040) &gt; 0</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 168, LittleEndianInt32, IF(St, 0x0044, 0x8040))</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Away Mode</Name>
          <Id>-11</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadSwitchState>(MODBUSR(H, 168, LittleEndianInt32) &amp; 0x0010) &gt; 0</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 168, LittleEndianInt32, IF(St, 0x014, 0x8010))</WriteSwitchState>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>