﻿<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="76">
  <Template revision="1.0" id="31da8126-fce9-45a5-8f2d-42981f47af3b">
    <SuggestedCCUParameters>
      <UseAsciiCommunication>False</UseAsciiCommunication>
      <StopBits>One</StopBits>
      <DataBits>8</DataBits>
      <Parity>Even</Parity>
      <Baudrate>9600</Baudrate>
      <DelayBetweenRequests>-1</DelayBetweenRequests>
      <ReadWriteTimeout>1000</ReadWriteTimeout>
    </SuggestedCCUParameters>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>Slave Id</Name>
        <Value>1</Value>
      </Parameter>
      <Parameter>
        <Id>IpAddress</Id>
        <Name>IP address</Name>
        <Value>192.168.1.0</Value>
      </Parameter>
    </ImportParameters>
    <RevisionHistory>
      <Revision id="1.0">Initial version</Revision>
    </RevisionHistory>
    <Name>Samsung MIM B19N </Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>Samsung</Producer>
    <Model>B19N Gateway</Model>
    <Description></Description>
    <Module>
      <Name>Samsung MIM B19N </Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <DeviceType>7001</DeviceType>
        <InternalPollInterval>30000</InternalPollInterval>
        <ReadScript>var err := MODBUSR(H, 0, Uint16);
IF(GETBIT(err, 0) = 1, ADDERROR("${adress_error}"));
IF(GETBIT(err, 1) = 1, ADDERROR("${comm_error_R1/R2}"));
IF(GETBIT(err, 2) = 1, ADDERROR("${tracking_error}"));
var reg := MODBUSR(H, 1, Uint16);
IF(reg != 0, ADDERROR("${integ_od_unit_err} (" + reg + ")" );</ReadScript>
        <PrefetchModeId>0</PrefetchModeId>
        <ServiceAttributesFormulas>[{"AttributeDefinition":{"Name":"Units found"},"ReadFormula":"int IU := 0;\r\nvar out := \u0022\u0022;\r\n\r\ndo\r\n\tvar base := 50 \u002B IU*50;\r\n\r\n\tvar com := MODBUSR(H, base \u002B 0, Uint16);\r\n\tvar type := MODBUSR(H, base \u002B 1, Uint16);\r\n\t\r\n\tvar unit := \u0022\u0022;\r\n\tvar lower := GETBYTE(type, 0);\r\n\tvar upper := GETBYTE(type, 1);\r\n\t\r\n\t\r\n\tIF upper = 10\r\n\t\tunit := \u0022FCU\u0022;\r\n\tELSE\r\n\t\tIF(type = 0xffff, unit := \u0022Not defined\u0022,\r\n\t\tIF(lower = 0x6C, unit := \u0022ERV\u002B\u0022, \r\n\t\tIF(lower = 0x6E, unit := \u0022HE\u0022,\r\n\t\tIF(lower = 0x78, unit := \u0022HT\u0022,\r\n\t\tIF( 0x5A \u003C= lower AND lower \u003C= 0x63 , unit := \u0022AHU\u0022,\r\n\t\tIF( 0x64 \u003C= lower AND lower \u003C= 0x65 , unit := \u0022ERV\u0022,\r\n\t\tIF( 0x73 \u003C= lower AND lower \u003C= 0x75 , unit := \u0022EHS\u0022,\r\n\t\tIF( 0x8C \u003C= lower AND lower \u003C= 0x95 , unit := \u0022Chiller\u0022,\r\n\t\tIF( 0xA0 \u003C= lower AND lower \u003C= 0xA9 , unit := \u0022FCU kit\u0022, unit := \u0022Indoor Unit\u0022)))))))));\r\n\tEND\r\n\t\r\n\tIF getbit(com, 0) = 1\r\n\t\tout := out \u002B \u0022IU \u0022 \u002B IU \u002B \u0022 Exist (\u0022 \u002B unit \u002B \u0022)\u0022;\r\n\t\tout := out \u002B IF(getbit(com, 1) = 1, \u0022, Type OK\u0022, \u0022\u0022);\r\n\t\tout := out \u002B IF(getbit(com, 2) = 1, \u0022, Ready\u0022, \u0022, Not ready\u0022);\r\n\t\tout := out \u002B IF(getbit(com, 3) = 1, \u0022, Communication error\u0022, \u0022\u0022);\r\n\t\tout := out \u002B \u0022\\r\\n\u0022;\r\n\tEND\r\n\t\r\n    IU := IU \u002B 1;\r\nloop while IU \u003C 48\r\n\r\nreturn(out)\r\n\r\n"}]</ServiceAttributesFormulas>
        <ServiceActionsScripts>[]</ServiceActionsScripts>
        <SlaveId>$[SlaveId]</SlaveId>
        <MaxPrefetchGroupSize>12</MaxPrefetchGroupSize>
        <IpAddress>$[IpAddress]</IpAddress>
      </DeviceProperties>
    </Module>
  </Template>
</Templates>