<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="83">
  <Template id="a3f7c2d1-84e6-4b1a-9c35-2d8f0e1a7b4c" revision="1.0">
    <SuggestedCCUParameters>
      <Baudrate>9600</Baudrate>
      <Parity>None</Parity>
      <StopBits>One</StopBits>
      <DataBits>8</DataBits>
      <UseAsciiCommunication>False</UseAsciiCommunication>
      <DelayBetweenRequests>-1</DelayBetweenRequests>
      <ReadWriteTimeout>1000</ReadWriteTimeout>
    </SuggestedCCUParameters>
    <Name>SEAK LUMiCHARGER RS485</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>SEAK</Producer>
    <Model>LUMiCHARGER RS485</Model>
    <Description>EV nabíjacia stanica SEAK LUMiCHARGER RS485 s komunikáciou Modbus RTU cez RS-485. Firmware X101.10.15.0, samostatný režim (stand-alone).</Description>
    <Category>2</Category>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>Modbus Slave ID</Name>
        <Value>1</Value>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>SEAK LUMiCHARGER RS485</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <MaxPrefetchGroupSize>16</MaxPrefetchGroupSize>
        <PrefetchModeId>0</PrefetchModeId>
        <ServiceAttributesFormulas>[{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Verzia firmvéru&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 1024, UInt16)) + \&quot;.\&quot; + TOSTRING(MODBUSR(H, 1025, UInt16)) + \&quot;.\&quot; + TOSTRING(MODBUSR(H, 1026, UInt16)) + \&quot;.\&quot; + TOSTRING(MODBUSR(H, 1027, UInt16))&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Čas behu [s]&quot;},&quot;ReadFormula&quot;:&quot;MODBUSR(H, 1028, UInt16) * 65536 + MODBUSR(H, 1029, UInt16)&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;RFID karta (bajty 1–4)&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 1046, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1047, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1048, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1049, UInt16))&quot;},{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;RFID karta (bajty 5–8)&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 1050, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1051, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1052, UInt16)) + \&quot;-\&quot; + TOSTRING(MODBUSR(H, 1053, UInt16))&quot;}]</ServiceAttributesFormulas>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Stav LUMiCHARGER</Name>
          <Id>-2</Id>
          <Model>ModbusSwitch</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>5000</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>Nabíja</OnStateName>
            <OffStateName>Nenabíja</OffStateName>
            <ReadSwitchState>GETBIT(MODBUSR(H, 1030, UInt16), 7)</ReadSwitchState>
            <ReadScript>VAR status := MODBUSR(H, 1030, UInt16);
VAR stavKod := status AND 31;
IF(GETBIT(status, 6), ADDWARNING(1, &quot;Kapacita siete prekročená&quot;));
IF(GETBIT(status, 5), ADDINFO(2, &quot;Vozidlo pripojené&quot;));
IF(stavKod = 0, ADDINFO(3, &quot;Žiadne vozidlo&quot;));
IF(stavKod = 1, ADDINFO(4, &quot;Prebieha autorizácia&quot;));
IF(stavKod = 2, ADDINFO(5, &quot;Pripravený na nabíjanie&quot;));
IF(stavKod = 3, ADDINFO(6, &quot;Nabíjanie prebieha&quot;));
IF(stavKod = 4, ADDWARNING(7, &quot;Nabíjanie zakázané&quot;));
IF(stavKod = 5, ADDERROR(8, &quot;CHYBA: Prúdové preťaženie&quot;));
IF(stavKod = 6, ADDWARNING(9, &quot;VAROVANIE: Únikový prúd (dočasne)&quot;));
IF(stavKod = 7, ADDERROR(10, &quot;CHYBA: Únikový prúd (trvalá porucha)&quot;));
IF(stavKod = 8, ADDERROR(11, &quot;CHYBA: Zlyhanie napájania RFID&quot;));
IF(stavKod = 9, ADDERROR(12, &quot;CHYBA: Skrinka RFID porušená&quot;));
IF(stavKod = 10, ADDERROR(13, &quot;CHYBA: Autorizácia RFID zlyhala&quot;));
IF(stavKod = 11, ADDINFO(14, &quot;Vozidlo čaká na povolenie&quot;));
IF(stavKod = 12, ADDINFO(15, &quot;Nabíjanie ukončené&quot;));
IF(stavKod = 13, ADDINFO(16, &quot;Používateľ odhlásený&quot;));
IF(stavKod = 15, ADDERROR(17, &quot;CHYBA: Skrat na vodiči CP&quot;));
IF(stavKod = 16, ADDWARNING(18, &quot;Nabíjanie prerušené&quot;));
IF(stavKod = 17, ADDWARNING(19, &quot;Ukončovanie relácie&quot;));
IF(stavKod = 18, ADDERROR(20, &quot;CHYBA: RFID autorizácia odmietnutá&quot;));</ReadScript>
            <ServiceActionsScripts>[{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Zastaviť nabíjanie&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 773, UInt16, 0)&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Ukončiť nabíjaciu reláciu&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 778, UInt16, 0)&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Zakázať nabíjačku&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 770, UInt16, 0)&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Odblokovať konektor&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSW(H, 774, UInt16, 0)&quot;}]</ServiceActionsScripts>
            <ServiceAttributesFormulas>[{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Hrubý stavový register (hex)&quot;},&quot;ReadFormula&quot;:&quot;TOSTRING(MODBUSR(H, 1030, UInt16))&quot;}]</ServiceAttributesFormulas>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Maximálny prúd nabíjania</Name>
          <Id>-3</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>2500</InternalPollInterval>
            <IsReadOnly>False</IsReadOnly>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadState>MODBUSR(H, 800, UInt16)</ReadState>
            <WriteState>MODBUSWNE(H, 800, UInt16, Va)</WriteState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Prúd L1</Name>
          <Id>-4</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>5000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadState>MODBUSR(H, 1031, UInt16) + MODBUSR(H, 1032, UInt16) / 10</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Prúd L2</Name>
          <Id>-5</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>5000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadState>MODBUSR(H, 1033, UInt16) + MODBUSR(H, 1034, UInt16) / 10</ReadState>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Prúd L3</Name>
          <Id>-6</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>5000</InternalPollInterval>
            <IsReadOnly>True</IsReadOnly>
            <PrefetchModeId>0</PrefetchModeId>
            <ReadState>MODBUSR(H, 1035, UInt16) + MODBUSR(H, 1036, UInt16) / 10</ReadState>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>
