<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="83">
  <Template id="82e6029e-270a-4661-a658-d4ce761e70ad" revision="1.2">
    <SuggestedCCUParameters>
      <Baudrate>9600</Baudrate>
      <Parity>Even</Parity>
      <StopBits>One</StopBits>
      <DataBits>8</DataBits>
      <UseAsciiCommunication>False</UseAsciiCommunication>
      <DelayBetweenRequests>50</DelayBetweenRequests>
      <ReadWriteTimeout>1000</ReadWriteTimeout>
    </SuggestedCCUParameters>
    <RevisionHistory>
      <Revision id="1.1">Status script and attribute formats fixed for Core; thermostat on water; write-on-change; XK08 registers (flow, power, COP, energy); English. Lab core_stable/32388 passed. SC-0137.</Revision>
      <Revision id="1.2">Error codes as on the display (hex, A1); tank heater status and forced control (H411 Auto/Off/On); pipe backup heater status; BCD software versions; TBH attribute. Lab core_stable/32388 passed. SC-0137.</Revision>
    </RevisionHistory>
    <Name>AUX ACHP-H Heat Pump</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>AUX</Producer>
    <Model>ACHP-H</Model>
    <Description>AUX ACHP-H air-to-water monobloc heat pump (R290/R32) over Modbus RTU — direct on the XK08 wired controller (A2/B2) or through the AUX Modbus Gateway.</Description>
    <Category>1</Category>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>Modbus Slave ID (XK08: Options → Modbus; gateway: DIP SW2)</Name>
        <Value>1</Value>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>AUX ACHP-H</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <MaxPrefetchGroupSize>16</MaxPrefetchGroupSize>
        <PrefetchModeId>0</PrefetchModeId>
        <ReadScript>var odu := MODBUSR(H, 70, Int16);
IF(odu &gt; 0)
  ADDERROR(0, &quot;Outdoor unit fault &quot; + TOSTRING(odu, &quot;X2&quot;));
END
var idu := MODBUSR(H, 71, Int16);
IF(idu &gt; 0)
  ADDERROR(1, &quot;Indoor unit fault &quot; + TOSTRING(idu, &quot;X2&quot;));
END
var defrost := MODBUSR(H, 88, Int16);
IF(defrost = 1)
  ADDINFO(0, &quot;Defrosting&quot;);
END</ReadScript>
        <ServiceAttributesFormulas>[{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Outdoor unit capacity&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 40, Int16) * 100, \&quot;F0\&quot;) + \&quot; W\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Outdoor unit operating mode&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 41, Int16) = 0, \&quot;Stopped\&quot;, IF(MODBUSR(H, 41, Int16) = 1, \&quot;Cooling\&quot;, IF(MODBUSR(H, 41, Int16) = 2, \&quot;Heating\&quot;, \&quot;Hot water\&quot;)))&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Compressor frequency&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 42, Int16) / 10, \&quot;F1\&quot;) + \&quot; rps\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Fan speed&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 43, Int16), \&quot;F0\&quot;) + \&quot; rpm\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Expansion valve&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 44, Int16), \&quot;F0\&quot;) + \&quot; pls\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Compressor current&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 45, Int16) / 10, \&quot;F1\&quot;) + \&quot; A\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Target frequency&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 46, Int16) / 10, \&quot;F1\&quot;) + \&quot; rps\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;DC bus voltage&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 47, Int16), \&quot;F0\&quot;) + \&quot; V\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Inverter input current&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 48, Int16) / 10, \&quot;F1\&quot;) + \&quot; A\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Inverter module temperature&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 49, Int16) / 10, \&quot;F1\&quot;) + \&quot; °C\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Compressor pressure&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 54, Int16), \&quot;F0\&quot;) + \&quot; kPa\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;DHW mode&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 200, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Disinfection enabled&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 201, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;DHW priority&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 202, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Cooling mode enabled&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 213, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Heating mode enabled&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 224, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Water temperature control&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 237, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Room temperature control&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 238, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Double zone&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 239, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Tank heater (TBH) enabled&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 268, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Indoor backup heater&quot;},&quot;ReadFormula&quot;:&quot;IF(MODBUSR(H, 241, Int16) = 1, \&quot;On\&quot;, \&quot;Off\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Outdoor unit software&quot;},&quot;ReadFormula&quot;:&quot;\&quot;V\&quot; + COPY(TOSTRING(MODBUSR(H, 72, Int16), \&quot;X2\&quot;), 0, 1) + \&quot;.\&quot; + COPY(TOSTRING(MODBUSR(H, 72, Int16), \&quot;X2\&quot;), 1, 1)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Indoor unit software&quot;},&quot;ReadFormula&quot;:&quot;\&quot;V\&quot; + COPY(TOSTRING(MODBUSR(H, 73, Int16), \&quot;X2\&quot;), 0, 1) + \&quot;.\&quot; + COPY(TOSTRING(MODBUSR(H, 73, Int16), \&quot;X2\&quot;), 1, 1)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Compressor run time&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 99, UInt16), \&quot;F0\&quot;) + \&quot; min\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Average power (1 h)&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 94, UInt16) / 100, \&quot;F2\&quot;) + \&quot; kW\&quot;&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Average COP (1 h)&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 96, UInt16) / 100, \&quot;F2\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Wired controller software&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 90, Int16), \&quot;F0\&quot;)&quot;}]</ServiceAttributesFormulas>
        <ServiceActionsScripts>[{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Run DHW pump&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 7, Int16, 1);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Start disinfection&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 9, Int16, 1);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set DHW mode&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Dhw mode&quot;,&quot;Abbreviation&quot;:&quot;dhw&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 200, Int16, dhw);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set disinfection enabled&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Disinfection enabled&quot;,&quot;Abbreviation&quot;:&quot;dis&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 201, Int16, dis);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set DHW priority&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Dhw priority&quot;,&quot;Abbreviation&quot;:&quot;prio&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 202, Int16, prio);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set cooling mode enabled&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Cooling mode enabled&quot;,&quot;Abbreviation&quot;:&quot;cool&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 213, Int16, cool);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set heating mode enabled&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Heating mode enabled&quot;,&quot;Abbreviation&quot;:&quot;heat&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 224, Int16, heat);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set water temperature control&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Water temperature control&quot;,&quot;Abbreviation&quot;:&quot;wft&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 237, Int16, wft);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set room temperature control&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Room temperature control&quot;,&quot;Abbreviation&quot;:&quot;rmt&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 238, Int16, rmt);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set double zone&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Double zone&quot;,&quot;Abbreviation&quot;:&quot;dz&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 239, Int16, dz);&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set indoor backup heater&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Indoor backup heater&quot;,&quot;Abbreviation&quot;:&quot;ibh&quot;,&quot;OffValueName&quot;:&quot;Off&quot;,&quot;OnValueName&quot;:&quot;On&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 241, Int16, ibh);&quot;}]</ServiceActionsScripts>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Heat pump on/off</Name>
          <Id>-2</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchState>MODBUSR(H, 0, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 0, Int16, St)</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Operating mode</Name>
          <Id>-3</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadSwitchState>MODBUSR(H, 1, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 1, Int16, Mu)</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Auto</Value0Name>
            <Value0IconId>3</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Cooling</Value1Name>
            <Value1IconId>2</Value1IconId>
            <Value2Index>66</Value2Index>
            <Value3Index>67</Value3Index>
            <Value4>4</Value4>
            <Value4Index>4</Value4Index>
            <Value4Name>Heating</Value4Name>
            <Value4IconId>1</Value4IconId>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>71</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Water temperature setpoint</Name>
          <Id>-4</Id>
          <Model>ModbusThermostat</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadCurrentTemperature>MODBUSR(H, 65, Int16) / 10</ReadCurrentTemperature>
            <ReadDesiredTemperature>MODBUSR(H, 2, Int16) / 10</ReadDesiredTemperature>
            <WriteDesiredTemperature>MODBUSWNE(H, 2, Int16, Se * 10)</WriteDesiredTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Hot water on/off</Name>
          <Id>-5</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchState>MODBUSR(H, 3, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 3, Int16, St)</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Hot water setpoint</Name>
          <Id>-6</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <IsReadOnly>False</IsReadOnly>
            <ReadState>MODBUSR(H, 4, Int16) / 10</ReadState>
            <WriteState>MODBUSWNE(H, 4, Int16, Va * 10)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Fast hot water</Name>
          <Id>-7</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchState>MODBUSR(H, 8, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 8, Int16, St)</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>ECO mode</Name>
          <Id>-8</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OffStateValue>0</OffStateValue>
            <ReadSwitchState>MODBUSR(H, 5, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 5, Int16, Mu)</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Off</Value0Name>
            <Value0IconId>4</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>ECO 1</Value1Name>
            <Value1IconId>5</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>ECO 2</Value2Name>
            <Value2IconId>6</Value2IconId>
            <Value3>3</Value3>
            <Value3Index>3</Value3Index>
            <Value3Name>ECO 3</Value3Name>
            <Value3IconId>7</Value3IconId>
            <Value4>4</Value4>
            <Value4Index>4</Value4Index>
            <Value4Name>ECO 4</Value4Name>
            <Value4IconId>8</Value4IconId>
            <Value5>5</Value5>
            <Value5Index>5</Value5Index>
            <Value5Name>ECO 5</Value5Name>
            <Value5IconId>9</Value5IconId>
            <Value6>6</Value6>
            <Value6Index>6</Value6Index>
            <Value6Name>ECO 6</Value6Name>
            <Value6IconId>10</Value6IconId>
            <Value7>7</Value7>
            <Value7Index>7</Value7Index>
            <Value7Name>ECO 7</Value7Name>
            <Value7IconId>11</Value7IconId>
            <Value8>8</Value8>
            <Value8Index>8</Value8Index>
            <Value8Name>ECO 8</Value8Name>
            <Value8IconId>12</Value8IconId>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Weather compensation</Name>
          <Id>-9</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OffStateValue>0</OffStateValue>
            <ReadSwitchState>MODBUSR(H, 6, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 6, Int16, Mu)</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Off</Value0Name>
            <Value0IconId>4</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Auto 1</Value1Name>
            <Value1IconId>5</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>Auto 2</Value2Name>
            <Value2IconId>6</Value2IconId>
            <Value3>3</Value3>
            <Value3Index>3</Value3Index>
            <Value3Name>Auto 3</Value3Name>
            <Value3IconId>7</Value3IconId>
            <Value4>4</Value4>
            <Value4Index>4</Value4Index>
            <Value4Name>Auto 4</Value4Name>
            <Value4IconId>8</Value4IconId>
            <Value5>5</Value5>
            <Value5Index>5</Value5Index>
            <Value5Name>Auto 5</Value5Name>
            <Value5IconId>9</Value5IconId>
            <Value6>6</Value6>
            <Value6Index>6</Value6Index>
            <Value6Name>Auto 6</Value6Name>
            <Value6IconId>10</Value6IconId>
            <Value7>7</Value7>
            <Value7Index>7</Value7Index>
            <Value7Name>Auto 7</Value7Name>
            <Value7IconId>11</Value7IconId>
            <Value8>8</Value8>
            <Value8Index>8</Value8Index>
            <Value8Name>Auto 8</Value8Name>
            <Value8IconId>12</Value8IconId>
            <Value9>9</Value9>
            <Value9Index>9</Value9Index>
            <Value9Name>Auto 9</Value9Name>
            <Value9IconId>13</Value9IconId>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Silent mode</Name>
          <Id>-10</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <OffStateValue>0</OffStateValue>
            <ReadSwitchState>MODBUSR(H, 13, Int16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 13, Int16, Mu)</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Off</Value0Name>
            <Value0IconId>4</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Silent 1</Value1Name>
            <Value1IconId>5</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>Silent 2</Value2Name>
            <Value2IconId>6</Value2IconId>
            <Value3Index>67</Value3Index>
            <Value4Index>68</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>71</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Suction temperature</Name>
          <Id>-11</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 50, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Discharge temperature</Name>
          <Id>-12</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 51, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Exchanger temperature</Name>
          <Id>-13</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 52, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Outdoor temperature</Name>
          <Id>-14</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 53, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Water inlet temperature</Name>
          <Id>-15</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 64, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Hot water tank temperature</Name>
          <Id>-16</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 66, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Floor heating outlet temperature</Name>
          <Id>-17</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 67, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Floor heating inlet temperature</Name>
          <Id>-18</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 68, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Room temperature (zone 1)</Name>
          <Id>-19</Id>
          <Model>ModbusTemperatureSensor</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <ReadTemperature>MODBUSR(H, 69, Int16) / 10</ReadTemperature>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Water flow</Name>
          <Id>-20</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <ReadState>MODBUSR(H, 86, Int16) / 100</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Electrical power</Name>
          <Id>-21</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <ReadState>MODBUSR(H, 93, UInt16) / 100</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Heating capacity</Name>
          <Id>-22</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <ReadState>MODBUSR(H, 91, UInt16) / 100</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>COP</Name>
          <Id>-23</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <ReadState>MODBUSR(H, 95, UInt16) / 100</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Energy consumed today</Name>
          <Id>-24</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>60000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <ReadState>MODBUSR(H, 87, UInt16)</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Tank electric heater</Name>
          <Id>-25</Id>
          <Model>ModbusReedContact</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <OnStateIconId>72</OnStateIconId>
            <OffStateIconId>73</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadState>MODBUSR(H, 62, Int16)</ReadState>
            <NegateState>False</NegateState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Tank electric heater control</Name>
          <Id>-27</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadSwitchState>SWITCH(MODBUSR(H, 411, UInt16), 0, 1, 1, 2, 0)</ReadSwitchState>
            <WriteSwitchState>IF(Mu = 1)
  MODBUSWNE(H, 411, UInt16, 0);
END
IF(Mu = 2)
  MODBUSWNE(H, 411, UInt16, 1);
END
IF(Mu = 0)
  MODBUSWNE(H, 411, UInt16, 32768);
END</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Auto</Value0Name>
            <Value0IconId>3</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Forced off</Value1Name>
            <Value1IconId>61</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>Forced on</Value2Name>
            <Value2IconId>60</Value2IconId>
            <Value3Index>67</Value3Index>
            <Value4Index>68</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>71</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Pipe backup heater</Name>
          <Id>-26</Id>
          <Model>ModbusReedContact</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <OnStateIconId>72</OnStateIconId>
            <OffStateIconId>73</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadState>MODBUSR(H, 61, Int16)</ReadState>
            <NegateState>False</NegateState>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>
