<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="83">
  <Template id="8367966d-d4a0-4fd8-8054-4bef818f2d26" revision="1.0">
    <SuggestedCCUParameters>
      <Baudrate>9600</Baudrate>
      <Parity>Even</Parity>
      <StopBits>One</StopBits>
      <DataBits>8</DataBits>
      <DelayBetweenRequests>250</DelayBetweenRequests>
      <ReadWriteTimeout>1500</ReadWriteTimeout>
      <UseAsciiCommunication>False</UseAsciiCommunication>
    </SuggestedCCUParameters>
    <Name>Daikin FCBAG Modbus RTU</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>Daikin</Producer>
    <Model>FCBAG</Model>
    <Description>Daikin FCBAG beltéri klímaegység Modbus RTU interfész modul. Be-/kikapcsolás, üzemmód, hőmérséklet-szabályozás.</Description>
    <Category>1</Category>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>Modbus Slave ID</Name>
        <Value>2</Value>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>Daikin FCBAG modul</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <PrefetchModeId>0</PrefetchModeId>
        <MaxPrefetchGroupSize>16</MaxPrefetchGroupSize>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Klíma</Name>
          <Id>-2</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchState>GETBIT(MODBUSR(A, 2000, UInt16), 0)</ReadSwitchState>
            <WriteSwitchState>VAR reg := MODBUSR(H, 2000, UInt16);
reg := SETBIT(reg, 0, St);
MODBUSWNE(H, 2000, UInt16, reg);</WriteSwitchState>
            <ServiceAttributesFormulas>[{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Ventilátor sebesség&quot;},&quot;ReadFormula&quot;:&quot;SWITCH(GETBITS(MODBUSR(A, 2000, UInt16), 12, 3), 1, \&quot;Alacsony\&quot;, 2, \&quot;Közép-alacsony\&quot;, 3, \&quot;Közepes\&quot;, 4, \&quot;Közép-magas\&quot;, 5, \&quot;Magas\&quot;, 7, \&quot;Auto\&quot;, \&quot;Ismeretlen\&quot;)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Légirány (swing)&quot;},&quot;ReadFormula&quot;:&quot;SWITCH(GETBITS(MODBUSR(A, 2000, UInt16), 8, 2), 0, \&quot;Megáll\&quot;, 1, \&quot;1. pozíció\&quot;, 2, \&quot;2. pozíció\&quot;, 3, \&quot;3. pozíció\&quot;, 4, \&quot;4. pozíció\&quot;, 5, \&quot;5. pozíció\&quot;, 7, \&quot;Swing\&quot;, \&quot;Ismeretlen\&quot;)&quot;}]</ServiceAttributesFormulas>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Üzemmód</Name>
          <Id>-3</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadSwitchState>MODBUSR(A, 2001, UInt16)</ReadSwitchState>
            <WriteSwitchState>MODBUSWNE(H, 2001, UInt16, Mu)</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Ventilátor</Value0Name>
            <Value0IconId>24</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Fűtés</Value1Name>
            <Value1IconId>1</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>Hűtés</Value2Name>
            <Value2IconId>2</Value2IconId>
            <Value3>3</Value3>
            <Value3Index>3</Value3Index>
            <Value3Name>Auto</Value3Name>
            <Value3IconId>3</Value3IconId>
            <Value4Index>68</Value4Index>
            <Value5Index>69</Value5Index>
            <Value6Index>70</Value6Index>
            <Value7>7</Value7>
            <Value7Index>7</Value7Index>
            <Value7Name>Száraz</Value7Name>
            <Value7IconId>4</Value7IconId>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Hőmérséklet</Name>
          <Id>-4</Id>
          <Model>ModbusThermostat</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <MinTemperature>16</MinTemperature>
            <MaxTemperature>32</MaxTemperature>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <ReadCurrentTemperature>MODBUSR(A, 2004, Int16)/10</ReadCurrentTemperature>
            <ReadDesiredTemperature>MODBUSR(A, 2002, Int16)/10</ReadDesiredTemperature>
            <WriteDesiredTemperature>MODBUSWNE(H, 2002, Int16, Se*10)</WriteDesiredTemperature>
            <ReadScript>VAR errorReg := MODBUSR(A, 2003, UInt16);
IF(GETBIT(errorReg, 9))
  VAR upper := GETBITS(errorReg, 8, 5);
  VAR lower := GETBITS(errorReg, 0, 4);
  VAR letter := SWITCH(upper, 1, &quot;A&quot;, 2, &quot;C&quot;, 3, &quot;E&quot;, 4, &quot;H&quot;, 5, &quot;F&quot;, 6, &quot;J&quot;, 7, &quot;L&quot;, 8, &quot;P&quot;, 9, &quot;U&quot;, &quot;?&quot;);
  ADDERROR(1, &quot;Meghibásodás: &quot; + letter + TOSTRING(lower, &quot;F0&quot;));
END
VAR sensorReg := MODBUSR(A, 2005, UInt16);
IF(GETBIT(sensorReg, 8))
  ADDERROR(2, &quot;Szobahőmérséklet-érzékelő hiba&quot;);
END</ReadScript>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Lamella állás</Name>
          <Id>-5</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadSwitchState>GETBITS(MODBUSR(A, 2000, UInt16), 8, 3)</ReadSwitchState>
            <WriteSwitchState>VAR reg := MODBUSR(H, 2000, UInt16);
reg := SETBITS(reg, 8, 3, Mu);
MODBUSW(H, 2000, UInt16, reg);</WriteSwitchState>
            <Value0>0</Value0>
            <Value0Index>0</Value0Index>
            <Value0Name>Megáll</Value0Name>
            <Value0IconId>11</Value0IconId>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>1. pozíció</Value1Name>
            <Value1IconId>6</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>2. pozíció</Value2Name>
            <Value2IconId>7</Value2IconId>
            <Value3>3</Value3>
            <Value3Index>3</Value3Index>
            <Value3Name>3. pozíció</Value3Name>
            <Value3IconId>8</Value3IconId>
            <Value4>4</Value4>
            <Value4Index>4</Value4Index>
            <Value4Name>4. pozíció</Value4Name>
            <Value4IconId>9</Value4IconId>
            <Value5>5</Value5>
            <Value5Index>5</Value5Index>
            <Value5Name>5. pozíció</Value5Name>
            <Value5IconId>10</Value5IconId>
            <Value6Index>70</Value6Index>
            <Value7>7</Value7>
            <Value7Index>7</Value7Index>
            <Value7Name>Swing</Value7Name>
            <Value7IconId>15</Value7IconId>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Ventilátor sebesség</Name>
          <Id>-6</Id>
          <Model>ModbusMultiValueSwitch</Model>
          <DeviceProperties>
            <InternalPollInterval>2500</InternalPollInterval>
            <ReadSwitchState>GETBITS(MODBUSR(A, 2000, UInt16), 12, 3)</ReadSwitchState>
            <WriteSwitchState>VAR reg := MODBUSR(H, 2000, UInt16);
reg := SETBITS(reg, 12, 3, Mu);
MODBUSW(H, 2000, UInt16, reg);</WriteSwitchState>
            <Value0Index>64</Value0Index>
            <Value1>1</Value1>
            <Value1Index>1</Value1Index>
            <Value1Name>Alacsony</Value1Name>
            <Value1IconId>6</Value1IconId>
            <Value2>2</Value2>
            <Value2Index>2</Value2Index>
            <Value2Name>Közép-alacsony</Value2Name>
            <Value2IconId>7</Value2IconId>
            <Value3>3</Value3>
            <Value3Index>3</Value3Index>
            <Value3Name>Közepes</Value3Name>
            <Value3IconId>8</Value3IconId>
            <Value4>4</Value4>
            <Value4Index>4</Value4Index>
            <Value4Name>Közép-magas</Value4Name>
            <Value4IconId>9</Value4IconId>
            <Value5>5</Value5>
            <Value5Index>5</Value5Index>
            <Value5Name>Magas</Value5Name>
            <Value5IconId>10</Value5IconId>
            <Value6Index>70</Value6Index>
            <Value7>7</Value7>
            <Value7Index>7</Value7Index>
            <Value7Name>Auto</Value7Name>
            <Value7IconId>15</Value7IconId>
            <Value8Index>72</Value8Index>
            <Value9Index>73</Value9Index>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>
