<?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>Tue, 16 Jun 2026 21:09:15 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[N series Energy Meter for Loxone UDP Protocol]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9314</link>
			<pubDate>Mon, 04 May 2026 16:19:04 +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=9314</guid>
			<description><![CDATA[Energy Loxone Protocol<br />
=======================<br />
<br />
Overview<br />
--------<br />
This document describes the Loxone string protocol for Energy module.<br />
Default delimiter is comma (,). Chip ID: 1-6, Channel: 1-10.<br />
<br />
<br />
Commands<br />
--------<br />
<br />
1. GET_ENERGY_CURRENT - Get current (A) for specific channel<br />
  Request:  RELAY-GET_ENERGY_CURRENT-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_CURRENT-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_CURRENT-255,1,1<br />
    Response: RELAY-GET_ENERGY_CURRENT-255,1,1,2.350,OK<br />
<br />
2. GET_ENERGY_POWER - Get power (W) for specific channel<br />
  Request:  RELAY-GET_ENERGY_POWER-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_POWER-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_POWER-255,1,1<br />
    Response: RELAY-GET_ENERGY_POWER-255,1,1,512.5,OK<br />
<br />
3. GET_ENERGY_KWH - Get energy (kWh) for specific channel<br />
  Request:  RELAY-GET_ENERGY_KWH-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_KWH-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_KWH-255,1,1<br />
    Response: RELAY-GET_ENERGY_KWH-255,1,1,1250,OK<br />
<br />
4. GET_ENERGY_VOLT - Get voltage (V) for chip<br />
  Request:  RELAY-GET_ENERGY_VOLT-255,{chip}<br />
  Response: RELAY-GET_ENERGY_VOLT-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_VOLT-255,1<br />
    Response: RELAY-GET_ENERGY_VOLT-255,1,220.50,OK<br />
<br />
5. GET_ENERGY_FREQ - Get frequency (Hz) for chip<br />
  Request:  RELAY-GET_ENERGY_FREQ-255,{chip}<br />
  Response: RELAY-GET_ENERGY_FREQ-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_FREQ-255,1<br />
    Response: RELAY-GET_ENERGY_FREQ-255,1,50.00,OK<br />
<br />
6. GET_ENERGY_TEMP - Get temperature &copy; for chip<br />
  Request:  RELAY-GET_ENERGY_TEMP-255,{chip}<br />
  Response: RELAY-GET_ENERGY_TEMP-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_TEMP-255,1<br />
    Response: RELAY-GET_ENERGY_TEMP-255,1,35.5,OK<br />
<br />
7. GET_ENERGY_PF - Get power factor for chip<br />
  Request:  RELAY-GET_ENERGY_PF-255,{chip}<br />
  Response: RELAY-GET_ENERGY_PF-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_PF-255,1<br />
    Response: RELAY-GET_ENERGY_PF-255,1,0.95,OK<br />
<br />
8. GET_ENERGY_SUM - Get total energy (kWh) for chip<br />
  Request:  RELAY-GET_ENERGY_SUM-255,{chip}<br />
  Response: RELAY-GET_ENERGY_SUM-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_SUM-255,1<br />
    Response: RELAY-GET_ENERGY_SUM-255,1,12500,OK<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=9752" target="_blank" title="">Nx-Energy-meter-udp-loxone.png</a> (Size: 141.99 KB / Downloads: 88)
<!-- end: postbit_attachments_attachment --><br />
protocol 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=9753" target="_blank" title="">Nx-energy_loxone_protocol.txt</a> (Size: 2.34 KB / Downloads: 58)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Energy Loxone Protocol<br />
=======================<br />
<br />
Overview<br />
--------<br />
This document describes the Loxone string protocol for Energy module.<br />
Default delimiter is comma (,). Chip ID: 1-6, Channel: 1-10.<br />
<br />
<br />
Commands<br />
--------<br />
<br />
1. GET_ENERGY_CURRENT - Get current (A) for specific channel<br />
  Request:  RELAY-GET_ENERGY_CURRENT-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_CURRENT-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_CURRENT-255,1,1<br />
    Response: RELAY-GET_ENERGY_CURRENT-255,1,1,2.350,OK<br />
<br />
2. GET_ENERGY_POWER - Get power (W) for specific channel<br />
  Request:  RELAY-GET_ENERGY_POWER-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_POWER-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_POWER-255,1,1<br />
    Response: RELAY-GET_ENERGY_POWER-255,1,1,512.5,OK<br />
<br />
3. GET_ENERGY_KWH - Get energy (kWh) for specific channel<br />
  Request:  RELAY-GET_ENERGY_KWH-255,{chip},{channel}<br />
  Response: RELAY-GET_ENERGY_KWH-255,{chip},{channel},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_KWH-255,1,1<br />
    Response: RELAY-GET_ENERGY_KWH-255,1,1,1250,OK<br />
<br />
4. GET_ENERGY_VOLT - Get voltage (V) for chip<br />
  Request:  RELAY-GET_ENERGY_VOLT-255,{chip}<br />
  Response: RELAY-GET_ENERGY_VOLT-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_VOLT-255,1<br />
    Response: RELAY-GET_ENERGY_VOLT-255,1,220.50,OK<br />
<br />
5. GET_ENERGY_FREQ - Get frequency (Hz) for chip<br />
  Request:  RELAY-GET_ENERGY_FREQ-255,{chip}<br />
  Response: RELAY-GET_ENERGY_FREQ-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_FREQ-255,1<br />
    Response: RELAY-GET_ENERGY_FREQ-255,1,50.00,OK<br />
<br />
6. GET_ENERGY_TEMP - Get temperature &copy; for chip<br />
  Request:  RELAY-GET_ENERGY_TEMP-255,{chip}<br />
  Response: RELAY-GET_ENERGY_TEMP-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_TEMP-255,1<br />
    Response: RELAY-GET_ENERGY_TEMP-255,1,35.5,OK<br />
<br />
7. GET_ENERGY_PF - Get power factor for chip<br />
  Request:  RELAY-GET_ENERGY_PF-255,{chip}<br />
  Response: RELAY-GET_ENERGY_PF-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_PF-255,1<br />
    Response: RELAY-GET_ENERGY_PF-255,1,0.95,OK<br />
<br />
8. GET_ENERGY_SUM - Get total energy (kWh) for chip<br />
  Request:  RELAY-GET_ENERGY_SUM-255,{chip}<br />
  Response: RELAY-GET_ENERGY_SUM-255,{chip},{value},OK<br />
  Example:<br />
    Request:  RELAY-GET_ENERGY_SUM-255,1<br />
    Response: RELAY-GET_ENERGY_SUM-255,1,12500,OK<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=9752" target="_blank" title="">Nx-Energy-meter-udp-loxone.png</a> (Size: 141.99 KB / Downloads: 88)
<!-- end: postbit_attachments_attachment --><br />
protocol 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=9753" target="_blank" title="">Nx-energy_loxone_protocol.txt</a> (Size: 2.34 KB / Downloads: 58)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[N20 smart energy meter ESP32 system block diagram]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9305</link>
			<pubDate>Sat, 02 May 2026 19:49:11 +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=9305</guid>
			<description><![CDATA[N20 smart energy meter ESP32 system block diagram<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=9733" target="_blank" title="">KinCony-N20-smart-energy-meter-diagram.png</a> (Size: 1.55 MB / Downloads: 92)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[N20 smart energy meter ESP32 system block diagram<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=9733" target="_blank" title="">KinCony-N20-smart-energy-meter-diagram.png</a> (Size: 1.55 MB / Downloads: 92)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<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: 109)
<!-- 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: 104)
<!-- 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: 109)
<!-- 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: 104)
<!-- 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: 105)
<!-- 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: 105)
<!-- 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: 124)
<!-- 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: 123)
<!-- 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: 121)
<!-- 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: 129)
<!-- 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: 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="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: 123)
<!-- 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: 131)
<!-- 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: 113)
<!-- 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: 92)
<!-- 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: 124)
<!-- 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: 123)
<!-- 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: 121)
<!-- 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: 129)
<!-- 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: 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="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: 123)
<!-- 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: 131)
<!-- 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: 113)
<!-- 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: 92)
<!-- 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: 114)
<!-- 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: 114)
<!-- 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: 232)
<!-- 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: 232)
<!-- 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: 226)
<!-- 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: 227)
<!-- 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: 207)
<!-- 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: 226)
<!-- 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: 227)
<!-- 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: 207)
<!-- 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: 167)
<!-- 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: 171)
<!-- 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: 167)
<!-- 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: 171)
<!-- 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: 275)
<!-- 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: 275)
<!-- 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: 219)
<!-- 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: 219)
<!-- 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: 380)
<!-- 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: 367)
<!-- 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: 380)
<!-- 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: 367)
<!-- 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>
	</channel>
</rss>