<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="83">
  <Template revision="1.1" id="57457e6f-c5c3-498a-89ef-97912e8e90c4">
    <SuggestedCCUParameters />
    <RevisionHistory>
      <Revision id="1.0">Prvá verzia – eLAN-RF relé RFSA-66M, RFSA-61B, RFSA-62B a termostat RFTC-10/G</Revision>
      <Revision id="1.1">Servisné akcie relé (oneskorené zapnutie/vypnutie, automatický režim), režim a výkon zóny, atribúty termostatu</Revision>
    </RevisionHistory>
    <Name>Elko EP eLAN-RF (iNELS RF)</Name>
    <CcuModel>PacketParserCCU</CcuModel>
    <Producer>Elko EP</Producer>
    <Model>eLAN-RF-003 / eLAN-RF-Wi-003</Model>
    <Description>Ovládanie bezdrôtových prvkov iNELS RF cez lokálne HTTP API brány eLAN-RF.</Description>
    <ImportParameters>
      <Parameter>
        <Name>IP adresa eLAN-RF</Name>
        <Value>192.168.1.10</Value>
        <Id>IpAddress</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN – používateľské meno</Name>
        <Value>admin</Value>
        <Id>ElanUser</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN – SHA1 hash hesla (40 hex znakov)</Name>
        <Value>SHA1_HESLA</Value>
        <Id>ElanKey</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 1</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh1Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 2</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh2Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 3</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh3Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 4</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh4Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 5</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh5Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-66M – kanál 6</Name>
        <Value>0</Value>
        <Id>Rfsa66mCh6Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-61B</Name>
        <Value>0</Value>
        <Id>Rfsa61bId</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-62B – kanál 1</Name>
        <Value>0</Value>
        <Id>Rfsa62bCh1Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFSA-62B – kanál 2</Name>
        <Value>0</Value>
        <Id>Rfsa62bCh2Id</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – RFTC-10/G (termostat)</Name>
        <Value>0</Value>
        <Id>ThermostatId</Id>
      </Parameter>
      <Parameter>
        <Name>eLAN ID – teplotná zóna (HeatCoolArea)</Name>
        <Value>0</Value>
        <Id>AreaId</Id>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>eLAN-RF</Name>
      <Id>-1</Id>
      <Model>PacketParserModuleHttp</Model>
      <DeviceProperties>
        <IpAddress>$[IpAddress]</IpAddress>
        <Port>80</Port>
        <UseHttps>False</UseHttps>
        <HttpAuthentification>0</HttpAuthentification>
        <InternalPollInterval>30000</InternalPollInterval>
        <CustomVariables>[{"Name":"ElanUser","ValueTypeId":2,"NumericValue":0,"StringValue":"$[ElanUser]"},{"Name":"ElanKey","ValueTypeId":2,"NumericValue":0,"StringValue":"$[ElanKey]"},{"Name":"AuthId","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
        <ReadScriptPacketParser>VAR test := SENDHTTPREQUEST("/api", "GET", "", "Cookie: AuthID=" + AuthId);
IF test.StatusCode != 200
  VAR login := SENDHTTPREQUEST("/login", "POST", "name=" + ElanUser + "&amp;key=" + ElanKey, "Content-Type: application/x-www-form-urlencoded");
  VAR cookie := PARSETEXT(login.Headers, "AuthID=", ";");
  IF ISNULL(cookie)
    ADDERROR("Prihlásenie do eLAN zlyhalo – skontrolujte meno a SHA1 hash hesla");
  ELSE
    AuthId := cookie;
  END
END</ReadScriptPacketParser>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>RFSA-66M – kanál 1</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-2</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh1Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-66M – kanál 2</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-3</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh2Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-66M – kanál 3</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-4</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh3Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-66M – kanál 4</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-5</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh4Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-66M – kanál 5</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-6</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh5Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-66M – kanál 6</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-7</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa66mCh6Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-61B</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-8</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa61bId]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-62B – kanál 1</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-9</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa62bCh1Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFSA-62B – kanál 2</Name>
          <Model>PacketParserSwitch</Model>
          <Id>-10</Id>
          <DeviceProperties>
            <InternalPollInterval>5000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[Rfsa62bCh2Id]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Automatický režim"},"ReadFormula":"IF(PARSEJSON(State, \"automat\", true), \"Zapnutý\", \"Vypnutý\")"},{"AttributeDefinition":{"Name":"Prebieha oneskorenie"},"ReadFormula":"IF(PARSEJSON(State, \"delay\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Čas oneskoreného vypnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed off: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Čas oneskoreného zapnutia"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"delayed on: set time\", true)) + \" s\""},{"AttributeDefinition":{"Name":"Uzamknuté"},"ReadFormula":"IF(PARSEJSON(State, \"locked\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"eLAN ID zariadenia"},"ReadFormula":"ElanId"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Oneskorené vypnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed off: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed off\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Oneskorené zapnutie","NumericParameters":[{"FriendlyName":"Čas [s]","Abbreviation":"sec","IsFloat":false,"MinValue":2,"MaxValue":3600}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"delayed on: set time\\\":\" + TOSTRING(ROUND(sec)) + \",\\\"delayed on\\\":null}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Automatický režim","NumericParameters":[],"BoolParameters":[{"FriendlyName":"Automatický režim","Abbreviation":"aut","OffValueName":"Vypnúť","OnValueName":"Zapnúť"}],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", IF(aut, \"{\\\"automat\\\":true}\", \"{\\\"automat\\\":false}\"), \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <NegateState>False</NegateState>
            <OnStateIconId>60</OnStateIconId>
            <OffStateIconId>61</OffStateIconId>
            <OnStateName>${general_on}</OnStateName>
            <OffStateName>${general_off}</OffStateName>
            <ReadSwitchStateScriptPacketParser>RETURN(PARSEJSON(State, "on"));</ReadSwitchStateScriptPacketParser>
            <WriteSwitchStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteSwitchStateScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>RFTC-10/G – teplota</Name>
          <Model>PacketParserTemperatureSensor</Model>
          <Id>-11</Id>
          <DeviceProperties>
            <InternalPollInterval>30000</InternalPollInterval>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[ThermostatId]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Kúrenie zapnuté"},"ReadFormula":"IF(PARSEJSON(State, \"on\", true), \"Áno\", \"Nie\")"},{"AttributeDefinition":{"Name":"Vonkajšia sonda"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"temperature OUT\", true)) + \" °C\""},{"AttributeDefinition":{"Name":"Surový stav z eLAN"},"ReadFormula":"State"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[]</ServiceActionsScriptsPacketParser>
            <TemperatureCalibration>0</TemperatureCalibration>
            <ReadTemperatureScriptPacketParser>VAR t := PARSEJSON(State, "temperature IN", true);
IF ISNULL(t)
  ADDERROR("V stave termostatu chýba pole \"temperature IN\" – pozrite atribút Surový stav z eLAN");
  RETURN(NaN);
END
RETURN(TODOUBLE(t));</ReadTemperatureScriptPacketParser>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>Zóna kúrenia – korekcia teploty</Name>
          <Model>PacketParserVariable</Model>
          <Id>-12</Id>
          <DeviceProperties>
            <InternalPollInterval>30000</InternalPollInterval>
            <IsReadOnly>False</IsReadOnly>
            <ShouldDoPeriodicWrite>False</ShouldDoPeriodicWrite>
            <DeviceType>0</DeviceType>
            <IconId>0</IconId>
            <CustomVariables>[{"Name":"ElanId","ValueTypeId":2,"NumericValue":0,"StringValue":"$[AreaId]"},{"Name":"State","ValueTypeId":2,"NumericValue":0,"StringValue":""}]</CustomVariables>
            <ReadScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END</ReadScriptPacketParser>
            <ServiceAttributesScriptsPacketParser>[{"AttributeDefinition":{"Name":"Režim zóny"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"mode\", true))"},{"AttributeDefinition":{"Name":"Výkon zóny"},"ReadFormula":"TOSTRING(PARSEJSON(State, \"power\", true))"},{"AttributeDefinition":{"Name":"Surový stav zóny z eLAN"},"ReadFormula":"State"}]</ServiceAttributesScriptsPacketParser>
            <ServiceActionsScriptsPacketParser>[{"ActionDefinition":{"Name":"Nastaviť režim zóny","NumericParameters":[{"FriendlyName":"Režim (1–4)","Abbreviation":"m","IsFloat":false,"MinValue":1,"MaxValue":4}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"mode\\\":\" + TOSTRING(ROUND(m)) + \"}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"},{"ActionDefinition":{"Name":"Nastaviť výkon zóny","NumericParameters":[{"FriendlyName":"Výkon (0–2)","Abbreviation":"p","IsFloat":false,"MinValue":0,"MaxValue":2}],"BoolParameters":[],"EnumParameters":[]},"Script":"VAR r := SENDHTTPREQUEST(\"/api/devices/\" + ElanId, \"PUT\", \"{\\\"power\\\":\" + TOSTRING(ROUND(p)) + \"}\", \"Content-Type: application/json\", \"Cookie: AuthID=\" + AuthId);\nIF r.IsSuccess\n  RETURN(\"OK\");\nELSE\n  RETURN(\"Chyba HTTP \" + TOSTRING(r.StatusCode));\nEND"}]</ServiceActionsScriptsPacketParser>
            <ReadStateScriptPacketParser>VAR c := PARSEJSON(State, "correction", true);
IF ISNULL(c)
  RETURN(NaN);
END
RETURN(TODOUBLE(c));</ReadStateScriptPacketParser>
            <WriteStateScriptPacketParser>VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"correction\":" + TOSTRING(MAX(-5, MIN(5, ROUND(Va * 2) / 2))) + "}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END</WriteStateScriptPacketParser>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>
