<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Smart Home Automation Forum - N20]]></title>
		<link>https://www.kincony.com/forum/</link>
		<description><![CDATA[Smart Home Automation Forum - https://www.kincony.com/forum]]></description>
		<pubDate>Mon, 13 Apr 2026 11:56:15 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[N20 wire case diagram for 1 phase load]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9204</link>
			<pubDate>Fri, 03 Apr 2026 07:34:33 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9204</guid>
			<description><![CDATA[N20 wire case diagram for 1 phase load<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9499" target="_blank" title="">N20-1-phase-1.jpg</a> (Size: 85.54 KB / Downloads: 47)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9500" target="_blank" title="">N20-1-phase-2.jpg</a> (Size: 86.41 KB / Downloads: 46)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[N20 wire case diagram for 1 phase load<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9499" target="_blank" title="">N20-1-phase-1.jpg</a> (Size: 85.54 KB / Downloads: 47)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9500" target="_blank" title="">N20-1-phase-2.jpg</a> (Size: 86.41 KB / Downloads: 46)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N60 N30 N20 N10 ARM CPU firmware V20_260324SP]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9170</link>
			<pubDate>Tue, 24 Mar 2026 12:59:27 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9170</guid>
			<description><![CDATA[fixed bug can't remember energy data when power off.<br />
you can download by bootloader.exe tool by RS485.<br />
ARM BIN file download:<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9481" target="_blank" title="">N10203060_KU_V20_260324SP.zip</a> (Size: 14.42 KB / Downloads: 30)
<!-- end: postbit_attachments_attachment --><br />
<br />
bootloader.exe tool: <br />
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" loading="lazy"  alt="[Image: zip.png]" class="mycode_img" />   <a href="https://www.kincony.com/forum/attachment.php?aid=8890" target="_blank" rel="noopener" class="mycode_url"><span style="color: #0072bc;" class="mycode_color">KC868 Controller Bootloader.zip</span></a> <br />
<img src="https://www.kincony.com/forum/attachment.php?aid=8891" loading="lazy"  alt="[Image: attachment.php?aid=8891]" class="mycode_img" />   <br />
1. set baud rate=38400bps.<br />
2. open com port.<br />
3. power on Nx board, during LED fast blink when the "bootloader Detect" button right now. Then board will go to bootloader mode.<br />
4. open BIN file<br />
5. press "Download" button, begin download firmware, after finished, press "Run" button, ARM CPU begin work.<br />
<img src="https://www.kincony.com/forum/attachment.php?aid=8892" loading="lazy"  alt="[Image: attachment.php?aid=8892]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[fixed bug can't remember energy data when power off.<br />
you can download by bootloader.exe tool by RS485.<br />
ARM BIN file download:<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9481" target="_blank" title="">N10203060_KU_V20_260324SP.zip</a> (Size: 14.42 KB / Downloads: 30)
<!-- end: postbit_attachments_attachment --><br />
<br />
bootloader.exe tool: <br />
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" loading="lazy"  alt="[Image: zip.png]" class="mycode_img" />   <a href="https://www.kincony.com/forum/attachment.php?aid=8890" target="_blank" rel="noopener" class="mycode_url"><span style="color: #0072bc;" class="mycode_color">KC868 Controller Bootloader.zip</span></a> <br />
<img src="https://www.kincony.com/forum/attachment.php?aid=8891" loading="lazy"  alt="[Image: attachment.php?aid=8891]" class="mycode_img" />   <br />
1. set baud rate=38400bps.<br />
2. open com port.<br />
3. power on Nx board, during LED fast blink when the "bootloader Detect" button right now. Then board will go to bootloader mode.<br />
4. open BIN file<br />
5. press "Download" button, begin download firmware, after finished, press "Run" button, ARM CPU begin work.<br />
<img src="https://www.kincony.com/forum/attachment.php?aid=8892" loading="lazy"  alt="[Image: attachment.php?aid=8892]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[how to read BL0910 energy chip RAW data by modbus pull via RS485]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9165</link>
			<pubDate>Tue, 24 Mar 2026 10:13:44 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9165</guid>
			<description><![CDATA[1: open NX_chip.mbp in modbus pull software.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9411" target="_blank" title="">modbus-open-config.png</a> (Size: 92.01 KB / Downloads: 39)
<!-- end: postbit_attachments_attachment --><br />
<br />
2: set COM port. you can use USB-RS485 adapter connect to your computer:<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9412" target="_blank" title="">modbus-pull-COM-setting.png</a> (Size: 87.06 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<br />
3: <br />
you can read BL0910-1 chip from address 100 , register count: 68<br />
you can read BL0910-2 chip from address 200 , register count: 68 <br />
you can read BL0910-3 chip from address 300 , register count: 68 <br />
you can read BL0910-4 chip from address 400 , register count: 68 <br />
you can read BL0910-5 chip from address 500 , register count: 68 <br />
you can read BL0910-6 chip from address 600 , register count: 68 <br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9413" target="_blank" title="">modbus-pull-read-BL0910-1.png</a> (Size: 96.25 KB / Downloads: 40)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9414" target="_blank" title="">modbus-pull-read-BL0910-2.png</a> (Size: 98.36 KB / Downloads: 42)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9415" target="_blank" title="">modbus-pull-read-BL0910-3.png</a> (Size: 94.91 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9416" target="_blank" title="">modbus-pull-read-BL0910-4.png</a> (Size: 96.68 KB / Downloads: 34)
<!-- end: postbit_attachments_attachment --> <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9417" target="_blank" title="">modbus-pull-read-BL0910-5.png</a> (Size: 95.49 KB / Downloads: 39)
<!-- end: postbit_attachments_attachment --> <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9418" target="_blank" title="">modbus-pull-read-BL0910-6.png</a> (Size: 95.27 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<br />
<img src="https://www.kincony.com/forum/attachment.php?aid=9381" loading="lazy"  alt="[Image: attachment.php?aid=9381]" class="mycode_img" /> <br />
<img src="https://www.kincony.com/forum/attachment.php?aid=9387" loading="lazy"  alt="[Image: attachment.php?aid=9387]" class="mycode_img" /><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9410" target="_blank" title="">NX_chip.zip</a> (Size: 654 bytes / Downloads: 26)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[1: open NX_chip.mbp in modbus pull software.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9411" target="_blank" title="">modbus-open-config.png</a> (Size: 92.01 KB / Downloads: 39)
<!-- end: postbit_attachments_attachment --><br />
<br />
2: set COM port. you can use USB-RS485 adapter connect to your computer:<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9412" target="_blank" title="">modbus-pull-COM-setting.png</a> (Size: 87.06 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<br />
3: <br />
you can read BL0910-1 chip from address 100 , register count: 68<br />
you can read BL0910-2 chip from address 200 , register count: 68 <br />
you can read BL0910-3 chip from address 300 , register count: 68 <br />
you can read BL0910-4 chip from address 400 , register count: 68 <br />
you can read BL0910-5 chip from address 500 , register count: 68 <br />
you can read BL0910-6 chip from address 600 , register count: 68 <br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9413" target="_blank" title="">modbus-pull-read-BL0910-1.png</a> (Size: 96.25 KB / Downloads: 40)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9414" target="_blank" title="">modbus-pull-read-BL0910-2.png</a> (Size: 98.36 KB / Downloads: 42)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9415" target="_blank" title="">modbus-pull-read-BL0910-3.png</a> (Size: 94.91 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9416" target="_blank" title="">modbus-pull-read-BL0910-4.png</a> (Size: 96.68 KB / Downloads: 34)
<!-- end: postbit_attachments_attachment --> <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9417" target="_blank" title="">modbus-pull-read-BL0910-5.png</a> (Size: 95.49 KB / Downloads: 39)
<!-- end: postbit_attachments_attachment --> <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9418" target="_blank" title="">modbus-pull-read-BL0910-6.png</a> (Size: 95.27 KB / Downloads: 37)
<!-- end: postbit_attachments_attachment --><br />
<br />
<img src="https://www.kincony.com/forum/attachment.php?aid=9381" loading="lazy"  alt="[Image: attachment.php?aid=9381]" class="mycode_img" /> <br />
<img src="https://www.kincony.com/forum/attachment.php?aid=9387" loading="lazy"  alt="[Image: attachment.php?aid=9387]" class="mycode_img" /><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9410" target="_blank" title="">NX_chip.zip</a> (Size: 654 bytes / Downloads: 26)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 configure yaml for ESPhome 0.001kwh precision]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9155</link>
			<pubDate>Mon, 23 Mar 2026 09:56:10 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9155</guid>
			<description><![CDATA[note: ARM CPU firmware version should &gt;= V20_260305SP<br />
ARM CPU firmware download: <a href="https://www.kincony.com/forum/showthread.php?tid=9107" target="_blank" rel="noopener" class="mycode_url"><span style="color: #0072bc;" class="mycode_color">https://www.kincony.com/forum/showthread.php?tid=9107</span></a> <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>esphome:<br />
  name: n20<br />
  friendly_name: n20<br />
<br />
esp32:<br />
  board: esp32-s3-devkitc-1<br />
  framework:<br />
    type: arduino<br />
<br />
logger:<br />
  # baud_rate: 0<br />
<br />
api:<br />
<br />
ota:<br />
  platform: esphome<br />
<br />
ethernet:<br />
  type: W5500<br />
  clk_pin: GPIO42<br />
  mosi_pin: GPIO43<br />
  miso_pin: GPIO44<br />
  cs_pin: GPIO41<br />
  interrupt_pin: GPIO2<br />
  reset_pin: GPIO1<br />
<br />
uart:<br />
  id: uart_modbus<br />
  rx_pin: 9<br />
  tx_pin: 10<br />
  baud_rate: 115200<br />
  stop_bits: 1<br />
  data_bits: 8<br />
  parity: NONE<br />
<br />
web_server:<br />
  port: 80<br />
<br />
text_sensor:<br />
  - platform: ethernet_info<br />
    ip_address:<br />
      name: ESP IP Address<br />
      id: eth_ip<br />
    dns_address:<br />
      name: ESP DNS Address<br />
    mac_address:<br />
      name: ESP MAC Address<br />
<br />
font:<br />
  - file: "gfonts://Roboto"<br />
    id: roboto<br />
    size: 15<br />
<br />
i2c:<br />
  sda: 18<br />
  scl: 17<br />
<br />
display:<br />
  - platform: ssd1306_i2c<br />
    model: "SSD1306 128x64"<br />
    address: 0x3C<br />
    lambda: |-<br />
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());<br />
<br />
modbus:<br />
  id: mb1<br />
  uart_id: uart_modbus<br />
<br />
modbus_controller:<br />
  - id: energy_meter<br />
    modbus_id: mb1<br />
    address: 1<br />
    update_interval: 5s<br />
    command_throttle: 200ms<br />
<br />
sensor:<br />
  # Protocol notes for this PR:<br />
  # - current: U_DWORD_R, scaled by 0.001 A<br />
  # - power: &nbsp;&nbsp;S_DWORD_R, scaled by 0.1 W<br />
  # - energy:  FP32_R, unit kWh<br />
  # - voltage/frequency remain U_WORD * 0.01<br />
  # - temperature remains FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 100<br />
    register_type: holding<br />
    name: bl0910_1_current_1<br />
    id: n20_1_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 102<br />
    register_type: holding<br />
    name: bl0910_1_current_2<br />
    id: n20_1_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 104<br />
    register_type: holding<br />
    name: bl0910_1_current_3<br />
    id: n20_1_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 106<br />
    register_type: holding<br />
    name: bl0910_1_current_4<br />
    id: n20_1_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 108<br />
    register_type: holding<br />
    name: bl0910_1_current_5<br />
    id: n20_1_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 110<br />
    register_type: holding<br />
    name: bl0910_1_current_6<br />
    id: n20_1_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 112<br />
    register_type: holding<br />
    name: bl0910_1_current_7<br />
    id: n20_1_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 114<br />
    register_type: holding<br />
    name: bl0910_1_current_8<br />
    id: n20_1_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 116<br />
    register_type: holding<br />
    name: bl0910_1_current_9<br />
    id: n20_1_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 118<br />
    register_type: holding<br />
    name: bl0910_1_current_10<br />
    id: n20_1_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 120<br />
    register_type: holding<br />
    name: bl0910_1_power_1<br />
    id: n20_1_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 122<br />
    register_type: holding<br />
    name: bl0910_1_power_2<br />
    id: n20_1_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 124<br />
    register_type: holding<br />
    name: bl0910_1_power_3<br />
    id: n20_1_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 126<br />
    register_type: holding<br />
    name: bl0910_1_power_4<br />
    id: n20_1_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 128<br />
    register_type: holding<br />
    name: bl0910_1_power_5<br />
    id: n20_1_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 130<br />
    register_type: holding<br />
    name: bl0910_1_power_6<br />
    id: n20_1_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 132<br />
    register_type: holding<br />
    name: bl0910_1_power_7<br />
    id: n20_1_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 134<br />
    register_type: holding<br />
    name: bl0910_1_power_8<br />
    id: n20_1_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 136<br />
    register_type: holding<br />
    name: bl0910_1_power_9<br />
    id: n20_1_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 138<br />
    register_type: holding<br />
    name: bl0910_1_power_10<br />
    id: n20_1_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 140<br />
    register_type: holding<br />
    name: bl0910_1_energy_1<br />
    id: n20_1_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 142<br />
    register_type: holding<br />
    name: bl0910_1_energy_2<br />
    id: n20_1_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 144<br />
    register_type: holding<br />
    name: bl0910_1_energy_3<br />
    id: n20_1_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 146<br />
    register_type: holding<br />
    name: bl0910_1_energy_4<br />
    id: n20_1_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 148<br />
    register_type: holding<br />
    name: bl0910_1_energy_5<br />
    id: n20_1_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 150<br />
    register_type: holding<br />
    name: bl0910_1_energy_6<br />
    id: n20_1_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 152<br />
    register_type: holding<br />
    name: bl0910_1_energy_7<br />
    id: n20_1_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 154<br />
    register_type: holding<br />
    name: bl0910_1_energy_8<br />
    id: n20_1_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 156<br />
    register_type: holding<br />
    name: bl0910_1_energy_9<br />
    id: n20_1_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 158<br />
    register_type: holding<br />
    name: bl0910_1_energy_10<br />
    id: n20_1_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 160<br />
    register_type: holding<br />
    name: bl0910_1_energy_sum<br />
    id: n20_1_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 162<br />
    register_type: holding<br />
    name: bl0910_1_voltage<br />
    id: n20_1_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 163<br />
    register_type: holding<br />
    name: bl0910_1_frequency<br />
    id: n20_1_frequency<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 164<br />
    register_type: holding<br />
    name: bl0910_1_temperature<br />
    id: n20_1_temperature<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 166<br />
    register_type: holding<br />
    name: bl0910_1_power_factor<br />
    id: n20_1_power_factor<br />
    accuracy_decimals: 3<br />
    state_class: measurement<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 200<br />
    register_type: holding<br />
    name: bl0910_2_current_1<br />
    id: n20_2_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 202<br />
    register_type: holding<br />
    name: bl0910_2_current_2<br />
    id: n20_2_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 204<br />
    register_type: holding<br />
    name: bl0910_2_current_3<br />
    id: n20_2_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 206<br />
    register_type: holding<br />
    name: bl0910_2_current_4<br />
    id: n20_2_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 208<br />
    register_type: holding<br />
    name: bl0910_2_current_5<br />
    id: n20_2_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 210<br />
    register_type: holding<br />
    name: bl0910_2_current_6<br />
    id: n20_2_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 212<br />
    register_type: holding<br />
    name: bl0910_2_current_7<br />
    id: n20_2_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 214<br />
    register_type: holding<br />
    name: bl0910_2_current_8<br />
    id: n20_2_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 216<br />
    register_type: holding<br />
    name: bl0910_2_current_9<br />
    id: n20_2_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 218<br />
    register_type: holding<br />
    name: bl0910_2_current_10<br />
    id: n20_2_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 220<br />
    register_type: holding<br />
    name: bl0910_2_power_1<br />
    id: n20_2_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 222<br />
    register_type: holding<br />
    name: bl0910_2_power_2<br />
    id: n20_2_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 224<br />
    register_type: holding<br />
    name: bl0910_2_power_3<br />
    id: n20_2_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 226<br />
    register_type: holding<br />
    name: bl0910_2_power_4<br />
    id: n20_2_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 228<br />
    register_type: holding<br />
    name: bl0910_2_power_5<br />
    id: n20_2_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 230<br />
    register_type: holding<br />
    name: bl0910_2_power_6<br />
    id: n20_2_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 232<br />
    register_type: holding<br />
    name: bl0910_2_power_7<br />
    id: n20_2_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 234<br />
    register_type: holding<br />
    name: bl0910_2_power_8<br />
    id: n20_2_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 236<br />
    register_type: holding<br />
    name: bl0910_2_power_9<br />
    id: n20_2_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 238<br />
    register_type: holding<br />
    name: bl0910_2_power_10<br />
    id: n20_2_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 240<br />
    register_type: holding<br />
    name: bl0910_2_energy_1<br />
    id: n20_2_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 242<br />
    register_type: holding<br />
    name: bl0910_2_energy_2<br />
    id: n20_2_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 244<br />
    register_type: holding<br />
    name: bl0910_2_energy_3<br />
    id: n20_2_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 246<br />
    register_type: holding<br />
    name: bl0910_2_energy_4<br />
    id: n20_2_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 248<br />
    register_type: holding<br />
    name: bl0910_2_energy_5<br />
    id: n20_2_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 250<br />
    register_type: holding<br />
    name: bl0910_2_energy_6<br />
    id: n20_2_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 252<br />
    register_type: holding<br />
    name: bl0910_2_energy_7<br />
    id: n20_2_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 254<br />
    register_type: holding<br />
    name: bl0910_2_energy_8<br />
    id: n20_2_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 256<br />
    register_type: holding<br />
    name: bl0910_2_energy_9<br />
    id: n20_2_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 258<br />
    register_type: holding<br />
    name: bl0910_2_energy_10<br />
    id: n20_2_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 260<br />
    register_type: holding<br />
    name: bl0910_2_energy_sum<br />
    id: n20_2_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 262<br />
    register_type: holding<br />
    name: bl0910_2_voltage<br />
    id: n20_2_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 263<br />
    register_type: holding<br />
    name: bl0910_2_frequency<br />
    id: n20_2_frequency<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 264<br />
    register_type: holding<br />
    name: bl0910_2_temperature<br />
    id: n20_2_temperature<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 266<br />
    register_type: holding<br />
    name: bl0910_2_power_factor<br />
    id: n20_2_power_factor<br />
    accuracy_decimals: 3<br />
    state_class: measurement<br />
    value_type: FP32_R</code></div></div> yaml download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9374" target="_blank" title="">n20_esphome.txt</a> (Size: 23.27 KB / Downloads: 31)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[note: ARM CPU firmware version should &gt;= V20_260305SP<br />
ARM CPU firmware download: <a href="https://www.kincony.com/forum/showthread.php?tid=9107" target="_blank" rel="noopener" class="mycode_url"><span style="color: #0072bc;" class="mycode_color">https://www.kincony.com/forum/showthread.php?tid=9107</span></a> <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>esphome:<br />
  name: n20<br />
  friendly_name: n20<br />
<br />
esp32:<br />
  board: esp32-s3-devkitc-1<br />
  framework:<br />
    type: arduino<br />
<br />
logger:<br />
  # baud_rate: 0<br />
<br />
api:<br />
<br />
ota:<br />
  platform: esphome<br />
<br />
ethernet:<br />
  type: W5500<br />
  clk_pin: GPIO42<br />
  mosi_pin: GPIO43<br />
  miso_pin: GPIO44<br />
  cs_pin: GPIO41<br />
  interrupt_pin: GPIO2<br />
  reset_pin: GPIO1<br />
<br />
uart:<br />
  id: uart_modbus<br />
  rx_pin: 9<br />
  tx_pin: 10<br />
  baud_rate: 115200<br />
  stop_bits: 1<br />
  data_bits: 8<br />
  parity: NONE<br />
<br />
web_server:<br />
  port: 80<br />
<br />
text_sensor:<br />
  - platform: ethernet_info<br />
    ip_address:<br />
      name: ESP IP Address<br />
      id: eth_ip<br />
    dns_address:<br />
      name: ESP DNS Address<br />
    mac_address:<br />
      name: ESP MAC Address<br />
<br />
font:<br />
  - file: "gfonts://Roboto"<br />
    id: roboto<br />
    size: 15<br />
<br />
i2c:<br />
  sda: 18<br />
  scl: 17<br />
<br />
display:<br />
  - platform: ssd1306_i2c<br />
    model: "SSD1306 128x64"<br />
    address: 0x3C<br />
    lambda: |-<br />
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());<br />
<br />
modbus:<br />
  id: mb1<br />
  uart_id: uart_modbus<br />
<br />
modbus_controller:<br />
  - id: energy_meter<br />
    modbus_id: mb1<br />
    address: 1<br />
    update_interval: 5s<br />
    command_throttle: 200ms<br />
<br />
sensor:<br />
  # Protocol notes for this PR:<br />
  # - current: U_DWORD_R, scaled by 0.001 A<br />
  # - power: &nbsp;&nbsp;S_DWORD_R, scaled by 0.1 W<br />
  # - energy:  FP32_R, unit kWh<br />
  # - voltage/frequency remain U_WORD * 0.01<br />
  # - temperature remains FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 100<br />
    register_type: holding<br />
    name: bl0910_1_current_1<br />
    id: n20_1_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 102<br />
    register_type: holding<br />
    name: bl0910_1_current_2<br />
    id: n20_1_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 104<br />
    register_type: holding<br />
    name: bl0910_1_current_3<br />
    id: n20_1_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 106<br />
    register_type: holding<br />
    name: bl0910_1_current_4<br />
    id: n20_1_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 108<br />
    register_type: holding<br />
    name: bl0910_1_current_5<br />
    id: n20_1_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 110<br />
    register_type: holding<br />
    name: bl0910_1_current_6<br />
    id: n20_1_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 112<br />
    register_type: holding<br />
    name: bl0910_1_current_7<br />
    id: n20_1_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 114<br />
    register_type: holding<br />
    name: bl0910_1_current_8<br />
    id: n20_1_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 116<br />
    register_type: holding<br />
    name: bl0910_1_current_9<br />
    id: n20_1_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 118<br />
    register_type: holding<br />
    name: bl0910_1_current_10<br />
    id: n20_1_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 120<br />
    register_type: holding<br />
    name: bl0910_1_power_1<br />
    id: n20_1_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 122<br />
    register_type: holding<br />
    name: bl0910_1_power_2<br />
    id: n20_1_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 124<br />
    register_type: holding<br />
    name: bl0910_1_power_3<br />
    id: n20_1_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 126<br />
    register_type: holding<br />
    name: bl0910_1_power_4<br />
    id: n20_1_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 128<br />
    register_type: holding<br />
    name: bl0910_1_power_5<br />
    id: n20_1_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 130<br />
    register_type: holding<br />
    name: bl0910_1_power_6<br />
    id: n20_1_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 132<br />
    register_type: holding<br />
    name: bl0910_1_power_7<br />
    id: n20_1_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 134<br />
    register_type: holding<br />
    name: bl0910_1_power_8<br />
    id: n20_1_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 136<br />
    register_type: holding<br />
    name: bl0910_1_power_9<br />
    id: n20_1_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 138<br />
    register_type: holding<br />
    name: bl0910_1_power_10<br />
    id: n20_1_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 140<br />
    register_type: holding<br />
    name: bl0910_1_energy_1<br />
    id: n20_1_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 142<br />
    register_type: holding<br />
    name: bl0910_1_energy_2<br />
    id: n20_1_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 144<br />
    register_type: holding<br />
    name: bl0910_1_energy_3<br />
    id: n20_1_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 146<br />
    register_type: holding<br />
    name: bl0910_1_energy_4<br />
    id: n20_1_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 148<br />
    register_type: holding<br />
    name: bl0910_1_energy_5<br />
    id: n20_1_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 150<br />
    register_type: holding<br />
    name: bl0910_1_energy_6<br />
    id: n20_1_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 152<br />
    register_type: holding<br />
    name: bl0910_1_energy_7<br />
    id: n20_1_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 154<br />
    register_type: holding<br />
    name: bl0910_1_energy_8<br />
    id: n20_1_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 156<br />
    register_type: holding<br />
    name: bl0910_1_energy_9<br />
    id: n20_1_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 158<br />
    register_type: holding<br />
    name: bl0910_1_energy_10<br />
    id: n20_1_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 160<br />
    register_type: holding<br />
    name: bl0910_1_energy_sum<br />
    id: n20_1_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 162<br />
    register_type: holding<br />
    name: bl0910_1_voltage<br />
    id: n20_1_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 163<br />
    register_type: holding<br />
    name: bl0910_1_frequency<br />
    id: n20_1_frequency<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 164<br />
    register_type: holding<br />
    name: bl0910_1_temperature<br />
    id: n20_1_temperature<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 166<br />
    register_type: holding<br />
    name: bl0910_1_power_factor<br />
    id: n20_1_power_factor<br />
    accuracy_decimals: 3<br />
    state_class: measurement<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 200<br />
    register_type: holding<br />
    name: bl0910_2_current_1<br />
    id: n20_2_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 202<br />
    register_type: holding<br />
    name: bl0910_2_current_2<br />
    id: n20_2_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 204<br />
    register_type: holding<br />
    name: bl0910_2_current_3<br />
    id: n20_2_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 206<br />
    register_type: holding<br />
    name: bl0910_2_current_4<br />
    id: n20_2_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 208<br />
    register_type: holding<br />
    name: bl0910_2_current_5<br />
    id: n20_2_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 210<br />
    register_type: holding<br />
    name: bl0910_2_current_6<br />
    id: n20_2_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 212<br />
    register_type: holding<br />
    name: bl0910_2_current_7<br />
    id: n20_2_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 214<br />
    register_type: holding<br />
    name: bl0910_2_current_8<br />
    id: n20_2_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 216<br />
    register_type: holding<br />
    name: bl0910_2_current_9<br />
    id: n20_2_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 218<br />
    register_type: holding<br />
    name: bl0910_2_current_10<br />
    id: n20_2_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    state_class: measurement<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 220<br />
    register_type: holding<br />
    name: bl0910_2_power_1<br />
    id: n20_2_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 222<br />
    register_type: holding<br />
    name: bl0910_2_power_2<br />
    id: n20_2_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 224<br />
    register_type: holding<br />
    name: bl0910_2_power_3<br />
    id: n20_2_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 226<br />
    register_type: holding<br />
    name: bl0910_2_power_4<br />
    id: n20_2_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 228<br />
    register_type: holding<br />
    name: bl0910_2_power_5<br />
    id: n20_2_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 230<br />
    register_type: holding<br />
    name: bl0910_2_power_6<br />
    id: n20_2_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 232<br />
    register_type: holding<br />
    name: bl0910_2_power_7<br />
    id: n20_2_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 234<br />
    register_type: holding<br />
    name: bl0910_2_power_8<br />
    id: n20_2_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 236<br />
    register_type: holding<br />
    name: bl0910_2_power_9<br />
    id: n20_2_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 238<br />
    register_type: holding<br />
    name: bl0910_2_power_10<br />
    id: n20_2_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: S_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 240<br />
    register_type: holding<br />
    name: bl0910_2_energy_1<br />
    id: n20_2_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 242<br />
    register_type: holding<br />
    name: bl0910_2_energy_2<br />
    id: n20_2_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 244<br />
    register_type: holding<br />
    name: bl0910_2_energy_3<br />
    id: n20_2_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 246<br />
    register_type: holding<br />
    name: bl0910_2_energy_4<br />
    id: n20_2_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 248<br />
    register_type: holding<br />
    name: bl0910_2_energy_5<br />
    id: n20_2_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 250<br />
    register_type: holding<br />
    name: bl0910_2_energy_6<br />
    id: n20_2_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 252<br />
    register_type: holding<br />
    name: bl0910_2_energy_7<br />
    id: n20_2_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 254<br />
    register_type: holding<br />
    name: bl0910_2_energy_8<br />
    id: n20_2_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 256<br />
    register_type: holding<br />
    name: bl0910_2_energy_9<br />
    id: n20_2_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 258<br />
    register_type: holding<br />
    name: bl0910_2_energy_10<br />
    id: n20_2_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 260<br />
    register_type: holding<br />
    name: bl0910_2_energy_sum<br />
    id: n20_2_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    state_class: total_increasing<br />
    accuracy_decimals: 3<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 262<br />
    register_type: holding<br />
    name: bl0910_2_voltage<br />
    id: n20_2_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 263<br />
    register_type: holding<br />
    name: bl0910_2_frequency<br />
    id: n20_2_frequency<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    state_class: measurement<br />
    accuracy_decimals: 2<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 264<br />
    register_type: holding<br />
    name: bl0910_2_temperature<br />
    id: n20_2_temperature<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    state_class: measurement<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    modbus_controller_id: energy_meter<br />
    address: 266<br />
    register_type: holding<br />
    name: bl0910_2_power_factor<br />
    id: n20_2_power_factor<br />
    accuracy_decimals: 3<br />
    state_class: measurement<br />
    value_type: FP32_R</code></div></div> yaml download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9374" target="_blank" title="">n20_esphome.txt</a> (Size: 23.27 KB / Downloads: 31)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Monitor 1 shows power=0 while Monitor 2 shows correct values]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9123</link>
			<pubDate>Sun, 15 Mar 2026 23:48:35 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10514">tombueng</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9123</guid>
			<description><![CDATA[My Monitor 1 shows Power=0 for all channels even if there is current which is wrong.<br />
Monitor 2 shows values correctly.<br />
<br />
Voltage  / Freq  226V, 50Hz is shown on both inputs (both connect to the same phase)<br />
<br />
Protocol -&gt; Energy has the same values for Energy 1 and 2 for all of the values of <span style="color: #4d5259;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Current Factor=0.5, Power Factor=1, Energy Factor=1<br />
<br />
Firmware  v3.22.0 <br />
</span></span></span><br />
What might be the Problem?<br />
<br />
Is there no OTA-Update available?  Do I need to connect a via USB PC to Update the Firmware?]]></description>
			<content:encoded><![CDATA[My Monitor 1 shows Power=0 for all channels even if there is current which is wrong.<br />
Monitor 2 shows values correctly.<br />
<br />
Voltage  / Freq  226V, 50Hz is shown on both inputs (both connect to the same phase)<br />
<br />
Protocol -&gt; Energy has the same values for Energy 1 and 2 for all of the values of <span style="color: #4d5259;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Current Factor=0.5, Power Factor=1, Energy Factor=1<br />
<br />
Firmware  v3.22.0 <br />
</span></span></span><br />
What might be the Problem?<br />
<br />
Is there no OTA-Update available?  Do I need to connect a via USB PC to Update the Firmware?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Multiple phase L1,L2,L3]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9088</link>
			<pubDate>Wed, 04 Mar 2026 22:43:37 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10514">tombueng</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9088</guid>
			<description><![CDATA[Hi,<br />
<br />
do the L1,L2 Input need to correlate to the current measured?<br />
<br />
I.e., when attaching L1 to Block 1 and L2 to Block 2,<br />
must i only measure L1 currents on CT #1-10 and L2 on CT #2-20?<br />
Or is the L1,L2 only used for voltage measurement to be able to calculate P=U*I from that?<br />
<br />
Or can I mix this? e.g. measaure L1,L2,L3 (e.g. for the oven) with Inputs #1,#2 and #3?<br />
<br />
BR<br />
Thomas]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
do the L1,L2 Input need to correlate to the current measured?<br />
<br />
I.e., when attaching L1 to Block 1 and L2 to Block 2,<br />
must i only measure L1 currents on CT #1-10 and L2 on CT #2-20?<br />
Or is the L1,L2 only used for voltage measurement to be able to calculate P=U*I from that?<br />
<br />
Or can I mix this? e.g. measaure L1,L2,L3 (e.g. for the oven) with Inputs #1,#2 and #3?<br />
<br />
BR<br />
Thomas]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 CT Shorting terminal board]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8883</link>
			<pubDate>Mon, 05 Jan 2026 12:41:52 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10028">WestCoastXS</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8883</guid>
			<description><![CDATA[Generally current transformers should have the ability to be shorted in order to perform maintenance. Disconnecting a current transformer while it is installed on a current carrying conductor can result in damage, although at residential current levels this is not as likely.<br />
<br />
Often shorting terminal strips are used but on a whim I've decided to make my own shorting terminal block tailored for my N20.<br />
Components are almost all on hand.<br />
Waiting for a DIN rail mounted pcb holder to arrive.<br />
Once that shows up I'll confirm measurements and send the circuit board design for fabrication.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8909" target="_blank" title="">CT Shorting Board.jpg</a> (Size: 103.62 KB / Downloads: 153)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Generally current transformers should have the ability to be shorted in order to perform maintenance. Disconnecting a current transformer while it is installed on a current carrying conductor can result in damage, although at residential current levels this is not as likely.<br />
<br />
Often shorting terminal strips are used but on a whim I've decided to make my own shorting terminal block tailored for my N20.<br />
Components are almost all on hand.<br />
Waiting for a DIN rail mounted pcb holder to arrive.<br />
Once that shows up I'll confirm measurements and send the circuit board design for fabrication.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8909" target="_blank" title="">CT Shorting Board.jpg</a> (Size: 103.62 KB / Downloads: 153)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 Problem with Home Assistant Conection]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8845</link>
			<pubDate>Sat, 27 Dec 2025 16:26:47 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10119">Luismical1</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8845</guid>
			<description><![CDATA[Hello, I recently received an N20. I have access to it via Ethernet, but I can't connect it to "kinconyn20.local" nor can I connect it to Home Assistant. The strange thing is that it connects via MQTT from Home Assistant.<br />
<br />
As soon as the device arrived, I flashed it to version v3 3.18.0. Its IP address is 192.168.3.78 (within my network range, OK), and its Wi-Fi access point is 192.168.4.1.<br />
<br />
Is the problem that it can't access "kinconyn20.local"? Why doesn't Home Assistant recognize it?<br />
<br />
I need to check the configuration of the CT clamps, as well as the L1 and L2 power inputs, which are not appearing.<br />
<br />
I'm Spanish, sorry for the autotranslated English.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8860" target="_blank" title="">Resumen – Home Assistant.jpeg 1.png</a> (Size: 410.18 KB / Downloads: 158)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8861" target="_blank" title="">ESPHome Builder – Home Assistant.jpeg.png</a> (Size: 449.11 KB / Downloads: 161)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8862" target="_blank" title="">Resumen – Home Assistant.jpeg.png</a> (Size: 240.21 KB / Downloads: 155)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Hello, I recently received an N20. I have access to it via Ethernet, but I can't connect it to "kinconyn20.local" nor can I connect it to Home Assistant. The strange thing is that it connects via MQTT from Home Assistant.<br />
<br />
As soon as the device arrived, I flashed it to version v3 3.18.0. Its IP address is 192.168.3.78 (within my network range, OK), and its Wi-Fi access point is 192.168.4.1.<br />
<br />
Is the problem that it can't access "kinconyn20.local"? Why doesn't Home Assistant recognize it?<br />
<br />
I need to check the configuration of the CT clamps, as well as the L1 and L2 power inputs, which are not appearing.<br />
<br />
I'm Spanish, sorry for the autotranslated English.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8860" target="_blank" title="">Resumen – Home Assistant.jpeg 1.png</a> (Size: 410.18 KB / Downloads: 158)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8861" target="_blank" title="">ESPHome Builder – Home Assistant.jpeg.png</a> (Size: 449.11 KB / Downloads: 161)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8862" target="_blank" title="">Resumen – Home Assistant.jpeg.png</a> (Size: 240.21 KB / Downloads: 155)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 ESPHome YAML Updated and Tailored for 120/240V Split Phase]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8824</link>
			<pubDate>Wed, 17 Dec 2025 13:04:37 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10028">WestCoastXS</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8824</guid>
			<description><![CDATA[Hi,<br />
<br />
I am an electrician in Canada that dabbles in smart home equipment and programming.<br />
<br />
I wanted to get better power consumption data into my Home Assistant and eventually settled on the N20.<br />
The N20 has two voltage inputs so should be well suited to typical residential services in North America which are usually 120/240V split phase.<br />
That is two hot lines, each 120 volts to neutral/ground but 240V between each other.<br />
<br />
After getting the yaml provided on this forum installed I discovered a shortcoming when used in this fashion.<br />
<br />
The N20 uses two BL0910 chips which each have 10 current transformer inputs and 1 voltage sensing input (1 BL0910 on the N10 and 3 on the N30 which would be good for 3-phase monitoring).<br />
Each  BL0910  chip does calculations internally to provide watts and kWh but those calculations are done based on the single voltage input on each chip.<br />
<br />
This is not a problem when one uses two current transformers, one for each hot line, but for a purely 240V load only a single current transformer is required.<br />
Except the BL0910 chip calculates the watts based only on that single voltage input, 120V rather than 240V.<br />
<br />
This yaml makes a few changes to tailor the firmware for typical USA/Canadian 120/240V residential services.<br />
<br />
#1. Sensors have been renamed to aid readability.<br />
bl0910_1_current_1 becomes CT1_1_Current<br />
bl0910_1_power_1 becomes CT1_1_Power (or CT1_1_Power_HV when the power is based on a higher 240V circuit)<br />
bl0910_2_power_1 becomes CT2_1_Power<br />
<br />
The labelling on the outside of the unit lists CT1 to 11 and CT11-20 but I believe retaining the separation between BL0910 chip #1 and chip #2 is still important conceptually so went with CT1 1-10 and CT2 1-10.<br />
<br />
#2 The renaming results in reordering of the entities in Home Assistant. Originally it would list currents 1-10, then watts 1-10, etc. Now all 3 sensors for each input is grouped and easily visible at a glance rather than scrolling 10 entries down.<br />
<br />
#3 Reconfigured to use wifi rather than ethernet. Deleted unnecessary(?) text sensors for unused IP addresses.<br />
<br />
#4 The OLED screen. Originally it only displayed the unit's IP address. <br />
Now it shows the IP address, Line 1 &amp; 2 voltages, Line-to-line voltage, L1 watts and L2 watts.<br />
For Line 1 &amp; 2 watts I have CTs on my main panel feeder to get the whole house consumption. If you do not have CTs this could be changed to a specific load or commented out.<br />
<br />
#5 This is one of the important ones. A sensor has been added that adds together voltage 1 and voltage 2 to get the Line-to-Line voltage. This is trivial to do with a helper in Home Assistant but having a dedicated sensor is nice and is also vital for the next change.<br />
<br />
#6 I've added commented-out sections for each current sensor input that multiply the current by the Line-to-Line voltage for 240V loads using single current transformers. <br />
Simply delete or comment out the original sensor entry for 120V loads and uncomment the 240V entry.<br />
The new entities add "HV" to their name to indicate the watts are derived from 240V rather than 120V.<br />
<br />
#7 At this time I have not looked into a way to fix the kWh sensors to accommodate 240V loads but I suspect it should be possible.<br />
In the meantime I've added comments indicating the kWh sensors should be commented out if a single CT is used for a 240V load.<br />
kWh tracking is also trivial in Home Assistant so I'm not in a hurry to figure this one out.<br />
<br />
If anyone has feedback or modifications please share here.<br />
Please give credit if my modified yaml is shared elsewhere. Thank you<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8833" target="_blank" title="">KinCony North America 120-240V split phase.txt</a> (Size: 35.66 KB / Downloads: 111)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8836" target="_blank" title="">20251216_212002.jpg</a> (Size: 132.3 KB / Downloads: 120)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am an electrician in Canada that dabbles in smart home equipment and programming.<br />
<br />
I wanted to get better power consumption data into my Home Assistant and eventually settled on the N20.<br />
The N20 has two voltage inputs so should be well suited to typical residential services in North America which are usually 120/240V split phase.<br />
That is two hot lines, each 120 volts to neutral/ground but 240V between each other.<br />
<br />
After getting the yaml provided on this forum installed I discovered a shortcoming when used in this fashion.<br />
<br />
The N20 uses two BL0910 chips which each have 10 current transformer inputs and 1 voltage sensing input (1 BL0910 on the N10 and 3 on the N30 which would be good for 3-phase monitoring).<br />
Each  BL0910  chip does calculations internally to provide watts and kWh but those calculations are done based on the single voltage input on each chip.<br />
<br />
This is not a problem when one uses two current transformers, one for each hot line, but for a purely 240V load only a single current transformer is required.<br />
Except the BL0910 chip calculates the watts based only on that single voltage input, 120V rather than 240V.<br />
<br />
This yaml makes a few changes to tailor the firmware for typical USA/Canadian 120/240V residential services.<br />
<br />
#1. Sensors have been renamed to aid readability.<br />
bl0910_1_current_1 becomes CT1_1_Current<br />
bl0910_1_power_1 becomes CT1_1_Power (or CT1_1_Power_HV when the power is based on a higher 240V circuit)<br />
bl0910_2_power_1 becomes CT2_1_Power<br />
<br />
The labelling on the outside of the unit lists CT1 to 11 and CT11-20 but I believe retaining the separation between BL0910 chip #1 and chip #2 is still important conceptually so went with CT1 1-10 and CT2 1-10.<br />
<br />
#2 The renaming results in reordering of the entities in Home Assistant. Originally it would list currents 1-10, then watts 1-10, etc. Now all 3 sensors for each input is grouped and easily visible at a glance rather than scrolling 10 entries down.<br />
<br />
#3 Reconfigured to use wifi rather than ethernet. Deleted unnecessary(?) text sensors for unused IP addresses.<br />
<br />
#4 The OLED screen. Originally it only displayed the unit's IP address. <br />
Now it shows the IP address, Line 1 &amp; 2 voltages, Line-to-line voltage, L1 watts and L2 watts.<br />
For Line 1 &amp; 2 watts I have CTs on my main panel feeder to get the whole house consumption. If you do not have CTs this could be changed to a specific load or commented out.<br />
<br />
#5 This is one of the important ones. A sensor has been added that adds together voltage 1 and voltage 2 to get the Line-to-Line voltage. This is trivial to do with a helper in Home Assistant but having a dedicated sensor is nice and is also vital for the next change.<br />
<br />
#6 I've added commented-out sections for each current sensor input that multiply the current by the Line-to-Line voltage for 240V loads using single current transformers. <br />
Simply delete or comment out the original sensor entry for 120V loads and uncomment the 240V entry.<br />
The new entities add "HV" to their name to indicate the watts are derived from 240V rather than 120V.<br />
<br />
#7 At this time I have not looked into a way to fix the kWh sensors to accommodate 240V loads but I suspect it should be possible.<br />
In the meantime I've added comments indicating the kWh sensors should be commented out if a single CT is used for a 240V load.<br />
kWh tracking is also trivial in Home Assistant so I'm not in a hurry to figure this one out.<br />
<br />
If anyone has feedback or modifications please share here.<br />
Please give credit if my modified yaml is shared elsewhere. Thank you<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8833" target="_blank" title="">KinCony North America 120-240V split phase.txt</a> (Size: 35.66 KB / Downloads: 111)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8836" target="_blank" title="">20251216_212002.jpg</a> (Size: 132.3 KB / Downloads: 120)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 ESPHome & HA - Line to Line voltage?]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8803</link>
			<pubDate>Wed, 10 Dec 2025 10:52:12 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10028">WestCoastXS</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8803</guid>
			<description><![CDATA[Hello,<br />
<br />
I have just received my N20.<br />
Not very experienced with ESPHome but I did get firmware compiled and the unit is working over Wifi rather than ethernet.<br />
<br />
I am in Canada. My electrical service is 120V/240V split phase.<br />
Line 1 to ground is ~120V, line 2 to ground is ~120V, and L1 to L2 is ~240V.<br />
<br />
I bought the N20 with its two voltage inputs in the hope that I could measure both 120V circuits and 240V circuits.<br />
<br />
Is there a way to change to configuration for <span style="text-decoration: underline;" class="mycode_u">individual</span> watt and kWh sensors to use the Line 1 plus Line 2 voltages?<br />
<br />
So for example right now I have a 240V 4000W heater running.<br />
There is no 120V load and no neutral so it only needs a single CT, but the voltage is the sum of L1 &amp; L2.<br />
<br />
For example my sensors currently read:<br />
bl0910_1_current_1: 16.086A<br />
bl0910_1_power_1: 1874.9W (incorrect)<br />
bl0910_1_voltage: 117.3V<br />
<br />
And also:<br />
bl0910_2_voltage: 118.2V <br />
<br />
The kWh would also be incorrect.<br />
<br />
Can I adjust the yaml so that it calculates bl0910_1_power_1 based on  bl0910_1_voltage PLUS  bl0910_2_voltage?<br />
But ONLY for that specific CT input?<br />
So that other CTs on 120V circuits still calculate correctly?<br />
<br />
It seems like it may be able to calculate this within Home Assistant.<br />
I've already made a helper that adds the two voltage sensors together.<br />
But they don't seem to have implemented the multiplication/product helper.<br />
<br />
It would be immensely simpler if it could be implemented in the yaml.<br />
<br />
Thank you]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I have just received my N20.<br />
Not very experienced with ESPHome but I did get firmware compiled and the unit is working over Wifi rather than ethernet.<br />
<br />
I am in Canada. My electrical service is 120V/240V split phase.<br />
Line 1 to ground is ~120V, line 2 to ground is ~120V, and L1 to L2 is ~240V.<br />
<br />
I bought the N20 with its two voltage inputs in the hope that I could measure both 120V circuits and 240V circuits.<br />
<br />
Is there a way to change to configuration for <span style="text-decoration: underline;" class="mycode_u">individual</span> watt and kWh sensors to use the Line 1 plus Line 2 voltages?<br />
<br />
So for example right now I have a 240V 4000W heater running.<br />
There is no 120V load and no neutral so it only needs a single CT, but the voltage is the sum of L1 &amp; L2.<br />
<br />
For example my sensors currently read:<br />
bl0910_1_current_1: 16.086A<br />
bl0910_1_power_1: 1874.9W (incorrect)<br />
bl0910_1_voltage: 117.3V<br />
<br />
And also:<br />
bl0910_2_voltage: 118.2V <br />
<br />
The kWh would also be incorrect.<br />
<br />
Can I adjust the yaml so that it calculates bl0910_1_power_1 based on  bl0910_1_voltage PLUS  bl0910_2_voltage?<br />
But ONLY for that specific CT input?<br />
So that other CTs on 120V circuits still calculate correctly?<br />
<br />
It seems like it may be able to calculate this within Home Assistant.<br />
I've already made a helper that adds the two voltage sensors together.<br />
But they don't seem to have implemented the multiplication/product helper.<br />
<br />
It would be immensely simpler if it could be implemented in the yaml.<br />
<br />
Thank you]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 configure yaml for ESPhome]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8646</link>
			<pubDate>Mon, 13 Oct 2025 18:23:57 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8646</guid>
			<description><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>esphome:<br />
  name: n20<br />
  friendly_name: n20<br />
<br />
esp32:<br />
  board: esp32-s3-devkitc-1<br />
  framework:<br />
    type: arduino<br />
<br />
# Enable logging<br />
logger:<br />
  # baud_rate: 0<br />
<br />
# Enable Home Assistant API<br />
api:<br />
<br />
ota:<br />
  platform: esphome<br />
<br />
ethernet:<br />
  type: W5500<br />
  clk_pin: GPIO42<br />
  mosi_pin: GPIO43<br />
  miso_pin: GPIO44<br />
  cs_pin: GPIO41<br />
  interrupt_pin: GPIO2<br />
  reset_pin: GPIO1<br />
<br />
uart:<br />
  rx_pin: 9<br />
  tx_pin: 10<br />
  baud_rate: 115200<br />
  stop_bits: 1<br />
  data_bits: 8<br />
  parity: NONE<br />
<br />
web_server:<br />
  port: 80<br />
<br />
text_sensor:<br />
  - platform: ethernet_info<br />
    ip_address:<br />
      name: ESP IP Address<br />
      id: eth_ip<br />
      address_0:<br />
        name: ESP IP Address 0<br />
      address_1:<br />
        name: ESP IP Address 1<br />
      address_2:<br />
        name: ESP IP Address 2<br />
      address_3:<br />
        name: ESP IP Address 3<br />
      address_4:<br />
        name: ESP IP Address 4<br />
    dns_address:<br />
      name: ESP DNS Address<br />
    mac_address:<br />
      name: ESP MAC Address<br />
<br />
font:<br />
  - file: "gfonts://Roboto"<br />
    id: roboto<br />
    size: 15<br />
<br />
i2c:<br />
  sda: 18<br />
  scl: 17<br />
<br />
display:<br />
  - platform: ssd1306_i2c<br />
    model: "SSD1306 128x64"<br />
    address: 0x3C<br />
    lambda: |-<br />
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());<br />
<br />
modbus:<br />
<br />
modbus_controller:<br />
  - address: 1<br />
    update_interval: 5s<br />
<br />
sensor:<br />
  - platform: modbus_controller<br />
    address: 100<br />
    register_type: holding<br />
    name: bl0910_1_current_1<br />
    id: n20_1_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 102<br />
    register_type: holding<br />
    name: bl0910_1_current_2<br />
    id: n20_1_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 104<br />
    register_type: holding<br />
    name: bl0910_1_current_3<br />
    id: n20_1_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 106<br />
    register_type: holding<br />
    name: bl0910_1_current_4<br />
    id: n20_1_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 108<br />
    register_type: holding<br />
    name: bl0910_1_current_5<br />
    id: n20_1_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 110<br />
    register_type: holding<br />
    name: bl0910_1_current_6<br />
    id: n20_1_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 112<br />
    register_type: holding<br />
    name: bl0910_1_current_7<br />
    id: n20_1_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 114<br />
    register_type: holding<br />
    name: bl0910_1_current_8<br />
    id: n20_1_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 116<br />
    register_type: holding<br />
    name: bl0910_1_current_9<br />
    id: n20_1_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 118<br />
    register_type: holding<br />
    name: bl0910_1_current_10<br />
    id: n20_1_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 120<br />
    register_type: holding<br />
    name: bl0910_1_power_1<br />
    id: n20_1_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 122<br />
    register_type: holding<br />
    name: bl0910_1_power_2<br />
    id: n20_1_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 124<br />
    register_type: holding<br />
    name: bl0910_1_power_3<br />
    id: n20_1_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 126<br />
    register_type: holding<br />
    name: bl0910_1_power_4<br />
    id: n20_1_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 128<br />
    register_type: holding<br />
    name: bl0910_1_power_5<br />
    id: n20_1_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 130<br />
    register_type: holding<br />
    name: bl0910_1_power_6<br />
    id: n20_1_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 132<br />
    register_type: holding<br />
    name: bl0910_1_power_7<br />
    id: n20_1_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 134<br />
    register_type: holding<br />
    name: bl0910_1_power_8<br />
    id: n20_1_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 136<br />
    register_type: holding<br />
    name: bl0910_1_power_9<br />
    id: n20_1_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 138<br />
    register_type: holding<br />
    name: bl0910_1_power_10<br />
    id: n20_1_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 140<br />
    register_type: holding<br />
    name: bl0910_1_energy_1<br />
    id: n20_1_energy_1<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 142<br />
    register_type: holding<br />
    name: bl0910_1_energy_2<br />
    id: n20_1_energy_2<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 144<br />
    register_type: holding<br />
    name: bl0910_1_energy_3<br />
    id: n20_1_energy_3<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 146<br />
    register_type: holding<br />
    name: bl0910_1_energy_4<br />
    id: n20_1_energy_4<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 148<br />
    register_type: holding<br />
    name: bl0910_1_energy_5<br />
    id: n20_1_energy_5<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 150<br />
    register_type: holding<br />
    name: bl0910_1_energy_6<br />
    id: n20_1_energy_6<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 152<br />
    register_type: holding<br />
    name: bl0910_1_energy_7<br />
    id: n20_1_energy_7<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 154<br />
    register_type: holding<br />
    name: bl0910_1_energy_8<br />
    id: n20_1_energy_8<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 156<br />
    register_type: holding<br />
    name: bl0910_1_energy_9<br />
    id: n20_1_energy_9<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 158<br />
    register_type: holding<br />
    name: bl0910_1_energy_10<br />
    id: n20_1_energy_10<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 160<br />
    register_type: holding<br />
    name: bl0910_1_energy_sum<br />
    id: n20_1_energy_sum<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    address: 162<br />
    register_type: holding<br />
    name: bl0910_1_voltage<br />
    id: n20_1_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    address: 163<br />
    register_type: holding<br />
    name: bl0910_1_frequency<br />
    id: n20_1_period<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    address: 164<br />
    register_type: holding<br />
    name: bl0910_1_tps1<br />
    id: n20_1_tps_1<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    address: 200<br />
    register_type: holding<br />
    name: bl0910_2_current_1<br />
    id: n20_2_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 202<br />
    register_type: holding<br />
    name: bl0910_2_current_2<br />
    id: n20_2_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 204<br />
    register_type: holding<br />
    name: bl0910_2_current_3<br />
    id: n20_2_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 206<br />
    register_type: holding<br />
    name: bl0910_2_current_4<br />
    id: n20_2_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 208<br />
    register_type: holding<br />
    name: bl0910_2_current_5<br />
    id: n20_2_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 210<br />
    register_type: holding<br />
    name: bl0910_2_current_6<br />
    id: n20_2_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 212<br />
    register_type: holding<br />
    name: bl0910_2_current_7<br />
    id: n20_2_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 214<br />
    register_type: holding<br />
    name: bl0910_2_current_8<br />
    id: n20_2_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 216<br />
    register_type: holding<br />
    name: bl0910_2_current_9<br />
    id: n20_2_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 218<br />
    register_type: holding<br />
    name: bl0910_2_current_10<br />
    id: n20_2_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 220<br />
    register_type: holding<br />
    name: bl0910_2_power_1<br />
    id: n20_2_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 222<br />
    register_type: holding<br />
    name: bl0910_2_power_2<br />
    id: n20_2_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 224<br />
    register_type: holding<br />
    name: bl0910_2_power_3<br />
    id: n20_2_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 226<br />
    register_type: holding<br />
    name: bl0910_2_power_4<br />
    id: n20_2_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 228<br />
    register_type: holding<br />
    name: bl0910_2_power_5<br />
    id: n20_2_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 230<br />
    register_type: holding<br />
    name: bl0910_2_power_6<br />
    id: n20_2_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 232<br />
    register_type: holding<br />
    name: bl0910_2_power_7<br />
    id: n20_2_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 234<br />
    register_type: holding<br />
    name: bl0910_2_power_8<br />
    id: n20_2_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 236<br />
    register_type: holding<br />
    name: bl0910_2_power_9<br />
    id: n20_2_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 238<br />
    register_type: holding<br />
    name: bl0910_2_power_10<br />
    id: n20_2_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 240<br />
    register_type: holding<br />
    name: bl0910_2_energy_1<br />
    id: n20_2_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 242<br />
    register_type: holding<br />
    name: bl0910_2_energy_2<br />
    id: n20_2_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 244<br />
    register_type: holding<br />
    name: bl0910_2_energy_3<br />
    id: n20_2_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 246<br />
    register_type: holding<br />
    name: bl0910_2_energy_4<br />
    id: n20_2_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 248<br />
    register_type: holding<br />
    name: bl0910_2_energy_5<br />
    id: n20_2_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 250<br />
    register_type: holding<br />
    name: bl0910_2_energy_6<br />
    id: n20_2_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 252<br />
    register_type: holding<br />
    name: bl0910_2_energy_7<br />
    id: n20_2_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 254<br />
    register_type: holding<br />
    name: bl0910_2_energy_8<br />
    id: n20_2_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 256<br />
    register_type: holding<br />
    name: bl0910_2_energy_9<br />
    id: n20_2_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 258<br />
    register_type: holding<br />
    name: bl0910_2_energy_10<br />
    id: n20_2_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 260<br />
    register_type: holding<br />
    name: bl0910_2_energy_sum<br />
    id: n20_2_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 262<br />
    register_type: holding<br />
    name: bl0910_2_voltage<br />
    id: n20_2_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
    - multiply: 0.01<br />
  - platform: modbus_controller<br />
    address: 263<br />
    register_type: holding<br />
    name: bl0910_2_frequency<br />
    id: n20_2_period<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
    - multiply: 0.01<br />
  - platform: modbus_controller<br />
    address: 264<br />
    register_type: holding<br />
    name: bl0910_2_tps1<br />
    id: n20_2_tps_1<br />
    unit_of_measurement: "°C"<br />
    device_class: temperature<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R</code></div></div> yaml download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8459" target="_blank" title="">N20-HA.txt</a> (Size: 18.78 KB / Downloads: 212)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>esphome:<br />
  name: n20<br />
  friendly_name: n20<br />
<br />
esp32:<br />
  board: esp32-s3-devkitc-1<br />
  framework:<br />
    type: arduino<br />
<br />
# Enable logging<br />
logger:<br />
  # baud_rate: 0<br />
<br />
# Enable Home Assistant API<br />
api:<br />
<br />
ota:<br />
  platform: esphome<br />
<br />
ethernet:<br />
  type: W5500<br />
  clk_pin: GPIO42<br />
  mosi_pin: GPIO43<br />
  miso_pin: GPIO44<br />
  cs_pin: GPIO41<br />
  interrupt_pin: GPIO2<br />
  reset_pin: GPIO1<br />
<br />
uart:<br />
  rx_pin: 9<br />
  tx_pin: 10<br />
  baud_rate: 115200<br />
  stop_bits: 1<br />
  data_bits: 8<br />
  parity: NONE<br />
<br />
web_server:<br />
  port: 80<br />
<br />
text_sensor:<br />
  - platform: ethernet_info<br />
    ip_address:<br />
      name: ESP IP Address<br />
      id: eth_ip<br />
      address_0:<br />
        name: ESP IP Address 0<br />
      address_1:<br />
        name: ESP IP Address 1<br />
      address_2:<br />
        name: ESP IP Address 2<br />
      address_3:<br />
        name: ESP IP Address 3<br />
      address_4:<br />
        name: ESP IP Address 4<br />
    dns_address:<br />
      name: ESP DNS Address<br />
    mac_address:<br />
      name: ESP MAC Address<br />
<br />
font:<br />
  - file: "gfonts://Roboto"<br />
    id: roboto<br />
    size: 15<br />
<br />
i2c:<br />
  sda: 18<br />
  scl: 17<br />
<br />
display:<br />
  - platform: ssd1306_i2c<br />
    model: "SSD1306 128x64"<br />
    address: 0x3C<br />
    lambda: |-<br />
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());<br />
<br />
modbus:<br />
<br />
modbus_controller:<br />
  - address: 1<br />
    update_interval: 5s<br />
<br />
sensor:<br />
  - platform: modbus_controller<br />
    address: 100<br />
    register_type: holding<br />
    name: bl0910_1_current_1<br />
    id: n20_1_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 102<br />
    register_type: holding<br />
    name: bl0910_1_current_2<br />
    id: n20_1_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 104<br />
    register_type: holding<br />
    name: bl0910_1_current_3<br />
    id: n20_1_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 106<br />
    register_type: holding<br />
    name: bl0910_1_current_4<br />
    id: n20_1_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 108<br />
    register_type: holding<br />
    name: bl0910_1_current_5<br />
    id: n20_1_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 110<br />
    register_type: holding<br />
    name: bl0910_1_current_6<br />
    id: n20_1_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 112<br />
    register_type: holding<br />
    name: bl0910_1_current_7<br />
    id: n20_1_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 114<br />
    register_type: holding<br />
    name: bl0910_1_current_8<br />
    id: n20_1_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 116<br />
    register_type: holding<br />
    name: bl0910_1_current_9<br />
    id: n20_1_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 118<br />
    register_type: holding<br />
    name: bl0910_1_current_10<br />
    id: n20_1_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.001<br />
<br />
  - platform: modbus_controller<br />
    address: 120<br />
    register_type: holding<br />
    name: bl0910_1_power_1<br />
    id: n20_1_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 122<br />
    register_type: holding<br />
    name: bl0910_1_power_2<br />
    id: n20_1_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 124<br />
    register_type: holding<br />
    name: bl0910_1_power_3<br />
    id: n20_1_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 126<br />
    register_type: holding<br />
    name: bl0910_1_power_4<br />
    id: n20_1_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 128<br />
    register_type: holding<br />
    name: bl0910_1_power_5<br />
    id: n20_1_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 130<br />
    register_type: holding<br />
    name: bl0910_1_power_6<br />
    id: n20_1_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 132<br />
    register_type: holding<br />
    name: bl0910_1_power_7<br />
    id: n20_1_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 134<br />
    register_type: holding<br />
    name: bl0910_1_power_8<br />
    id: n20_1_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 136<br />
    register_type: holding<br />
    name: bl0910_1_power_9<br />
    id: n20_1_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    address: 138<br />
    register_type: holding<br />
    name: bl0910_1_power_10<br />
    id: n20_1_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
      - multiply: 0.1<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 140<br />
    register_type: holding<br />
    name: bl0910_1_energy_1<br />
    id: n20_1_energy_1<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 142<br />
    register_type: holding<br />
    name: bl0910_1_energy_2<br />
    id: n20_1_energy_2<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 144<br />
    register_type: holding<br />
    name: bl0910_1_energy_3<br />
    id: n20_1_energy_3<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 146<br />
    register_type: holding<br />
    name: bl0910_1_energy_4<br />
    id: n20_1_energy_4<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 148<br />
    register_type: holding<br />
    name: bl0910_1_energy_5<br />
    id: n20_1_energy_5<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 150<br />
    register_type: holding<br />
    name: bl0910_1_energy_6<br />
    id: n20_1_energy_6<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 152<br />
    register_type: holding<br />
    name: bl0910_1_energy_7<br />
    id: n20_1_energy_7<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 154<br />
    register_type: holding<br />
    name: bl0910_1_energy_8<br />
    id: n20_1_energy_8<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 156<br />
    register_type: holding<br />
    name: bl0910_1_energy_9<br />
    id: n20_1_energy_9<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 158<br />
    register_type: holding<br />
    name: bl0910_1_energy_10<br />
    id: n20_1_energy_10<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    state_class: total_increasing<br />
    device_class: energy<br />
    address: 160<br />
    register_type: holding<br />
    name: bl0910_1_energy_sum<br />
    id: n20_1_energy_sum<br />
    unit_of_measurement: kWh<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
<br />
  - platform: modbus_controller<br />
    address: 162<br />
    register_type: holding<br />
    name: bl0910_1_voltage<br />
    id: n20_1_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    address: 163<br />
    register_type: holding<br />
    name: bl0910_1_frequency<br />
    id: n20_1_period<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
      - multiply: 0.01<br />
<br />
  - platform: modbus_controller<br />
    address: 164<br />
    register_type: holding<br />
    name: bl0910_1_tps1<br />
    id: n20_1_tps_1<br />
    unit_of_measurement: °C<br />
    device_class: temperature<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R<br />
<br />
  - platform: modbus_controller<br />
    address: 200<br />
    register_type: holding<br />
    name: bl0910_2_current_1<br />
    id: n20_2_current_1<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 202<br />
    register_type: holding<br />
    name: bl0910_2_current_2<br />
    id: n20_2_current_2<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 204<br />
    register_type: holding<br />
    name: bl0910_2_current_3<br />
    id: n20_2_current_3<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 206<br />
    register_type: holding<br />
    name: bl0910_2_current_4<br />
    id: n20_2_current_4<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 208<br />
    register_type: holding<br />
    name: bl0910_2_current_5<br />
    id: n20_2_current_5<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 210<br />
    register_type: holding<br />
    name: bl0910_2_current_6<br />
    id: n20_2_current_6<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 212<br />
    register_type: holding<br />
    name: bl0910_2_current_7<br />
    id: n20_2_current_7<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 214<br />
    register_type: holding<br />
    name: bl0910_2_current_8<br />
    id: n20_2_current_8<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 216<br />
    register_type: holding<br />
    name: bl0910_2_current_9<br />
    id: n20_2_current_9<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 218<br />
    register_type: holding<br />
    name: bl0910_2_current_10<br />
    id: n20_2_current_10<br />
    unit_of_measurement: A<br />
    device_class: current<br />
    accuracy_decimals: 3<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.001<br />
  - platform: modbus_controller<br />
    address: 220<br />
    register_type: holding<br />
    name: bl0910_2_power_1<br />
    id: n20_2_watt_1<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 222<br />
    register_type: holding<br />
    name: bl0910_2_power_2<br />
    id: n20_2_watt_2<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 224<br />
    register_type: holding<br />
    name: bl0910_2_power_3<br />
    id: n20_2_watt_3<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 226<br />
    register_type: holding<br />
    name: bl0910_2_power_4<br />
    id: n20_2_watt_4<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 228<br />
    register_type: holding<br />
    name: bl0910_2_power_5<br />
    id: n20_2_watt_5<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 230<br />
    register_type: holding<br />
    name: bl0910_2_power_6<br />
    id: n20_2_watt_6<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 232<br />
    register_type: holding<br />
    name: bl0910_2_power_7<br />
    id: n20_2_watt_7<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 234<br />
    register_type: holding<br />
    name: bl0910_2_power_8<br />
    id: n20_2_watt_8<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 236<br />
    register_type: holding<br />
    name: bl0910_2_power_9<br />
    id: n20_2_watt_9<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 238<br />
    register_type: holding<br />
    name: bl0910_2_power_10<br />
    id: n20_2_watt_10<br />
    unit_of_measurement: W<br />
    device_class: power<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    filters:<br />
    - multiply: 0.1<br />
  - platform: modbus_controller<br />
    address: 240<br />
    register_type: holding<br />
    name: bl0910_2_energy_1<br />
    id: n20_2_energy_1<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 242<br />
    register_type: holding<br />
    name: bl0910_2_energy_2<br />
    id: n20_2_energy_2<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 244<br />
    register_type: holding<br />
    name: bl0910_2_energy_3<br />
    id: n20_2_energy_3<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 246<br />
    register_type: holding<br />
    name: bl0910_2_energy_4<br />
    id: n20_2_energy_4<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 248<br />
    register_type: holding<br />
    name: bl0910_2_energy_5<br />
    id: n20_2_energy_5<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 250<br />
    register_type: holding<br />
    name: bl0910_2_energy_6<br />
    id: n20_2_energy_6<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 252<br />
    register_type: holding<br />
    name: bl0910_2_energy_7<br />
    id: n20_2_energy_7<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 254<br />
    register_type: holding<br />
    name: bl0910_2_energy_8<br />
    id: n20_2_energy_8<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 256<br />
    register_type: holding<br />
    name: bl0910_2_energy_9<br />
    id: n20_2_energy_9<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 258<br />
    register_type: holding<br />
    name: bl0910_2_energy_10<br />
    id: n20_2_energy_10<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 260<br />
    register_type: holding<br />
    name: bl0910_2_energy_sum<br />
    id: n20_2_energy_sum<br />
    unit_of_measurement: kWh<br />
    device_class: energy<br />
    accuracy_decimals: 1<br />
    value_type: U_DWORD_R<br />
    state_class: total_increasing<br />
  - platform: modbus_controller<br />
    address: 262<br />
    register_type: holding<br />
    name: bl0910_2_voltage<br />
    id: n20_2_voltage<br />
    unit_of_measurement: V<br />
    device_class: voltage<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
    - multiply: 0.01<br />
  - platform: modbus_controller<br />
    address: 263<br />
    register_type: holding<br />
    name: bl0910_2_frequency<br />
    id: n20_2_period<br />
    unit_of_measurement: Hz<br />
    device_class: frequency<br />
    accuracy_decimals: 1<br />
    value_type: U_WORD<br />
    filters:<br />
    - multiply: 0.01<br />
  - platform: modbus_controller<br />
    address: 264<br />
    register_type: holding<br />
    name: bl0910_2_tps1<br />
    id: n20_2_tps_1<br />
    unit_of_measurement: "°C"<br />
    device_class: temperature<br />
    accuracy_decimals: 1<br />
    value_type: FP32_R</code></div></div> yaml download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8459" target="_blank" title="">N20-HA.txt</a> (Size: 18.78 KB / Downloads: 212)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 Energy RS485 Modbus Protocol]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8643</link>
			<pubDate>Mon, 13 Oct 2025 10:05:18 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8643</guid>
			<description><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>N20 Energy Module Modbus Protocol Specification<br />
==============================================<br />
<br />
1. Overview<br />
-----------<br />
<br />
This document specifies the Modbus communication protocol for the N20 Energy Module.<br />
The device communicates using the Modbus RTU protocol and provides access to electrical<br />
measurement parameters including current, power, energy consumption, voltage, frequency,<br />
temperature, and power factor from 2 independent energy monitoring chips.<br />
<br />
2. Module Characteristics<br />
-------------------------<br />
<br />
- Energy Monitoring Chips: 2<br />
- Communication Protocol: Modbus RTU<br />
- Wireless Technology: Not applicable (wired connection)<br />
- Maximum Sensors Supported: 32<br />
- Board Features: Display, Ethernet (W5500), 4G, SD Card support<br />
- GPIO Availability: 2 free GPIOs (pins 15, 16)<br />
<br />
3. Communication Parameters<br />
---------------------------<br />
<br />
- Protocol: Modbus RTU<br />
- Baud Rate: 38400<br />
- Function Codes:<br />
  * 0x03: Read Holding Registers (for reading data)<br />
  * 0x05: Write Single Coil (for control operations)<br />
  * 0x10: Write Multiple Registers (for configuration)<br />
<br />
4. Chip Addressing<br />
------------------<br />
<br />
The N20 Energy Module contains 2 measurement chips, each with a base address:<br />
<br />
+-------------+--------------+--------------------+<br />
| Chip Number | Base Address | Physical Location  |<br />
+-------------+--------------+--------------------+<br />
| Chip 1      | 100          | Main board P1      |<br />
| Chip 2      | 200          | Main board P2      |<br />
+-------------+--------------+--------------------+<br />
<br />
Aggregate data from both chips is available starting at address 1000.<br />
<br />
5. Data Structure<br />
-----------------<br />
<br />
Each chip provides the following data (accessible via Function Code 0x03):<br />
<br />
5.1 Current Measurements (RMS) per Chip<br />
---------------------------------------<br />
<br />
+----------------+------------+-------+--------+---------------+<br />
| Register Offset| Parameter  | Units | Format | Resolution    |<br />
+----------------+------------+-------+--------+---------------+<br />
| 0              | RMS_1      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 2              | RMS_2      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 4              | RMS_3      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 6              | RMS_4      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 8              | RMS_5      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 10           &nbsp;&nbsp;| RMS_6      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 12           &nbsp;&nbsp;| RMS_7      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 14           &nbsp;&nbsp;| RMS_8      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 16           &nbsp;&nbsp;| RMS_9      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 18           &nbsp;&nbsp;| RMS_10   &nbsp;&nbsp;| A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
+----------------+------------+-------+--------+---------------+<br />
<br />
Example: To read RMS_1 from Chip 1, read registers 100 and 101 (2 registers for uint32).<br />
Example: To read RMS_1 from Chip 2, read registers 200 and 201 (2 registers for uint32).<br />
Display: Reading of 5432 represents 5.432A (5432 × 0.001A)<br />
<br />
5.2 Power Measurements (WATT) per Chip<br />
--------------------------------------<br />
<br />
+----------------+------------+-------+--------+---------------+<br />
| Register Offset| Parameter  | Units | Format | Resolution    |<br />
+----------------+------------+-------+--------+---------------+<br />
| 20           &nbsp;&nbsp;| WATT_1   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 22           &nbsp;&nbsp;| WATT_2   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 24           &nbsp;&nbsp;| WATT_3   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 26           &nbsp;&nbsp;| WATT_4   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 28           &nbsp;&nbsp;| WATT_5   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 30           &nbsp;&nbsp;| WATT_6   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 32           &nbsp;&nbsp;| WATT_7   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 34           &nbsp;&nbsp;| WATT_8   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 36           &nbsp;&nbsp;| WATT_9   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 38           &nbsp;&nbsp;| WATT_10    | W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
+----------------+------------+-------+--------+---------------+<br />
<br />
Example: To read WATT_1 from Chip 1, read registers 120 and 121 (2 registers for uint32).<br />
Example: To read WATT_1 from Chip 2, read registers 220 and 221 (2 registers for uint32).<br />
Display: Reading of 12345 represents 1234.5W (12345 × 0.1W)<br />
<br />
5.3 Energy Consumption Measurements per Chip<br />
--------------------------------------------<br />
<br />
+----------------+-------------+-------+--------+---------------------+<br />
| Register Offset| Parameter &nbsp;&nbsp;| Units | Format | Resolution          |<br />
+----------------+-------------+-------+--------+---------------------+<br />
| 40           &nbsp;&nbsp;| Energy_1    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 42           &nbsp;&nbsp;| Energy_2    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 44           &nbsp;&nbsp;| Energy_3    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 46           &nbsp;&nbsp;| Energy_4    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 48           &nbsp;&nbsp;| Energy_5    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 50           &nbsp;&nbsp;| Energy_6    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 52           &nbsp;&nbsp;| Energy_7    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 54           &nbsp;&nbsp;| Energy_8    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 56           &nbsp;&nbsp;| Energy_9    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 58           &nbsp;&nbsp;| Energy_10 &nbsp;&nbsp;| kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 60           &nbsp;&nbsp;| Energy_Sum  | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
+----------------+-------------+-------+--------+---------------------+<br />
<br />
Note: The maximum measurable energy per channel is 65535 kWh.<br />
<br />
5.4 Other Measurements per Chip<br />
-------------------------------<br />
<br />
+----------------+-------------+-------+--------+---------------------+<br />
| Register Offset| Parameter &nbsp;&nbsp;| Units | Format | Resolution          |<br />
+----------------+-------------+-------+--------+---------------------+<br />
| 62           &nbsp;&nbsp;| RMS_V     &nbsp;&nbsp;| V   &nbsp;&nbsp;| uint16 | 0.01V/LSB         &nbsp;&nbsp;|<br />
| 63           &nbsp;&nbsp;| Period      | Hz    | uint16 | 0.01Hz/LSB          |<br />
| 64           &nbsp;&nbsp;| TPS1        | °C    | float  | 0.1°C/LSB         &nbsp;&nbsp;|<br />
| 66           &nbsp;&nbsp;| PF          | -   &nbsp;&nbsp;| float  | Power Factor (0-1)  |<br />
+----------------+-------------+-------+--------+---------------------+<br />
<br />
6. Channel Mapping<br />
------------------<br />
<br />
Total of 20 energy monitoring channels:<br />
- Channels 1-10: Managed by Chip 1 (base address 100)<br />
- Channels 11-20: Managed by Chip 2 (base address 200)<br />
<br />
Each chip reports its 10 channels as local channels 1-10 in the register mapping.<br />
<br />
7. Control Functions (Function Code 0x05)<br />
------------------------------------------<br />
<br />
The following control registers can be written to using the Modbus function code 0x05:<br />
<br />
+----------+------------------------------+--------------------------------------------+<br />
| Register | Function                   &nbsp;&nbsp;| Description                                |<br />
+----------+------------------------------+--------------------------------------------+<br />
| 500      | Warm Reset                 &nbsp;&nbsp;| Resets the device                          |<br />
| 501      | Save Parameters to Flash   &nbsp;&nbsp;| Save communication parameters to flash   &nbsp;&nbsp;|<br />
| 503      | Save Coefficients to Flash &nbsp;&nbsp;| Save calibration coefficients to flash   &nbsp;&nbsp;|<br />
| 504      | Clear Coefficients         &nbsp;&nbsp;| Reset all coefficients to 1.0 (use caution)|<br />
| 510      | Restore Factory Settings   &nbsp;&nbsp;| Restore factory communication parameters &nbsp;&nbsp;|<br />
+----------+------------------------------+--------------------------------------------+<br />
<br />
8. Energy Clearing Functions (Function Code 0x05)<br />
--------------------------------------------------<br />
<br />
The following registers clear energy consumption data when written with function code 0x05:<br />
<br />
8.1 Clear All Channels on a Chip<br />
---------------------------------<br />
<br />
+----------+--------------------------------+<br />
| Register | Function                     &nbsp;&nbsp;|<br />
+----------+--------------------------------+<br />
| 520      | Clear all energy on Chip 1   &nbsp;&nbsp;|<br />
| 521      | Clear all energy on Chip 2   &nbsp;&nbsp;|<br />
+----------+--------------------------------+<br />
<br />
8.2 Clear Individual Channels<br />
------------------------------<br />
<br />
+----------------+------------------------------------------------+<br />
| Register Range | Function                                     &nbsp;&nbsp;|<br />
+----------------+------------------------------------------------+<br />
| 526-535        | Clear energy on Chip 1, channels 1-10          |<br />
| 536-545        | Clear energy on Chip 2, channels 1-10          |<br />
| 586            | Clear sum energy on Chip 1                   &nbsp;&nbsp;|<br />
| 587            | Clear sum energy on Chip 2                   &nbsp;&nbsp;|<br />
+----------------+------------------------------------------------+<br />
<br />
9. Calibration Coefficients (Function Code 0x03 to read, 0x10 to write)<br />
------------------------------------------------------------------------<br />
<br />
All coefficients are stored as floating-point values in CDBA format.<br />
<br />
9.1 Current (RMS) Coefficients for Chip 1<br />
------------------------------------------<br />
<br />
+----------+---------------------+---------+<br />
| Register | Parameter         &nbsp;&nbsp;| Default |<br />
+----------+---------------------+---------+<br />
| 3000   &nbsp;&nbsp;| FACTOR OF RMS1      | 1.0   &nbsp;&nbsp;|<br />
| 3002   &nbsp;&nbsp;| FACTOR OF RMS2      | 1.0   &nbsp;&nbsp;|<br />
| 3004   &nbsp;&nbsp;| FACTOR OF RMS3      | 1.0   &nbsp;&nbsp;|<br />
| 3006   &nbsp;&nbsp;| FACTOR OF RMS4      | 1.0   &nbsp;&nbsp;|<br />
| 3008   &nbsp;&nbsp;| FACTOR OF RMS5      | 1.0   &nbsp;&nbsp;|<br />
| 3010   &nbsp;&nbsp;| FACTOR OF RMS6      | 1.0   &nbsp;&nbsp;|<br />
| 3012   &nbsp;&nbsp;| FACTOR OF RMS7      | 1.0   &nbsp;&nbsp;|<br />
| 3014   &nbsp;&nbsp;| FACTOR OF RMS8      | 1.0   &nbsp;&nbsp;|<br />
| 3016   &nbsp;&nbsp;| FACTOR OF RMS9      | 1.0   &nbsp;&nbsp;|<br />
| 3018   &nbsp;&nbsp;| FACTOR OF RMS10   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
+----------+---------------------+---------+<br />
<br />
9.2 Power (WATT) Coefficients for Chip 1<br />
-----------------------------------------<br />
<br />
+----------+---------------------+---------+<br />
| Register | Parameter         &nbsp;&nbsp;| Default |<br />
+----------+---------------------+---------+<br />
| 3020   &nbsp;&nbsp;| FACTOR OF WATT1   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3022   &nbsp;&nbsp;| FACTOR OF WATT2   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3024   &nbsp;&nbsp;| FACTOR OF WATT3   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3026   &nbsp;&nbsp;| FACTOR OF WATT4   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3028   &nbsp;&nbsp;| FACTOR OF WATT5   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3030   &nbsp;&nbsp;| FACTOR OF WATT6   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3032   &nbsp;&nbsp;| FACTOR OF WATT7   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3034   &nbsp;&nbsp;| FACTOR OF WATT8   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3036   &nbsp;&nbsp;| FACTOR OF WATT9   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3038   &nbsp;&nbsp;| FACTOR OF WATT10    | 1.0   &nbsp;&nbsp;|<br />
+----------+---------------------+---------+<br />
<br />
9.3 Energy Coefficients for Chip 1<br />
-----------------------------------<br />
<br />
+----------+-----------------------+---------+<br />
| Register | Parameter           &nbsp;&nbsp;| Default |<br />
+----------+-----------------------+---------+<br />
| 3040   &nbsp;&nbsp;| FACTOR OF ENERGY1   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3042   &nbsp;&nbsp;| FACTOR OF ENERGY2   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3044   &nbsp;&nbsp;| FACTOR OF ENERGY3   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3046   &nbsp;&nbsp;| FACTOR OF ENERGY4   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3048   &nbsp;&nbsp;| FACTOR OF ENERGY5   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3050   &nbsp;&nbsp;| FACTOR OF ENERGY6   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3052   &nbsp;&nbsp;| FACTOR OF ENERGY7   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3054   &nbsp;&nbsp;| FACTOR OF ENERGY8   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3056   &nbsp;&nbsp;| FACTOR OF ENERGY9   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3058   &nbsp;&nbsp;| FACTOR OF ENERGY10    | 1.0   &nbsp;&nbsp;|<br />
| 3060   &nbsp;&nbsp;| FACTOR OF ENERGY SUM  | 1.0   &nbsp;&nbsp;|<br />
+----------+-----------------------+---------+<br />
<br />
9.4 Chip 2 Calibration Coefficient Base Address<br />
-----------------------------------------------<br />
<br />
The calibration coefficients for Chip 2 follow the same structure but start at<br />
base address 3064:<br />
<br />
+-------------+---------------+<br />
| Chip Number | Base Register |<br />
+-------------+---------------+<br />
| Chip 2      | 3064          |<br />
+-------------+---------------+<br />
<br />
10. Data Aggregation<br />
--------------------<br />
<br />
Gateway systems can aggregate data from both chips:<br />
- Total System Current = Sum of all RMS values from both chips<br />
- Total System Power = Sum of all WATT values from both chips<br />
- Total System Energy = Sum of all Energy values from both chips<br />
- Average System Voltage = Average of RMS_V from both chips<br />
- Average System Frequency = Average of Period from both chips<br />
<br />
11. Programming Notes<br />
---------------------<br />
<br />
1. After modifying communication parameters, write to register 501 to save them to flash.<br />
2. After modifying calibration coefficients, write to register 503 to save them to flash.<br />
3. Read the entire data structure for a chip by reading 68 registers starting at the<br />
 &nbsp;&nbsp;chip's base address.<br />
4. For 32-bit values (uint32, float), read/write two consecutive registers.<br />
5. When writing float values, use the CDBA format.<br />
6. All energy measurements have a maximum value of 65535 kWh per channel.<br />
7. Monitor both chips to detect individual chip failures.<br />
<br />
12. Comparison Table<br />
--------------------<br />
<br />
+------------------+------------------+------------------+------------------+<br />
| Feature          | N10           &nbsp;&nbsp;| N20              | N30              |<br />
+------------------+------------------+------------------+------------------+<br />
| Communication    | Modbus RTU      | Modbus RTU     &nbsp;&nbsp;| Modbus RTU     &nbsp;&nbsp;|<br />
| Energy Chips   &nbsp;&nbsp;| 1             &nbsp;&nbsp;| 2                | 3                |<br />
| Channels       &nbsp;&nbsp;| 10              | 20             &nbsp;&nbsp;| 30             &nbsp;&nbsp;|<br />
| Base Addresses &nbsp;&nbsp;| 100           &nbsp;&nbsp;| 100, 200       &nbsp;&nbsp;| 100, 200, 300    |<br />
| Data Structure &nbsp;&nbsp;| Standard        | Dual-chip        | Triple-chip      |<br />
| Installation   &nbsp;&nbsp;| Wired         &nbsp;&nbsp;| Wired            | Wired            |<br />
+------------------+------------------+------------------+------------------+<br />
<br />
13. Conclusion<br />
--------------<br />
<br />
The N20 Energy Module provides dual-chip energy monitoring with Modbus RTU<br />
communication, offering twice the monitoring capacity of the N10 while maintaining<br />
the same communication protocol structure. The device is ideal for medium-scale<br />
installations requiring electrical measurement and monitoring across multiple circuits.<br />
<br />
==============================================================================<br />
Document generated for N20 Energy Module Modbus Protocol<br />
For technical support, please contact Kincony support team.</code></div></div> protocol document download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8456" target="_blank" title="">N20_Energy_Modbus_Protocol.txt</a> (Size: 13.25 KB / Downloads: 158)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>N20 Energy Module Modbus Protocol Specification<br />
==============================================<br />
<br />
1. Overview<br />
-----------<br />
<br />
This document specifies the Modbus communication protocol for the N20 Energy Module.<br />
The device communicates using the Modbus RTU protocol and provides access to electrical<br />
measurement parameters including current, power, energy consumption, voltage, frequency,<br />
temperature, and power factor from 2 independent energy monitoring chips.<br />
<br />
2. Module Characteristics<br />
-------------------------<br />
<br />
- Energy Monitoring Chips: 2<br />
- Communication Protocol: Modbus RTU<br />
- Wireless Technology: Not applicable (wired connection)<br />
- Maximum Sensors Supported: 32<br />
- Board Features: Display, Ethernet (W5500), 4G, SD Card support<br />
- GPIO Availability: 2 free GPIOs (pins 15, 16)<br />
<br />
3. Communication Parameters<br />
---------------------------<br />
<br />
- Protocol: Modbus RTU<br />
- Baud Rate: 38400<br />
- Function Codes:<br />
  * 0x03: Read Holding Registers (for reading data)<br />
  * 0x05: Write Single Coil (for control operations)<br />
  * 0x10: Write Multiple Registers (for configuration)<br />
<br />
4. Chip Addressing<br />
------------------<br />
<br />
The N20 Energy Module contains 2 measurement chips, each with a base address:<br />
<br />
+-------------+--------------+--------------------+<br />
| Chip Number | Base Address | Physical Location  |<br />
+-------------+--------------+--------------------+<br />
| Chip 1      | 100          | Main board P1      |<br />
| Chip 2      | 200          | Main board P2      |<br />
+-------------+--------------+--------------------+<br />
<br />
Aggregate data from both chips is available starting at address 1000.<br />
<br />
5. Data Structure<br />
-----------------<br />
<br />
Each chip provides the following data (accessible via Function Code 0x03):<br />
<br />
5.1 Current Measurements (RMS) per Chip<br />
---------------------------------------<br />
<br />
+----------------+------------+-------+--------+---------------+<br />
| Register Offset| Parameter  | Units | Format | Resolution    |<br />
+----------------+------------+-------+--------+---------------+<br />
| 0              | RMS_1      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 2              | RMS_2      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 4              | RMS_3      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 6              | RMS_4      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 8              | RMS_5      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 10           &nbsp;&nbsp;| RMS_6      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 12           &nbsp;&nbsp;| RMS_7      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 14           &nbsp;&nbsp;| RMS_8      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 16           &nbsp;&nbsp;| RMS_9      | A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
| 18           &nbsp;&nbsp;| RMS_10   &nbsp;&nbsp;| A   &nbsp;&nbsp;| uint32 | 0.001A/LSB    |<br />
+----------------+------------+-------+--------+---------------+<br />
<br />
Example: To read RMS_1 from Chip 1, read registers 100 and 101 (2 registers for uint32).<br />
Example: To read RMS_1 from Chip 2, read registers 200 and 201 (2 registers for uint32).<br />
Display: Reading of 5432 represents 5.432A (5432 × 0.001A)<br />
<br />
5.2 Power Measurements (WATT) per Chip<br />
--------------------------------------<br />
<br />
+----------------+------------+-------+--------+---------------+<br />
| Register Offset| Parameter  | Units | Format | Resolution    |<br />
+----------------+------------+-------+--------+---------------+<br />
| 20           &nbsp;&nbsp;| WATT_1   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 22           &nbsp;&nbsp;| WATT_2   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 24           &nbsp;&nbsp;| WATT_3   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 26           &nbsp;&nbsp;| WATT_4   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 28           &nbsp;&nbsp;| WATT_5   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 30           &nbsp;&nbsp;| WATT_6   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 32           &nbsp;&nbsp;| WATT_7   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 34           &nbsp;&nbsp;| WATT_8   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 36           &nbsp;&nbsp;| WATT_9   &nbsp;&nbsp;| W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
| 38           &nbsp;&nbsp;| WATT_10    | W   &nbsp;&nbsp;| uint32 | 0.1W/LSB      |<br />
+----------------+------------+-------+--------+---------------+<br />
<br />
Example: To read WATT_1 from Chip 1, read registers 120 and 121 (2 registers for uint32).<br />
Example: To read WATT_1 from Chip 2, read registers 220 and 221 (2 registers for uint32).<br />
Display: Reading of 12345 represents 1234.5W (12345 × 0.1W)<br />
<br />
5.3 Energy Consumption Measurements per Chip<br />
--------------------------------------------<br />
<br />
+----------------+-------------+-------+--------+---------------------+<br />
| Register Offset| Parameter &nbsp;&nbsp;| Units | Format | Resolution          |<br />
+----------------+-------------+-------+--------+---------------------+<br />
| 40           &nbsp;&nbsp;| Energy_1    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 42           &nbsp;&nbsp;| Energy_2    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 44           &nbsp;&nbsp;| Energy_3    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 46           &nbsp;&nbsp;| Energy_4    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 48           &nbsp;&nbsp;| Energy_5    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 50           &nbsp;&nbsp;| Energy_6    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 52           &nbsp;&nbsp;| Energy_7    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 54           &nbsp;&nbsp;| Energy_8    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 56           &nbsp;&nbsp;| Energy_9    | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 58           &nbsp;&nbsp;| Energy_10 &nbsp;&nbsp;| kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
| 60           &nbsp;&nbsp;| Energy_Sum  | kWh &nbsp;&nbsp;| uint32 | 1kWh/LSB            |<br />
+----------------+-------------+-------+--------+---------------------+<br />
<br />
Note: The maximum measurable energy per channel is 65535 kWh.<br />
<br />
5.4 Other Measurements per Chip<br />
-------------------------------<br />
<br />
+----------------+-------------+-------+--------+---------------------+<br />
| Register Offset| Parameter &nbsp;&nbsp;| Units | Format | Resolution          |<br />
+----------------+-------------+-------+--------+---------------------+<br />
| 62           &nbsp;&nbsp;| RMS_V     &nbsp;&nbsp;| V   &nbsp;&nbsp;| uint16 | 0.01V/LSB         &nbsp;&nbsp;|<br />
| 63           &nbsp;&nbsp;| Period      | Hz    | uint16 | 0.01Hz/LSB          |<br />
| 64           &nbsp;&nbsp;| TPS1        | °C    | float  | 0.1°C/LSB         &nbsp;&nbsp;|<br />
| 66           &nbsp;&nbsp;| PF          | -   &nbsp;&nbsp;| float  | Power Factor (0-1)  |<br />
+----------------+-------------+-------+--------+---------------------+<br />
<br />
6. Channel Mapping<br />
------------------<br />
<br />
Total of 20 energy monitoring channels:<br />
- Channels 1-10: Managed by Chip 1 (base address 100)<br />
- Channels 11-20: Managed by Chip 2 (base address 200)<br />
<br />
Each chip reports its 10 channels as local channels 1-10 in the register mapping.<br />
<br />
7. Control Functions (Function Code 0x05)<br />
------------------------------------------<br />
<br />
The following control registers can be written to using the Modbus function code 0x05:<br />
<br />
+----------+------------------------------+--------------------------------------------+<br />
| Register | Function                   &nbsp;&nbsp;| Description                                |<br />
+----------+------------------------------+--------------------------------------------+<br />
| 500      | Warm Reset                 &nbsp;&nbsp;| Resets the device                          |<br />
| 501      | Save Parameters to Flash   &nbsp;&nbsp;| Save communication parameters to flash   &nbsp;&nbsp;|<br />
| 503      | Save Coefficients to Flash &nbsp;&nbsp;| Save calibration coefficients to flash   &nbsp;&nbsp;|<br />
| 504      | Clear Coefficients         &nbsp;&nbsp;| Reset all coefficients to 1.0 (use caution)|<br />
| 510      | Restore Factory Settings   &nbsp;&nbsp;| Restore factory communication parameters &nbsp;&nbsp;|<br />
+----------+------------------------------+--------------------------------------------+<br />
<br />
8. Energy Clearing Functions (Function Code 0x05)<br />
--------------------------------------------------<br />
<br />
The following registers clear energy consumption data when written with function code 0x05:<br />
<br />
8.1 Clear All Channels on a Chip<br />
---------------------------------<br />
<br />
+----------+--------------------------------+<br />
| Register | Function                     &nbsp;&nbsp;|<br />
+----------+--------------------------------+<br />
| 520      | Clear all energy on Chip 1   &nbsp;&nbsp;|<br />
| 521      | Clear all energy on Chip 2   &nbsp;&nbsp;|<br />
+----------+--------------------------------+<br />
<br />
8.2 Clear Individual Channels<br />
------------------------------<br />
<br />
+----------------+------------------------------------------------+<br />
| Register Range | Function                                     &nbsp;&nbsp;|<br />
+----------------+------------------------------------------------+<br />
| 526-535        | Clear energy on Chip 1, channels 1-10          |<br />
| 536-545        | Clear energy on Chip 2, channels 1-10          |<br />
| 586            | Clear sum energy on Chip 1                   &nbsp;&nbsp;|<br />
| 587            | Clear sum energy on Chip 2                   &nbsp;&nbsp;|<br />
+----------------+------------------------------------------------+<br />
<br />
9. Calibration Coefficients (Function Code 0x03 to read, 0x10 to write)<br />
------------------------------------------------------------------------<br />
<br />
All coefficients are stored as floating-point values in CDBA format.<br />
<br />
9.1 Current (RMS) Coefficients for Chip 1<br />
------------------------------------------<br />
<br />
+----------+---------------------+---------+<br />
| Register | Parameter         &nbsp;&nbsp;| Default |<br />
+----------+---------------------+---------+<br />
| 3000   &nbsp;&nbsp;| FACTOR OF RMS1      | 1.0   &nbsp;&nbsp;|<br />
| 3002   &nbsp;&nbsp;| FACTOR OF RMS2      | 1.0   &nbsp;&nbsp;|<br />
| 3004   &nbsp;&nbsp;| FACTOR OF RMS3      | 1.0   &nbsp;&nbsp;|<br />
| 3006   &nbsp;&nbsp;| FACTOR OF RMS4      | 1.0   &nbsp;&nbsp;|<br />
| 3008   &nbsp;&nbsp;| FACTOR OF RMS5      | 1.0   &nbsp;&nbsp;|<br />
| 3010   &nbsp;&nbsp;| FACTOR OF RMS6      | 1.0   &nbsp;&nbsp;|<br />
| 3012   &nbsp;&nbsp;| FACTOR OF RMS7      | 1.0   &nbsp;&nbsp;|<br />
| 3014   &nbsp;&nbsp;| FACTOR OF RMS8      | 1.0   &nbsp;&nbsp;|<br />
| 3016   &nbsp;&nbsp;| FACTOR OF RMS9      | 1.0   &nbsp;&nbsp;|<br />
| 3018   &nbsp;&nbsp;| FACTOR OF RMS10   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
+----------+---------------------+---------+<br />
<br />
9.2 Power (WATT) Coefficients for Chip 1<br />
-----------------------------------------<br />
<br />
+----------+---------------------+---------+<br />
| Register | Parameter         &nbsp;&nbsp;| Default |<br />
+----------+---------------------+---------+<br />
| 3020   &nbsp;&nbsp;| FACTOR OF WATT1   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3022   &nbsp;&nbsp;| FACTOR OF WATT2   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3024   &nbsp;&nbsp;| FACTOR OF WATT3   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3026   &nbsp;&nbsp;| FACTOR OF WATT4   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3028   &nbsp;&nbsp;| FACTOR OF WATT5   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3030   &nbsp;&nbsp;| FACTOR OF WATT6   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3032   &nbsp;&nbsp;| FACTOR OF WATT7   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3034   &nbsp;&nbsp;| FACTOR OF WATT8   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3036   &nbsp;&nbsp;| FACTOR OF WATT9   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3038   &nbsp;&nbsp;| FACTOR OF WATT10    | 1.0   &nbsp;&nbsp;|<br />
+----------+---------------------+---------+<br />
<br />
9.3 Energy Coefficients for Chip 1<br />
-----------------------------------<br />
<br />
+----------+-----------------------+---------+<br />
| Register | Parameter           &nbsp;&nbsp;| Default |<br />
+----------+-----------------------+---------+<br />
| 3040   &nbsp;&nbsp;| FACTOR OF ENERGY1   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3042   &nbsp;&nbsp;| FACTOR OF ENERGY2   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3044   &nbsp;&nbsp;| FACTOR OF ENERGY3   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3046   &nbsp;&nbsp;| FACTOR OF ENERGY4   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3048   &nbsp;&nbsp;| FACTOR OF ENERGY5   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3050   &nbsp;&nbsp;| FACTOR OF ENERGY6   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3052   &nbsp;&nbsp;| FACTOR OF ENERGY7   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3054   &nbsp;&nbsp;| FACTOR OF ENERGY8   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3056   &nbsp;&nbsp;| FACTOR OF ENERGY9   &nbsp;&nbsp;| 1.0   &nbsp;&nbsp;|<br />
| 3058   &nbsp;&nbsp;| FACTOR OF ENERGY10    | 1.0   &nbsp;&nbsp;|<br />
| 3060   &nbsp;&nbsp;| FACTOR OF ENERGY SUM  | 1.0   &nbsp;&nbsp;|<br />
+----------+-----------------------+---------+<br />
<br />
9.4 Chip 2 Calibration Coefficient Base Address<br />
-----------------------------------------------<br />
<br />
The calibration coefficients for Chip 2 follow the same structure but start at<br />
base address 3064:<br />
<br />
+-------------+---------------+<br />
| Chip Number | Base Register |<br />
+-------------+---------------+<br />
| Chip 2      | 3064          |<br />
+-------------+---------------+<br />
<br />
10. Data Aggregation<br />
--------------------<br />
<br />
Gateway systems can aggregate data from both chips:<br />
- Total System Current = Sum of all RMS values from both chips<br />
- Total System Power = Sum of all WATT values from both chips<br />
- Total System Energy = Sum of all Energy values from both chips<br />
- Average System Voltage = Average of RMS_V from both chips<br />
- Average System Frequency = Average of Period from both chips<br />
<br />
11. Programming Notes<br />
---------------------<br />
<br />
1. After modifying communication parameters, write to register 501 to save them to flash.<br />
2. After modifying calibration coefficients, write to register 503 to save them to flash.<br />
3. Read the entire data structure for a chip by reading 68 registers starting at the<br />
 &nbsp;&nbsp;chip's base address.<br />
4. For 32-bit values (uint32, float), read/write two consecutive registers.<br />
5. When writing float values, use the CDBA format.<br />
6. All energy measurements have a maximum value of 65535 kWh per channel.<br />
7. Monitor both chips to detect individual chip failures.<br />
<br />
12. Comparison Table<br />
--------------------<br />
<br />
+------------------+------------------+------------------+------------------+<br />
| Feature          | N10           &nbsp;&nbsp;| N20              | N30              |<br />
+------------------+------------------+------------------+------------------+<br />
| Communication    | Modbus RTU      | Modbus RTU     &nbsp;&nbsp;| Modbus RTU     &nbsp;&nbsp;|<br />
| Energy Chips   &nbsp;&nbsp;| 1             &nbsp;&nbsp;| 2                | 3                |<br />
| Channels       &nbsp;&nbsp;| 10              | 20             &nbsp;&nbsp;| 30             &nbsp;&nbsp;|<br />
| Base Addresses &nbsp;&nbsp;| 100           &nbsp;&nbsp;| 100, 200       &nbsp;&nbsp;| 100, 200, 300    |<br />
| Data Structure &nbsp;&nbsp;| Standard        | Dual-chip        | Triple-chip      |<br />
| Installation   &nbsp;&nbsp;| Wired         &nbsp;&nbsp;| Wired            | Wired            |<br />
+------------------+------------------+------------------+------------------+<br />
<br />
13. Conclusion<br />
--------------<br />
<br />
The N20 Energy Module provides dual-chip energy monitoring with Modbus RTU<br />
communication, offering twice the monitoring capacity of the N10 while maintaining<br />
the same communication protocol structure. The device is ideal for medium-scale<br />
installations requiring electrical measurement and monitoring across multiple circuits.<br />
<br />
==============================================================================<br />
Document generated for N20 Energy Module Modbus Protocol<br />
For technical support, please contact Kincony support team.</code></div></div> protocol document download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8456" target="_blank" title="">N20_Energy_Modbus_Protocol.txt</a> (Size: 13.25 KB / Downloads: 158)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N60/N30/N20/N10/M30 CT selection and Load MAX current formula]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8604</link>
			<pubDate>Thu, 04 Sep 2025 07:47:15 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8604</guid>
			<description><![CDATA[<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8394" target="_blank" title="">CT-1.png</a> (Size: 47.07 KB / Downloads: 306)
<!-- end: postbit_attachments_attachment --><br />
every CT clamp input channel will have two resistance. for example, CT2 channel are R23, R24<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8395" target="_blank" title="">CT-2.png</a> (Size: 119.56 KB / Downloads: 301)
<!-- end: postbit_attachments_attachment --><br />
use the formula let input voltage &lt;700mV<br />
<br />
if your CT clamp sensor is 2000:1<br />
Load current=30A, <br />
input voltage = 5.1R*2*30A/2000=153mA (VIPN)<br />
<br />
so if input voltage &lt;700mA , use 5.1R resistance on PCB, 2000:1 MAX can detect 137A AC220V load.<br />
<br />
if you want support more large current, you can change the  resistance or change CT 2000:1 with other models. Just use by the  formula.]]></description>
			<content:encoded><![CDATA[<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8394" target="_blank" title="">CT-1.png</a> (Size: 47.07 KB / Downloads: 306)
<!-- end: postbit_attachments_attachment --><br />
every CT clamp input channel will have two resistance. for example, CT2 channel are R23, R24<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8395" target="_blank" title="">CT-2.png</a> (Size: 119.56 KB / Downloads: 301)
<!-- end: postbit_attachments_attachment --><br />
use the formula let input voltage &lt;700mV<br />
<br />
if your CT clamp sensor is 2000:1<br />
Load current=30A, <br />
input voltage = 5.1R*2*30A/2000=153mA (VIPN)<br />
<br />
so if input voltage &lt;700mA , use 5.1R resistance on PCB, 2000:1 MAX can detect 137A AC220V load.<br />
<br />
if you want support more large current, you can change the  resistance or change CT 2000:1 with other models. Just use by the  formula.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N60 N30 N20 N10 firmware BL0910 energy chip register RAW data structure]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9166</link>
			<pubDate>Sun, 03 Aug 2025 11:31:20 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9166</guid>
			<description><![CDATA[<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9419" target="_blank" title="">N60-meter-data-structure.png</a> (Size: 31.39 KB / Downloads: 327)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=9419" target="_blank" title="">N60-meter-data-structure.png</a> (Size: 31.39 KB / Downloads: 327)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[arduino code examples for N20]-05 collect N20 all data demo]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8606</link>
			<pubDate>Sun, 03 Aug 2025 11:27:07 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8606</guid>
			<description><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
 * Made by KinCony IoT: https://www.kincony.com<br />
 * <br />
 * Demo Program for Reading Data from KinCony N60 Energy Meter (60-channel version)<br />
 * via RS485 Modbus using ESP32 and NonBlockingModbusMaster library.<br />
 * <br />
 * This example:<br />
 * - Initializes RS485 Modbus communication<br />
 * - Reads current, power, energy, voltage, frequency, temperature, power factor from 6 chips<br />
 * - Prints all data to Serial Monitor<br />
 * - Uses TaskScheduler to run periodic tasks<br />
 */<br />
<br />
#include "TaskScheduler.h"<br />
#include "HardwareSerial.h"<br />
//#include "modbus-rtu.h"<br />
#include "NonBlockingModbusMaster.h"  // Include non-blocking Modbus master library<br />
<br />
/////defined anything here====================<br />
#define MAX_U16DATA_LEN  68  // Number of 16-bit registers to read per chip<br />
<br />
// Define RS485 serial and control pins<br />
#define TX_PIN 8<br />
#define DE_PIN 3<br />
#define RX_PIN 18<br />
<br />
// Define Modbus function codes<br />
typedef enum{<br />
  FC_READ_COIL = 1,<br />
  FC_READ_HOLDREG = 3,<br />
  FC_READ_INPUTREG = 4,<br />
  FC_FORCE_COIL = 5,<br />
  FC_FORCE_COILS = 15,<br />
  FC_WRITE_REG = 6,<br />
  FC_WRITE_REGS = 16,<br />
}FC_DEF;<br />
<br />
// Define structure to hold all the electrical parameters per chip<br />
typedef struct<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//0&nbsp;&nbsp;&nbsp;&nbsp;//XX.XXX&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.001A/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_10; <br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//20 XXXX.X&nbsp;&nbsp;&nbsp;&nbsp;W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.1W/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_10;//<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//40 XXXXXX&nbsp;&nbsp;&nbsp;&nbsp;kWh &nbsp;&nbsp;1kWh/LSB,MAX:65535kWh<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_10; //<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_Sum; //60<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint16_t RMS_V;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//62 XXX.X&nbsp;&nbsp;&nbsp;&nbsp;V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.01V/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint16_t Period;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//63 XX.XX&nbsp;&nbsp;&nbsp;&nbsp;Hz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.01Hz/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;float TPS1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//64 XX.XX ℃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.1℃/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;float PF;  //66<br />
}Elect_StructDef_JKE;<br />
<br />
typedef union{<br />
  Elect_StructDef_JKE jke_n60_str[6]; ////6 chips each have MAX_STRU_LEN data<br />
  ushort read_regs_arr[6][MAX_U16DATA_LEN];<br />
}COLLECT_UNION;<br />
 <br />
////define instance here================================================================<br />
COLLECT_UNION jke_n60_data_union = {0};<br />
HardwareSerial collectSerial(2);<br />
Scheduler ts; &nbsp;&nbsp;// Task scheduler<br />
NonBlockingModbusMaster nbModbusMaster;<br />
<br />
////define macros here===================<br />
static void collectAllChipData();<br />
static void PrintfInfo();<br />
 <br />
////define my work task==================================<br />
Task collectDataTask(200,TASK_FOREVER,[]()<br />
{<br />
  collectAllChipData();<br />
});<br />
<br />
Task heartBeatTask(1000,TASK_FOREVER,[]()<br />
{<br />
  ////do anything in heartBeatTask to make sense for anyone or other.<br />
  Serial.println("heartbeat task is running.");<br />
});<br />
<br />
<br />
void setup() {<br />
  // put your setup code here, to run once:<br />
<br />
  // Open serial communications and wait for port to open:<br />
    Serial.begin(115200);<br />
    collectSerial.begin(115200,SERIAL_8N1,9,10);///RX &amp; TX<br />
    float bitduration = 1.f / 115200;<br />
    float charlen = 10.0f; // 8 bits + 1 stop, parity ?<br />
    float preDelayBR = bitduration * charlen * 3.5f * 1e6  + 1; // in us<br />
    float postDelayBR = bitduration * charlen * 3.5f * 1e6 + 1; // in us <br />
    nbModbusMaster.initialize(collectSerial, preDelayBR, postDelayBR,1000);<br />
<br />
  ////add task to scheduler<br />
  ts.addTask(collectDataTask);<br />
  ts.addTask(heartBeatTask);<br />
<br />
  ////start task<br />
  collectDataTask.enable(); ///start task<br />
  heartBeatTask.enable();<br />
}<br />
<br />
bool isMbConnect = false;<br />
int cnt_chip = 0;<br />
<br />
void loop() {<br />
  static int retryCount = 0;<br />
  // put your main code here, to run repeatedly:<br />
  ts.execute();<br />
<br />
  if (nbModbusMaster.justFinished()) <br />
  {<br />
    <br />
    // check for errors<br />
    int err = nbModbusMaster.getError(); // 0 for OK<br />
    if (err) {<br />
      isMbConnect = false; &nbsp;&nbsp;<br />
      Serial.print("Error: "); nbModbusMaster.printHex(err, Serial); Serial.println();<br />
      if ((err == nbModbusMaster.ku8MBResponseTimedOut) ) {<br />
        retryCount++; <br />
        Serial.println("Mbtask Retry");<br />
        nbModbusMaster.retry(); // send same cmd again<br />
      }<br />
    } else {<br />
      retryCount = 0; // success<br />
    }<br />
    if (err == 0) {<br />
      isMbConnect = true;<br />
      if(cnt_chip==5)<br />
      {<br />
        PrintfInfo();<br />
      } <br />
<br />
      for (int i = 0; i &lt; nbModbusMaster.getResponseBufferLength(); i++) {<br />
        jke_n60_data_union.read_regs_arr[cnt_chip][i] = nbModbusMaster.getResponseBuffer(i);<br />
        //nbModbusMaster.printHex(nbModbusMaster.getResponseBuffer(i), Serial); Serial.print(" ");<br />
      } <br />
<br />
      cnt_chip++; <br />
      if(cnt_chip &gt;= 6) cnt_chip = 0;<br />
<br />
    }<br />
  }<br />
<br />
}<br />
<br />
static void PrintfInfo()<br />
{<br />
  char send_buf[100] = {0}; <br />
  uint32_t *ptr; <br />
  uint16_t *ptr2;<br />
  float *ptr3;<br />
<br />
  memset(send_buf,0,100);<br />
    ///// PRINTF ALL DATA READ FROM CHIP REGISTER.<br />
<br />
    for(int j=0;j&lt;6;j++)<br />
    {<br />
    sprintf(send_buf,"&gt;&gt;chip/socket : %d Info:",j+1);<br />
    Serial.println(send_buf);      <br />
<br />
    ptr= &amp;jke_n60_data_union.jke_n60_str[j].RMS_1;<br />
    ptr2 = &amp;jke_n60_data_union.jke_n60_str[j].RMS_V;<br />
    ptr3 = &amp;jke_n60_data_union.jke_n60_str[j].TPS1;<br />
<br />
    for(int i=0;i&lt;35;i++) <br />
    {<br />
      if(i &lt; 10)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"RMS_%d:    %.2f A,",i+1,*(ptr+i) * 0.001);<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i &lt; 20)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"WATT_%d:    %.2f W,",i+1-10,*(ptr+i) * 0.1);<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i &lt; 30)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Energy_%d:    %d kWh,",i+1-20,*(ptr+i) );<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i == 30)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Energy_sum:    %d kWh,",*(ptr+i) );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 31)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"RMS_V:    %.2f V,",*ptr2 *0.01); ///62<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 32)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Period:    %.2f Hz,",*(ptr2+1) *0.01);<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 33)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Chip_Temp:    %.1f ^C,",*ptr3  );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 34)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"PF:    %.4f .",*(ptr3+1) );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
    }<br />
<br />
    if(j==5)<br />
      Serial.println("&gt;&gt;Data Finished!&gt;&gt;");  <br />
<br />
  }<br />
}<br />
<br />
static void collectAllChipData()<br />
{<br />
  int read_addr_start = (cnt_chip+1) * 100; <br />
  <br />
  String str = "";<br />
  uint16_t size = MAX_U16DATA_LEN;<br />
<br />
  nbModbusMaster.readHoldingRegisters(1, read_addr_start, size);<br />
  <br />
}</code></div></div> arduino ino file download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8400" target="_blank" title="">collect_n60_data_demo.zip</a> (Size: 2.45 KB / Downloads: 338)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8401" target="_blank" title="">collect_n60_data_demo.ino.merged.zip</a> (Size: 189.94 KB / Downloads: 350)
<!-- end: postbit_attachments_attachment --><br />
<br />
before run the code, you need to install NonBlockingModbusMaster arduino library.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8402" target="_blank" title="">NonBlockingModbusMaster.png</a> (Size: 110.95 KB / Downloads: 333)
<!-- end: postbit_attachments_attachment --><br />
<br />
modify library .h file replace the number as photo.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8403" target="_blank" title="">N60-library-setting-change-number.png</a> (Size: 171.03 KB / Downloads: 336)
<!-- end: postbit_attachments_attachment --><br />
<br />
after running code, will print all data by USB port:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>y_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
<br />
RMS_V:    233.58 V,<br />
Period:    49.70 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.4 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    3.20 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.50 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.7 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.2 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.6 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    1.50 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.57 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.3 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.6 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.3 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    1.50 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.49 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.7 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.</code></div></div>]]></description>
			<content:encoded><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
 * Made by KinCony IoT: https://www.kincony.com<br />
 * <br />
 * Demo Program for Reading Data from KinCony N60 Energy Meter (60-channel version)<br />
 * via RS485 Modbus using ESP32 and NonBlockingModbusMaster library.<br />
 * <br />
 * This example:<br />
 * - Initializes RS485 Modbus communication<br />
 * - Reads current, power, energy, voltage, frequency, temperature, power factor from 6 chips<br />
 * - Prints all data to Serial Monitor<br />
 * - Uses TaskScheduler to run periodic tasks<br />
 */<br />
<br />
#include "TaskScheduler.h"<br />
#include "HardwareSerial.h"<br />
//#include "modbus-rtu.h"<br />
#include "NonBlockingModbusMaster.h"  // Include non-blocking Modbus master library<br />
<br />
/////defined anything here====================<br />
#define MAX_U16DATA_LEN  68  // Number of 16-bit registers to read per chip<br />
<br />
// Define RS485 serial and control pins<br />
#define TX_PIN 8<br />
#define DE_PIN 3<br />
#define RX_PIN 18<br />
<br />
// Define Modbus function codes<br />
typedef enum{<br />
  FC_READ_COIL = 1,<br />
  FC_READ_HOLDREG = 3,<br />
  FC_READ_INPUTREG = 4,<br />
  FC_FORCE_COIL = 5,<br />
  FC_FORCE_COILS = 15,<br />
  FC_WRITE_REG = 6,<br />
  FC_WRITE_REGS = 16,<br />
}FC_DEF;<br />
<br />
// Define structure to hold all the electrical parameters per chip<br />
typedef struct<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//0&nbsp;&nbsp;&nbsp;&nbsp;//XX.XXX&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.001A/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t RMS_10; <br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//20 XXXX.X&nbsp;&nbsp;&nbsp;&nbsp;W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.1W/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t WATT_10;//<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//40 XXXXXX&nbsp;&nbsp;&nbsp;&nbsp;kWh &nbsp;&nbsp;1kWh/LSB,MAX:65535kWh<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_5;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_6;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_7;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_9;<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_10; //<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint32_t Energy_Sum; //60<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint16_t RMS_V;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//62 XXX.X&nbsp;&nbsp;&nbsp;&nbsp;V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.01V/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;uint16_t Period;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//63 XX.XX&nbsp;&nbsp;&nbsp;&nbsp;Hz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.01Hz/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;float TPS1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//64 XX.XX ℃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.1℃/LSB<br />
&nbsp;&nbsp;&nbsp;&nbsp;float PF;  //66<br />
}Elect_StructDef_JKE;<br />
<br />
typedef union{<br />
  Elect_StructDef_JKE jke_n60_str[6]; ////6 chips each have MAX_STRU_LEN data<br />
  ushort read_regs_arr[6][MAX_U16DATA_LEN];<br />
}COLLECT_UNION;<br />
 <br />
////define instance here================================================================<br />
COLLECT_UNION jke_n60_data_union = {0};<br />
HardwareSerial collectSerial(2);<br />
Scheduler ts; &nbsp;&nbsp;// Task scheduler<br />
NonBlockingModbusMaster nbModbusMaster;<br />
<br />
////define macros here===================<br />
static void collectAllChipData();<br />
static void PrintfInfo();<br />
 <br />
////define my work task==================================<br />
Task collectDataTask(200,TASK_FOREVER,[]()<br />
{<br />
  collectAllChipData();<br />
});<br />
<br />
Task heartBeatTask(1000,TASK_FOREVER,[]()<br />
{<br />
  ////do anything in heartBeatTask to make sense for anyone or other.<br />
  Serial.println("heartbeat task is running.");<br />
});<br />
<br />
<br />
void setup() {<br />
  // put your setup code here, to run once:<br />
<br />
  // Open serial communications and wait for port to open:<br />
    Serial.begin(115200);<br />
    collectSerial.begin(115200,SERIAL_8N1,9,10);///RX &amp; TX<br />
    float bitduration = 1.f / 115200;<br />
    float charlen = 10.0f; // 8 bits + 1 stop, parity ?<br />
    float preDelayBR = bitduration * charlen * 3.5f * 1e6  + 1; // in us<br />
    float postDelayBR = bitduration * charlen * 3.5f * 1e6 + 1; // in us <br />
    nbModbusMaster.initialize(collectSerial, preDelayBR, postDelayBR,1000);<br />
<br />
  ////add task to scheduler<br />
  ts.addTask(collectDataTask);<br />
  ts.addTask(heartBeatTask);<br />
<br />
  ////start task<br />
  collectDataTask.enable(); ///start task<br />
  heartBeatTask.enable();<br />
}<br />
<br />
bool isMbConnect = false;<br />
int cnt_chip = 0;<br />
<br />
void loop() {<br />
  static int retryCount = 0;<br />
  // put your main code here, to run repeatedly:<br />
  ts.execute();<br />
<br />
  if (nbModbusMaster.justFinished()) <br />
  {<br />
    <br />
    // check for errors<br />
    int err = nbModbusMaster.getError(); // 0 for OK<br />
    if (err) {<br />
      isMbConnect = false; &nbsp;&nbsp;<br />
      Serial.print("Error: "); nbModbusMaster.printHex(err, Serial); Serial.println();<br />
      if ((err == nbModbusMaster.ku8MBResponseTimedOut) ) {<br />
        retryCount++; <br />
        Serial.println("Mbtask Retry");<br />
        nbModbusMaster.retry(); // send same cmd again<br />
      }<br />
    } else {<br />
      retryCount = 0; // success<br />
    }<br />
    if (err == 0) {<br />
      isMbConnect = true;<br />
      if(cnt_chip==5)<br />
      {<br />
        PrintfInfo();<br />
      } <br />
<br />
      for (int i = 0; i &lt; nbModbusMaster.getResponseBufferLength(); i++) {<br />
        jke_n60_data_union.read_regs_arr[cnt_chip][i] = nbModbusMaster.getResponseBuffer(i);<br />
        //nbModbusMaster.printHex(nbModbusMaster.getResponseBuffer(i), Serial); Serial.print(" ");<br />
      } <br />
<br />
      cnt_chip++; <br />
      if(cnt_chip &gt;= 6) cnt_chip = 0;<br />
<br />
    }<br />
  }<br />
<br />
}<br />
<br />
static void PrintfInfo()<br />
{<br />
  char send_buf[100] = {0}; <br />
  uint32_t *ptr; <br />
  uint16_t *ptr2;<br />
  float *ptr3;<br />
<br />
  memset(send_buf,0,100);<br />
    ///// PRINTF ALL DATA READ FROM CHIP REGISTER.<br />
<br />
    for(int j=0;j&lt;6;j++)<br />
    {<br />
    sprintf(send_buf,"&gt;&gt;chip/socket : %d Info:",j+1);<br />
    Serial.println(send_buf);      <br />
<br />
    ptr= &amp;jke_n60_data_union.jke_n60_str[j].RMS_1;<br />
    ptr2 = &amp;jke_n60_data_union.jke_n60_str[j].RMS_V;<br />
    ptr3 = &amp;jke_n60_data_union.jke_n60_str[j].TPS1;<br />
<br />
    for(int i=0;i&lt;35;i++) <br />
    {<br />
      if(i &lt; 10)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"RMS_%d:    %.2f A,",i+1,*(ptr+i) * 0.001);<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i &lt; 20)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"WATT_%d:    %.2f W,",i+1-10,*(ptr+i) * 0.1);<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i &lt; 30)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Energy_%d:    %d kWh,",i+1-20,*(ptr+i) );<br />
        Serial.println(send_buf); <br />
      }<br />
      else if(i == 30)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Energy_sum:    %d kWh,",*(ptr+i) );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 31)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"RMS_V:    %.2f V,",*ptr2 *0.01); ///62<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 32)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Period:    %.2f Hz,",*(ptr2+1) *0.01);<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 33)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"Chip_Temp:    %.1f ^C,",*ptr3  );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
      else if(i == 34)     &nbsp;&nbsp;<br />
      {<br />
        sprintf(send_buf,"PF:    %.4f .",*(ptr3+1) );<br />
        Serial.println(send_buf);<br />
        memset(send_buf,0,100);<br />
      }<br />
    }<br />
<br />
    if(j==5)<br />
      Serial.println("&gt;&gt;Data Finished!&gt;&gt;");  <br />
<br />
  }<br />
}<br />
<br />
static void collectAllChipData()<br />
{<br />
  int read_addr_start = (cnt_chip+1) * 100; <br />
  <br />
  String str = "";<br />
  uint16_t size = MAX_U16DATA_LEN;<br />
<br />
  nbModbusMaster.readHoldingRegisters(1, read_addr_start, size);<br />
  <br />
}</code></div></div> arduino ino file download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8400" target="_blank" title="">collect_n60_data_demo.zip</a> (Size: 2.45 KB / Downloads: 338)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8401" target="_blank" title="">collect_n60_data_demo.ino.merged.zip</a> (Size: 189.94 KB / Downloads: 350)
<!-- end: postbit_attachments_attachment --><br />
<br />
before run the code, you need to install NonBlockingModbusMaster arduino library.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8402" target="_blank" title="">NonBlockingModbusMaster.png</a> (Size: 110.95 KB / Downloads: 333)
<!-- end: postbit_attachments_attachment --><br />
<br />
modify library .h file replace the number as photo.<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=8403" target="_blank" title="">N60-library-setting-change-number.png</a> (Size: 171.03 KB / Downloads: 336)
<!-- end: postbit_attachments_attachment --><br />
<br />
after running code, will print all data by USB port:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>y_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
<br />
RMS_V:    233.58 V,<br />
Period:    49.70 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.4 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    3.20 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.50 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.7 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.2 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.6 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    1.50 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.57 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.5 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.<br />
heartbeat task is running.<br />
&gt;&gt;chip/socket : 1 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    24.0 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 2 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.8 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 3 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.3 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 4 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    23.6 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 5 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    0.00 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    0.00 V,<br />
Period:    9.53 Hz,<br />
Chip_Temp:    25.3 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;chip/socket : 6 Info:<br />
RMS_1:    0.00 A,<br />
RMS_2:    0.00 A,<br />
RMS_3:    0.00 A,<br />
RMS_4:    0.00 A,<br />
RMS_5:    0.00 A,<br />
RMS_6:    0.00 A,<br />
RMS_7:    0.00 A,<br />
RMS_8:    0.00 A,<br />
RMS_9:    0.00 A,<br />
RMS_10:    0.00 A,<br />
WATT_1:    0.00 W,<br />
WATT_2:    1.50 W,<br />
WATT_3:    0.00 W,<br />
WATT_4:    0.00 W,<br />
WATT_5:    0.00 W,<br />
WATT_6:    0.00 W,<br />
WATT_7:    0.00 W,<br />
WATT_8:    0.00 W,<br />
WATT_9:    0.00 W,<br />
WATT_10:    0.00 W,<br />
Energy_1:    0 kWh,<br />
Energy_2:    0 kWh,<br />
Energy_3:    0 kWh,<br />
Energy_4:    0 kWh,<br />
Energy_5:    0 kWh,<br />
Energy_6:    0 kWh,<br />
Energy_7:    0 kWh,<br />
Energy_8:    0 kWh,<br />
Energy_9:    0 kWh,<br />
Energy_10:    0 kWh,<br />
Energy_sum:    0 kWh,<br />
RMS_V:    233.49 V,<br />
Period:    49.71 Hz,<br />
Chip_Temp:    25.7 ^C,<br />
PF:    0.0000 .<br />
&gt;&gt;Data Finished!&gt;&gt;<br />
heartbeat task is running.</code></div></div>]]></content:encoded>
		</item>
	</channel>
</rss>