﻿<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="54">
  <Template id="ea2258c9-e1c3-4a65-8240-911b2dbcd04d" revision="1.0">
    <Name>Domat M312 PWM</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>Domat</Producer>
    <Model>M312PWM</Model>
    <Category>6</Category>
    <Description></Description>
    <RevisionHistory>
      <Revision id="1.0">Initial version</Revision>
    </RevisionHistory>
    <SuggestedCCUParameters>
      <Baudrate>9600</Baudrate>
      <DataBits>8</DataBits>
      <Parity>None</Parity>
      <StopBits>One</StopBits>
    </SuggestedCCUParameters>
    <ImportParameters>
      <Parameter>
        <Name>PWM time (ms)</Name>
        <Value>1000</Value>
        <Id>PWMtimems</Id>
      </Parameter>
      <Parameter>
        <Name>${device_SlaveId}</Name>
        <Value>1</Value>
        <Id>SlaveId</Id>
      </Parameter>
      <Parameter>
        <Name>${ipAddress}</Name>
        <Value>192.168.0.1</Value>
        <Id>IpAddress</Id>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>Domat M312 PWM</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <IpAddress>$[IpAddress]</IpAddress>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>PWM Dimmer 1</Name>
          <Id>-2</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 1) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 9, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 9, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 2</Name>
          <Id>-3</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 2) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 10, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 10, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 3</Name>
          <Id>-4</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 4) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 11, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 11, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 4</Name>
          <Id>-5</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 8) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 12, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 12, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 5</Name>
          <Id>-6</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 16) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 13, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 13, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 6</Name>
          <Id>-7</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 32) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 14, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 14, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 7</Name>
          <Id>-8</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 64) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 15, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 15, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
        <Device>
          <Name>PWM Dimmer 8</Name>
          <Id>-9</Id>
          <Model>ModbusDimmer</Model>
          <DeviceProperties>
            <InitializeScript>MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) &gt;&gt; 8) | 128) &lt;&lt; 8));</InitializeScript>
            <ReadLevel>MODBUSR(H, 16, Int16)/1000</ReadLevel>
            <WriteLevel>MODBUSWNE(H, 16, Int16, Le*1000)</WriteLevel>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>