﻿<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="73">
  <Template revision="1.0" id="b9257ae6-6d55-409b-8113-d621570e45dd">
    <SuggestedCCUParameters>
      <UseAsciiCommunication>False</UseAsciiCommunication>
      <StopBits>Two</StopBits>
      <DataBits>8</DataBits>
      <Parity>None</Parity>
      <Baudrate>9600</Baudrate>
      <DelayBetweenRequests>-1</DelayBetweenRequests>
      <ReadWriteTimeout>200</ReadWriteTimeout>
    </SuggestedCCUParameters>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>${device_SlaveId}</Name>
        <Value>1</Value>
      </Parameter>
      <Parameter>
        <Id>IpAddress</Id>
        <Name>${ipAddress}</Name>
        <Value>192.168.1.0</Value>
      </Parameter>
    </ImportParameters>
    <RevisionHistory>
      <Revision id="1.0">Initial version</Revision>
    </RevisionHistory>
    <Name>Daikin FWEC3</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer></Producer>
    <Model></Model>
    <Description></Description>
    <Module>
      <Name>Daikin FWEC3</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <DeviceType>7001</DeviceType>
        <InternalPollInterval>30000</InternalPollInterval>
        <ReadScript>IF(GETBIT(MODBUSR(A, 0, Uint16),5) = 1, ADDERROR("General alarm on unit"));</ReadScript>
        <PrefetchModeId>0</PrefetchModeId>
        <ServiceAttributesFormulas>[]</ServiceAttributesFormulas>
        <ServiceActionsScripts>[{"ActionDefinition":{"Name":"Enable On/Off supervisor","NumericParameters":[],"BoolParameters":[],"EnumParameters":[]},"Script":"var reg:= MODBUSR(H, 50, Uint16);\r\nMODBUSW(H, 50, UInt16, SETBIT(reg,8,1));"},{"ActionDefinition":{"Name":"Enable mode supervisor","NumericParameters":[],"BoolParameters":[],"EnumParameters":[]},"Script":"var reg:= MODBUSR(H, 50, Uint16);\r\nMODBUSW(H, 50, UInt16, SETBIT(reg,9,1));"},{"ActionDefinition":{"Name":"Enable setpoint supervisor","NumericParameters":[],"BoolParameters":[],"EnumParameters":[]},"Script":"var reg:= MODBUSR(H, 50, Uint16);\r\nMODBUSW(H, 50, UInt16, SETBIT(reg,13,1));"},{"ActionDefinition":{"Name":"Enable fan speed supervisor","NumericParameters":[],"BoolParameters":[],"EnumParameters":[]},"Script":"var reg:= MODBUSR(H, 50, Uint16);\r\nMODBUSW(H, 50, UInt16, SETBIT(reg,15,1));"}]</ServiceActionsScripts>
        <SlaveId>$[SlaveId]</SlaveId>
        <MaxPrefetchGroupSize>100</MaxPrefetchGroupSize>
        <IpAddress>$[IpAddress]</IpAddress>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Mode</Name>
          <Model>ModbusMultiValueSwitch</Model>
          <Id>-2</Id>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <InitializeScript></InitializeScript>
            <ReadScript></ReadScript>
            <PrefetchModeId>0</PrefetchModeId>
            <ServiceAttributesFormulas>[{"AttributeDefinition":{"Name":"Set mode supervision enabled"},"ReadFormula":"Switch(GETBIT(MODBUSR(H, 50, Uint16),9), 0, \u0022Disabled\u0022, 1, \u0022Enabled\u0022,\u0022Unknown\u0022);"}]</ServiceAttributesFormulas>
            <ServiceActionsScripts></ServiceActionsScripts>
            <CustomDeviceVariables></CustomDeviceVariables>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <Value0Index>0</Value0Index>
            <Value1Index>1</Value1Index>
            <Value2Index>66</Value2Index>
            <Value3Index>67</Value3Index>
            <Value4Index>68</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7Index>71</Value7Index>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
            <Value0Name>Cool</Value0Name>
            <Value1Name>Heat</Value1Name>
            <Value2Name>Fan</Value2Name>
            <Value3Name>Cool</Value3Name>
            <Value4Name>Dry</Value4Name>
            <Value5Name>5</Value5Name>
            <Value6Name>6</Value6Name>
            <Value7Name>7</Value7Name>
            <Value8Name>8</Value8Name>
            <Value9Name>9</Value9Name>
            <Value0IconId>2</Value0IconId>
            <Value1IconId>1</Value1IconId>
            <Value2IconId>23</Value2IconId>
            <Value3IconId>2</Value3IconId>
            <Value4IconId>351</Value4IconId>
            <Value5IconId>10</Value5IconId>
            <Value6IconId>11</Value6IconId>
            <Value7IconId>12</Value7IconId>
            <Value8IconId>13</Value8IconId>
            <Value9IconId>14</Value9IconId>
            <OffStateValue>1</OffStateValue>
            <ReadSwitchState>GETBIT(MODBUSR(A, 0, UInt16),1);</ReadSwitchState>
            <WriteSwitchState>var reg := MODBUSR(H, 50, UInt16);
MODBUSW(H, 50, UInt16, SETBIT(reg,1,Mu));</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>State</Name>
          <Model>ModbusSwitch</Model>
          <Id>-3</Id>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <InitializeScript></InitializeScript>
            <ReadScript></ReadScript>
            <PrefetchModeId>0</PrefetchModeId>
            <ServiceAttributesFormulas>[{"AttributeDefinition":{"Name":"On/Off supervision control enabled"},"ReadFormula":"Switch(GETBIT(MODBUSR(H, 50, Uint16),8), 0, \u0022Disabled\u0022, 1, \u0022Enabled\u0022,\u0022Unknown\u0022);"}]</ServiceAttributesFormulas>
            <ServiceActionsScripts></ServiceActionsScripts>
            <CustomDeviceVariables></CustomDeviceVariables>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>On</OnStateName>
            <OffStateName>Off</OffStateName>
            <ReadSwitchState>GETBIT(MODBUSR(A, 0, Uint16), 0);</ReadSwitchState>
            <WriteSwitchState>var reg := MODBUSR(H, 50, UInt16);
MODBUSW(H, 50, UInt16, SETBIT(reg,0,St));</WriteSwitchState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Water temperature</Name>
          <Model>ModbusTemperatureSensor</Model>
          <Id>-4</Id>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <InitializeScript></InitializeScript>
            <ReadScript></ReadScript>
            <PrefetchModeId>0</PrefetchModeId>
            <ServiceAttributesFormulas></ServiceAttributesFormulas>
            <ServiceActionsScripts></ServiceActionsScripts>
            <CustomDeviceVariables></CustomDeviceVariables>
            <TemperatureCalibration>0</TemperatureCalibration>
            <ReadTemperature>MODBUSR(A, 4, UInt16) / 100</ReadTemperature>
            <ReadHumidity></ReadHumidity>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Thermostat</Name>
          <Model>ModbusThermostat</Model>
          <Id>-5</Id>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>1000</InternalPollInterval>
            <InitializeScript></InitializeScript>
            <ReadScript></ReadScript>
            <PrefetchModeId>0</PrefetchModeId>
            <ServiceAttributesFormulas>[{"AttributeDefinition":{"Name":"Setpoint temperature supervision enabled"},"ReadFormula":"Switch(GETBIT(MODBUSR(H, 50, Uint16),13), 0, \u0022Disabled\u0022, 1, \u0022Enabled\u0022,\u0022Unknown\u0022);"},{"AttributeDefinition":{"Name":"Minimum setpoint cool"},"ReadFormula":"MODBUSR(H, 54, Uint16)/10;"},{"AttributeDefinition":{"Name":"Maximun setpoint cool"},"ReadFormula":"MODBUSR(H, 55, Uint16)/10;"},{"AttributeDefinition":{"Name":"Minimun setpoint heat"},"ReadFormula":"MODBUSR(H, 56, Uint16)/10;"},{"AttributeDefinition":{"Name":"Maximun setpoint heat"},"ReadFormula":"MODBUSR(H, 57, Uint16)/10;"}]</ServiceAttributesFormulas>
            <ServiceActionsScripts></ServiceActionsScripts>
            <CustomDeviceVariables></CustomDeviceVariables>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <MinTemperature>10</MinTemperature>
            <MaxTemperature>30</MaxTemperature>
            <ReadCurrentTemperature>MODBUSR(A, 2, Uint16) / 10</ReadCurrentTemperature>
            <ReadDesiredTemperature>MODBUSR(A, 8, Uint16) / 10</ReadDesiredTemperature>
            <WriteDesiredTemperature>IF(GETBIT(MODBUSR(A, 0, UInt16),1)=0, MODBUSW(H, 52, UInt16, Se * 10),MODBUSW(H, 53, UInt16, Se * 10));</WriteDesiredTemperature>
            <ReadHumidity>MODBUSR(A, 3, Uint16) / 100</ReadHumidity>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Fan speed</Name>
          <Model>ModbusMultiValueSwitch</Model>
          <Id>-6</Id>
          <DeviceProperties>
            <DeviceType>6010</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <InitializeScript></InitializeScript>
            <ReadScript></ReadScript>
            <PrefetchModeId>0</PrefetchModeId>
            <ServiceAttributesFormulas>[{"AttributeDefinition":{"Name":"Modulating fan mode"},"ReadFormula":"Switch(MODBUSR(H, 60, Uint16), 0, \u0022Fan off\u0022, 1, \u0022Manually forced fan\u0022, 2, \u0022Automatic fan operation\u0022, \u0022Unknown\u0022);"},{"AttributeDefinition":{"Name":"Fan spees supervision enabled"},"ReadFormula":"Switch(GETBIT(MODBUSR(H, 50, Uint16),15), 0, \u0022Disabled\u0022, 1, \u0022Enabled\u0022,\u0022Unknown\u0022);"}]</ServiceAttributesFormulas>
            <ServiceActionsScripts>[]</ServiceActionsScripts>
            <CustomDeviceVariables>[]</CustomDeviceVariables>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <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>Off</Value0Name>
            <Value1Name>Very low</Value1Name>
            <Value2Name>Low</Value2Name>
            <Value3Name>Medium</Value3Name>
            <Value4Name>High</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>
            <OffStateValue>0</OffStateValue>
            <ReadSwitchState>MODBUSR(A,1, UInt16)</ReadSwitchState>
            <WriteSwitchState>MODBUSW(H, 58, UInt16, Mu)</WriteSwitchState>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>