<?xml version="1.0" encoding="utf-8"?>
<Templates format="2" protocolVersion="83">
  <Template id="da4acb14-2e0a-4531-ba52-ca7b5b1f0b46" 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>DFRobot SEN0644 Light Sensor</Name>
    <CcuModel>ModbusRtuCCU</CcuModel>
    <Producer>DFRobot</Producer>
    <Model>SEN0644</Model>
    <Description>RS485 waterproof ambient light sensor, 0–200,000 lux, Modbus RTU.</Description>
    <Category>5</Category>
    <ImportParameters>
      <Parameter>
        <Id>SlaveId</Id>
        <Name>Modbus Slave ID</Name>
        <Value>1</Value>
      </Parameter>
    </ImportParameters>
    <Module>
      <Name>SEN0644 Light Sensor</Name>
      <Id>-1</Id>
      <Model>ModbusModule</Model>
      <DeviceProperties>
        <SlaveId>$[SlaveId]</SlaveId>
        <PrefetchModeId>0</PrefetchModeId>
      </DeviceProperties>
      <Devices>
        <Device>
          <Name>Illuminance</Name>
          <Id>-2</Id>
          <Model>ModbusVariable</Model>
          <DeviceProperties>
            <DeviceType>0</DeviceType>
            <InternalPollInterval>15000</InternalPollInterval>
            <PrefetchModeId>0</PrefetchModeId>
            <IsReadOnly>True</IsReadOnly>
            <ServiceAttributesFormulas>[{&quot;AttributeDefinition&quot;:{&quot;Name&quot;:&quot;Firmware version&quot;},&quot;ReadFormula&quot;:&quot;MODBUSR(H, 103, UInt16)&quot;}]</ServiceAttributesFormulas>
            <ServiceActionsScripts>[{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set acquisition rate&quot;,&quot;NumericParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Rate (1-20)&quot;,&quot;Abbreviation&quot;:&quot;Rt&quot;,&quot;IsFloat&quot;:false,&quot;MinValue&quot;:1,&quot;MaxValue&quot;:20}],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSWNE(H, 70, UInt16, Rt)&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set calibration enable&quot;,&quot;NumericParameters&quot;:[],&quot;BoolParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Enable calibration&quot;,&quot;Abbreviation&quot;:&quot;En&quot;,&quot;OffValueName&quot;:&quot;Disabled&quot;,&quot;OnValueName&quot;:&quot;Enabled&quot;}],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSWNE(H, 71, UInt16, En)&quot;},{&quot;ActionDefinition&quot;:{&quot;Name&quot;:&quot;Set calibration compensation&quot;,&quot;NumericParameters&quot;:[{&quot;FriendlyName&quot;:&quot;Compensation (value x100)&quot;,&quot;Abbreviation&quot;:&quot;Cc&quot;,&quot;IsFloat&quot;:false,&quot;MinValue&quot;:0,&quot;MaxValue&quot;:65535}],&quot;BoolParameters&quot;:[],&quot;EnumParameters&quot;:[]},&quot;Script&quot;:&quot;MODBUSWNE(H, 72, UInt16, Cc)&quot;}]</ServiceActionsScripts>
            <ReadState>MODBUSR(H, 2, UInt32) / 1000</ReadState>
          </DeviceProperties>
        </Device>
      </Devices>
    </Module>
  </Template>
</Templates>
