{"id":179,"date":"2023-09-11T18:35:13","date_gmt":"2023-09-11T18:35:13","guid":{"rendered":"https:\/\/hybrydaplus.pl\/?p=179"},"modified":"2024-07-28T12:43:24","modified_gmt":"2024-07-28T12:43:24","slug":"komunikacja-z-falownikiem-deye","status":"publish","type":"post","link":"https:\/\/hybrydaplus.pl\/index.php\/2023\/09\/11\/komunikacja-z-falownikiem-deye\/","title":{"rendered":"Komunikacja z falownikiem DEYE"},"content":{"rendered":"\n<p class=\"has-vivid-cyan-blue-color has-text-color\">Na wst\u0119pie dzi\u0119kuj\u0119 za prac\u0119 wykonan\u0105 przez koleg\u0119 <strong><a href=\"https:\/\/github.com\/slipx06\">slipx06<\/a> &#8211; <a href=\"https:\/\/github.com\/slipx06\/Sunsynk-Home-Assistant-Dash\">Link do jego REPO na githubie. <\/a><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>W dzisiejszym wpisie na blogu om\u00f3wimy komunikacj\u0119 falownika z serwerem Home Assistant. Warunkiem koniecznym jest uruchomienie serwera HA, je\u017celi zapoznali\u015bcie si\u0119 z tym <a href=\"https:\/\/hybrydaplus.pl\/index.php\/2023\/09\/09\/ha-za-100-zl-tak-to-mozliwe\/\">wpisem<\/a> to ju\u017c wiecie jak to zrobi\u0107. Oto co potrzebujemy : <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Mikrokontroler ESP32<\/strong> &#8211; <a href=\"https:\/\/allegro.pl\/oferta\/358-esp-32s-esp-wroom-32-esp32-wifi-arduino-240mhz-12220825317?fbclid=IwAR0X7dc44kUf0ax5A2grbQ9ONjhmI9Iv9ip6qEQguyY7Q6AbXNDI0D74eeI\">link do mojego zakupu<\/a><\/li>\n\n\n\n<li><strong>Modu\u0142 konwerter UART TTL do RS485<\/strong> &#8211;<a href=\"https:\/\/allegro.pl\/oferta\/603-modul-konwerter-uart-ttl-do-rs485-cia00485t-13083633646?fbclid=IwAR3xhTG1L-CxTtdzj0T9MBlZhz2VbcS0rAtFPVUDvnDnCx4ONuHRthOZ_EQ\"> link do mojego zakupu<\/a><\/li>\n\n\n\n<li><strong>Zasilacz 5V 700mA<\/strong> &#8211; <a href=\"https:\/\/allegro.pl\/oferta\/320-przetwornica-zasilacz-5v-700ma-separacja-9382408925?fbclid=IwAR1Gq-ljLE71zV7aoTkWNY9zQBSesV68ZNjxz-097juI1KQfMVSratvFfKI\">link do mojego zakupu<\/a><\/li>\n\n\n\n<li><strong>Kable po\u0142\u0105czeniowe m\u0119sko-\u017ce\u0144skie 20cm<\/strong>&nbsp; &#8211;<a href=\"https:\/\/allegro.pl\/oferta\/090-kable-polaczeniowe-mesko-zenskie-20cm-10szt-9206028351?fbclid=IwAR2F7_AE2GN6MYz7hq9ggkCPQIwr2WAmT4YGvCrxG3aiWrwx-p9mCqK-SeY\"> link do mojego zakupu<\/a><\/li>\n\n\n\n<li><strong>Kabel RJ-45<\/strong><\/li>\n\n\n\n<li><strong>Przew\u00f3d USB &#8211; miniUSB<\/strong><\/li>\n\n\n\n<li><strong>Dost\u0119p do komputera \ud83d\ude42 <\/strong><\/li>\n\n\n\n<li><strong>Platforma Home Assistant <\/strong><\/li>\n\n\n\n<li><strong>Dost\u0119p do Wi-Fi<\/strong><\/li>\n\n\n\n<li><strong>Przyk\u0142adowy plik konfiguracyjny YAML<\/strong><\/li>\n<\/ol>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Mamy ju\u017c wszystko skompletowane to mamy teraz dwie mo\u017cliwo\u015bci po\u0142\u0105czenia, schematy poni\u017cej (przy 2 schemacie nale\u017cy dokupi\u0107 przetwornice z 12V na 5V, <a href=\"https:\/\/allegro.pl\/oferta\/step-down-przetwornica-usb-5v-ladowarka-12-24v-3a-10726198686\">link)<\/a><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>230V<\/li>\n\n\n\n<li>12V<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"1005\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone-1024x1005.jpg\" alt=\"\" class=\"wp-image-446\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone-1024x1005.jpg 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone-300x294.jpg 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone-768x754.jpg 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone-800x785.jpg 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/prawidlowy-na-strone.jpg 1450w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"1005\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V-1024x1005.jpg\" alt=\"\" class=\"wp-image-450\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V-1024x1005.jpg 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V-300x294.jpg 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V-768x754.jpg 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V-800x785.jpg 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/rs48512V.jpg 1450w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Warto w tym miejscu napisa\u0107 o kolorach w RJ45 i porcie w falowniku. Tak jak to wynika z instrukcji uk\u0142ad pin\u00f3w w porcie BMS485 wygl\u0105da nast\u0119puj\u0105co: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"516\" height=\"242\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/Portydeye.png\" alt=\"\" class=\"wp-image-251\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/Portydeye.png 516w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/Portydeye-300x141.png 300w\" sizes=\"(max-width: 516px) 100vw, 516px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A co za tym idzie RJ45 ma nast\u0119puj\u0105ce wygl\u0105d: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"238\" height=\"400\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/RJ45deye.png\" alt=\"\" class=\"wp-image-252\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/RJ45deye.png 238w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/RJ45deye-179x300.png 179w\" sizes=\"(max-width: 238px) 100vw, 238px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Czyli ca\u0142o\u015b\u0107 pod\u0142\u0105czmy tak jak w pierwszym schemacie:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Jasno pomara\u0144czowy do pinu B+ w module UART<\/li>\n\n\n\n<li>Pomara\u0144czowy do pinu A+ w module UART<\/li>\n\n\n\n<li>Jasno zielony do pinu GND w module UART<\/li>\n<\/ol>\n\n\n\n<p>A gdzie szuka\u0107 portu w falowniku? Zobaczcie przyk\u0142ad poni\u017cej: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"627\" height=\"508\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/bms485.jpeg\" alt=\"\" class=\"wp-image-253\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/bms485.jpeg 627w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/bms485-300x243.jpeg 300w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po pod\u0142\u0105czeniu wszystkiego w ca\u0142o\u015b\u0107 przyst\u0119pujemy do najwa\u017cniejszej cz\u0119\u015bci &#8211; programowania ESP32 do komunikacji z falownikiem. Uruchamiamy wcze\u015bniej zainstalowany system HA (wchodzimy na adres <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">homeassistant.local:8123<\/mark> ) po pierwszym uruchomieniu mo\u017cemy zobaczy\u0107 widok jak poni\u017cej, niestety system nie jest jeszcze gotowy i musimy odczeka\u0107 kilka minut. <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"637\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup-1024x637.png\" alt=\"\" class=\"wp-image-181\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup-1024x637.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup-300x186.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup-768x477.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup-800x497.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup.png 1414w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po uruchomieniu systemu tworzymy nowego u\u017cytkownika. <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"791\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup2.png\" alt=\"\" class=\"wp-image-183\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup2.png 806w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup2-300x294.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup2-768x754.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup2-800x785.png 800w\" sizes=\"(max-width: 806px) 100vw, 806px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po potwierdzeniu kilku ustawie\u0144 zobaczymy nast\u0119puj\u0105cy ekran: <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"651\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-1024x651.png\" alt=\"\" class=\"wp-image-184\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-1024x651.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-300x191.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-768x489.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-800x509.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3-320x202.png 320w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup3.png 1509w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Instalujemy pierwszy dodatek jakim jest ESPHOME, kolejno Ustawienia =&gt;Dodatki =&gt;Sklep z dodatkami<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"689\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4-1024x689.png\" alt=\"\" class=\"wp-image-185\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4-1024x689.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4-300x202.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4-768x517.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4-800x539.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup4.png 1423w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-1024x512.png\" alt=\"\" class=\"wp-image-186\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-1024x512.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-300x150.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-768x384.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-1536x768.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5-800x400.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup5.png 1905w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wyszukujemy dodatek ESPHOME i klikamy w ikon\u0119 : <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"516\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-1024x516.png\" alt=\"\" class=\"wp-image-187\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-1024x516.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-300x151.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-768x387.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-1536x773.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6-800x403.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup6.png 1889w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Instalacja polega na naci\u015bni\u0119ciu napisu ZAINSTALUJ <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"652\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8-1024x652.png\" alt=\"\" class=\"wp-image-189\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8-1024x652.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8-300x191.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8-768x489.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8-800x509.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup8.png 1486w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ok, mamy ESPHome zainstalowane, dla u\u0142atwienia dalszej pracy zaznaczamy dwa pola. Obserwator i Poka\u017c na pasku bocznym + najwa\u017cniejsze <strong>URUCHOM <\/strong><\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"676\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1-1024x676.png\" alt=\"\" class=\"wp-image-192\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1-1024x676.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1-300x198.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1-768x507.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1-800x528.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup9-1.png 1439w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>ESPHome gotowy wi\u0119c zabieramy si\u0119 za instalacje oprogramowania na ESP32. Klikamy na pasku bocznym w napis ESPHome a nast\u0119pnie + NEW DEVICE<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"689\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10-1024x689.png\" alt=\"\" class=\"wp-image-193\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10-1024x689.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10-300x202.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10-768x517.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10-800x539.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup10.png 1420w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pojawi si\u0119 kolejne okno &#8211; klikamy CONTINUE<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"667\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11-1024x667.png\" alt=\"\" class=\"wp-image-194\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11-1024x667.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11-300x195.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11-768x500.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11-800x521.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup11.png 1475w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Na kolejnym ekranie podajemy nazw\u0119 instalacji i dane sieci WIFI jak w przyk\u0142adzie poni\u017cej: <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"703\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1-1024x703.png\" alt=\"\" class=\"wp-image-196\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1-1024x703.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1-300x206.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1-768x527.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1-800x549.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup12-1.png 1399w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kolejny ekran to wyb\u00f3r platformy do programowania &#8211; wybieramy ESP32<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"688\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13-1024x688.png\" alt=\"\" class=\"wp-image-197\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13-1024x688.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13-300x201.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13-768x516.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13-800x537.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup13.png 1437w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pny ekran, naciskamy Install<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"700\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14-1024x700.png\" alt=\"\" class=\"wp-image-198\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14-1024x700.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14-300x205.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14-768x525.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14-800x547.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup14.png 1383w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Na kolejnym ekranie mo\u017cemy wybra\u0107 Cancel i przej\u015b\u0107 do edycji pliku YAML<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17-1024x683.png\" alt=\"\" class=\"wp-image-200\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17-1024x683.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17-300x200.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17-768x512.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17-800x533.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup17.png 1443w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Widok edycji pliku YAML, ja osobi\u015bcie kopiuje dane z widoku do notatnika <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"517\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-1024x517.png\" alt=\"\" class=\"wp-image-207\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-1024x517.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-300x151.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-768x388.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-1536x775.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22-800x404.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup22.png 1894w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W miejsce kodu wklejam gotowy rozwi\u0105zanie od kolegi <a href=\"https:\/\/github.com\/slipx06\">slipx06<\/a> &#8211; <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-cyan-bluish-gray-color\"><a href=\"https:\/\/github.com\/slipx06\/Sunsynk-Home-Assistant-Dash\/blob\/main\/ESPHome-8K-Sunsynk.yaml\"><strong>wersja do falownik\u00f3w 1 fazowych <\/strong><\/a> <\/mark>(kliknij w link lub skopiuj kod poni\u017cej) UWAGA do kopiowania u\u017cywamy poni\u017cej zaznaczonego przycisku. <\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"height-set:true height:350 lang:default decode:true \" >substitutions:\n  settings_skipped_updates: \"30\"\n  devicename: sunsynk\n  device_description: \"Sunsynk RS485 Logger\"\n  friendly_name: \"SunSynk\"\n\nesphome:\n  name: $devicename\n  comment: '${device_description}'\n  \nesp32:\n  board: nodemcu-32s\n  framework:\n    type: arduino\n\n# Enable logging\nlogger:\n  baud_rate: 0\n\n# Enable Home Assistant API\napi:\n  encryption:\n    key: !secret api_encryption_key\n\nota:\n  platform: esphome\n  password: !secret ota_password_sunsynk\n\nwifi:\n  ssid: !secret wifi_ssid\n  password: !secret wifi_password\n\n  # Enable fallback hotspot (captive portal) in case wifi connection fails\n  ap:\n    ssid: '${devicename}'\n    password: !secret fallback_password\n\n  fast_connect: true\n  power_save_mode: none\n\ncaptive_portal:\n\n# Enable time component to reset energy at midnight\n# https:\/\/esphome.io\/components\/time.html#home-assistant-time-source\ntime:\n  - platform: homeassistant\n    id: homeassistant_time\n     \nuart:\n  id: mod_bus\n  tx_pin: GPIO17\n  rx_pin: GPIO16\n  baud_rate: 9600\n  stop_bits: 1\n \nmodbus:\n  id: sunsynk_modbus\n \nmodbus_controller:\n  - id: sunsynk\n    address: 0x01\n    modbus_id: sunsynk_modbus\n    setup_priority: -10\n    update_interval: \"15s\"\n    command_throttle: \"50ms\"\n\n############################################### BINARY SENSORS ########################################\nbinary_sensor:           \n  - platform: modbus_controller            # 194 Grid Connected Status\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Connected Status\"\n    id: sunsynk_esphome_grid_connected_status\n    register_type: holding\n    address: 194\n\n  - platform: modbus_controller           # 280 Gen Peak Shaving Status\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Gen Peak Shaving Status\"\n    id: sunsynk_esphome_gen_peak_shaving_status\n    register_type: holding\n    address: 280\n    bitmask: 0x10\n\n  - platform: modbus_controller           # 280 Grid Peak Shaving Status\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Peak Shaving Status\"\n    id: sunsynk_esphome_grid_peak_shaving_status\n    register_type: holding\n    address: 280\n    bitmask: 0x100\n\n#                                               SENSORS                                               #\n#######################################################################################################\n\n############################################### BATTERY ###############################################\nsensor:\n  - platform: modbus_controller            # 182 Battery Temperature\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery Temperature\"\n    id: sunsynk_esphome_battery_temperature\n    register_type: holding\n    address: 182\n    unit_of_measurement: \"\u00b0C\"\n    accuracy_decimals: 1\n    device_class: temperature\n    state_class: measurement\n    value_type: U_WORD \n    filters:\n      - offset: -1000\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 183 Battery Voltage\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery Voltage\"\n    id: sunsynk_esphome_battery_voltage\n    register_type: holding\n    address: 183\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 1\n    device_class: voltage\n    state_class: measurement\n    filters:\n      - multiply: 0.01\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 184 Battery SOC\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery SOC\"\n    id: sunsynk_esphome_battery_soc\n    register_type: holding\n    address: 184\n    unit_of_measurement: \"%\"\n    accuracy_decimals: 0\n    device_class: battery\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 190 Battery Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery Power\"\n    id: sunsynk_esphome_battery_power\n    register_type: holding\n    address: 190\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    value_type: S_WORD\n\n  - platform: modbus_controller            # 191 Battery Current\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery Current\"\n    id: sunsynk_esphome_battery_current\n    register_type: holding\n    address: 191\n    unit_of_measurement: \"A\"\n    accuracy_decimals: 1\n    device_class: current\n    state_class: measurement\n    value_type: S_WORD\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller            # 217 Battery Capacity Shutdown\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Battery Capacity Shutdown\"\n    id: sunsynk_esphome_battery_capacity_shutdown\n    register_type: holding\n    address: 217\n    unit_of_measurement: \"%\"\n    accuracy_decimals: 0\n    device_class: battery\n\n############################################### INVERTER ##############################################\n\n  - platform: modbus_controller            # 175 Inverter Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Inverter Power\"\n    id: sunsynk_esphome_inverter_power\n    register_type: holding\n    address: 175\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    value_type: S_WORD\n\n  - platform: modbus_controller            # 154 Inverter Voltage\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Inverter Voltage\"\n    id: sunsynk_esphome_inverter_voltage\n    register_type: holding\n    address: 154\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 1\n    device_class: voltage\n    state_class: measurement\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD \n\n  - platform: modbus_controller            # 164 Inverter Current\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Inverter Current\"\n    id: sunsynk_esphome_inverter_current\n    register_type: holding\n    address: 164\n    unit_of_measurement: \"A\"\n    accuracy_decimals: 1\n    device_class: current\n    state_class: measurement\n    value_type: S_WORD\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller            # 193 Inverter Frequency\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Inverter Frequency\"\n    id: sunsynk_esphome_inverter_frequency\n    register_type: holding\n    address: 193\n    unit_of_measurement: \"Hz\"\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n    value_type: U_WORD\n    state_class: measurement\n\n############################################### GRID ##################################################\n\n  - platform: modbus_controller             # 079 Grid Frequency\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Frequency\"\n    id: sunsynk_esphome_grid_frequency\n    register_type: holding\n    address: 79\n    unit_of_measurement: \"Hz\"\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n    value_type: U_WORD\n    state_class: measurement\n\n  - platform: modbus_controller             # 169 Grid Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Power\"\n    id: sunsynk_esphome_grid_power_169\n    register_type: holding\n    address: 169\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller             # 167 Grid LD Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid LD Power 167\"\n    id: sunsynk_esphome_grid_power_167\n    register_type: holding\n    address: 167\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller             # 168 Grid L2 Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid L2 Power 168\"\n    id: sunsynk_esphome_grid_power_168\n    register_type: holding\n    address: 168\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller             # 150 Grid Voltage\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Voltage\"\n    id: sunsynk_esphome_grid_voltage\n    register_type: holding\n    address: 150\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 1\n    device_class: voltage\n    state_class: measurement\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD \n\n  - platform: modbus_controller             # 160 Grid Current\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Current\"\n    id: sunsynk_esphome_grid_current\n    register_type: holding\n    address: 160\n    unit_of_measurement: \"A\"\n    accuracy_decimals: 1\n    device_class: current\n    state_class: measurement\n    value_type: S_WORD\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller             # 172 Grid CT Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid CT Power\"\n    id: sunsynk_esphome_grid_ct_power\n    register_type: holding\n    address: 172\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n############################################### LOAD ################################################\n\n  - platform: modbus_controller            # 178 Load Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Load Power\"\n    id: sunsynk_esphome_load_power\n    register_type: holding\n    address: 178\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller            # 176 Load L1 Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Load L1 Power\"\n    id: sunsynk_esphome_load_l1_power\n    register_type: holding\n    address: 176\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller            # 177 Load L2 Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Load L2 Power\"\n    id: sunsynk_esphome_load_l2_power\n    register_type: holding\n    address: 177\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: modbus_controller            # 192 Load Frequency\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Load Frequency\"\n    id: sunsynk_esphome_load_frequency\n    register_type: holding\n    address: 192\n    unit_of_measurement: \"Hz\"\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n    value_type: U_WORD\n    state_class: measurement\n\n############################################### SOLAR PV1 #############################################\n\n  - platform: modbus_controller            # 186 PV1 Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV1 Power\"\n    id: sunsynk_esphome_pv1_power\n    register_type: holding\n    address: 186\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 109 PV1 Voltage\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV1 Voltage\"\n    id: sunsynk_esphome_pv1_voltage\n    register_type: holding\n    address: 109\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 110 PV1 Current\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV1 Current\"\n    id: sunsynk_esphome_pv1_current\n    register_type: holding\n    address: 110\n    unit_of_measurement: \"A\"\n    accuracy_decimals: 1\n    device_class: current\n    state_class: measurement\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD\n\n############################################### SOLAR PV2 #############################################\n\n  - platform: modbus_controller            # 187 PV2 Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV2 Power\"\n    id: sunsynk_esphome_pv2_power\n    register_type: holding\n    address: 187\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 111 PV2 Voltage\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV2 Voltage\"\n    id: sunsynk_esphome_pv2_voltage\n    register_type: holding\n    address: 111\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 1\n    filters:\n      - multiply: 0.1\n    device_class: voltage\n    state_class: measurement\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 112 PV2 Current\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} PV2 Current\"\n    id: sunsynk_esphome_pv2_current\n    register_type: holding\n    address: 112\n    unit_of_measurement: \"A\"\n    accuracy_decimals: 1\n    device_class: current\n    state_class: measurement\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD\n\n############################################### SOLAR TOTAL ###########################################\n\n  - platform: template                   # Sum of PV1 and PV2 to get total PV Power\n    name: \"${friendly_name} Solar Power\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    lambda: |-\n      return (id(sunsynk_esphome_pv1_power).state + id(sunsynk_esphome_pv2_power).state);\n    update_interval: 5s\n\n############################################### OUTPUTS ###############################################\n\n  - platform: modbus_controller            # 166 Aux Power\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} AUX Power\"\n    id: sunsynk_esphome_aux_power\n    register_type: holding\n    address: 166\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    value_type: S_WORD\n\n  - platform: template                   # Essential Power based on register 175 + 167 - 166\n    name: \"${friendly_name} Essential Power\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    lambda: |-\n      return (id(sunsynk_esphome_inverter_power).state + id(sunsynk_esphome_grid_power_167).state - id(sunsynk_esphome_aux_power).state);\n    update_interval: 5s\n\n  - platform: template                   # Essential Power1 based on register 175 + 169 - 166\n    name: \"${friendly_name} Essential Power 1\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    lambda: |-\n      return (id(sunsynk_esphome_inverter_power).state + id(sunsynk_esphome_grid_power_169).state - id(sunsynk_esphome_aux_power).state);\n    update_interval: 5s\n\n  - platform: template                   # Nonessential Power 172 - 167\n    name: \"${friendly_name} Nonessential Power\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    lambda: |-\n      return (id(sunsynk_esphome_grid_ct_power).state - id(sunsynk_esphome_grid_power_167).state);\n    update_interval: 5s\n\n  - platform: template                   # Nonessential Power1 172 - 169\n    name: \"${friendly_name} Nonessential Power 1\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: measurement\n    lambda: |-\n      return (id(sunsynk_esphome_grid_ct_power).state - id(sunsynk_esphome_grid_power_169).state);\n    update_interval: 5s\n\n############################################### ENERGY ################################################\n\n  - platform: modbus_controller            # 070 Day Battery Charge\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day Battery Charge\"\n    id: sunsynk_esphome_day_battery_charge\n    register_type: holding\n    address: 70\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 071 Day Battery Discharge\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day Battery Discharge\"\n    id: sunsynk_esphome_day_battery_discharge\n    register_type: holding\n    address: 71\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 072 Total Battery Charge\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total Battery Charge\"\n    id: sunsynk_esphome_total_battery_charge\n    register_type: holding\n    address: 72\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_DWORD_R\n    filters:\n     - multiply: 0.1\n\n  - platform: modbus_controller            # 074 Total Battery Discharge\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total Battery Discharge\"\n    id: sunsynk_esphome_total_battery_discharge\n    register_type: holding\n    address: 74\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 0\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_DWORD_R\n    filters:\n     - multiply: 0.1\n\n  - platform: modbus_controller            # 076 Day Grid Import\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day Grid Import\"\n    id: sunsynk_esphome_day_grid_import\n    register_type: holding\n    address: 76\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 077 Day Grid Export\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day Grid Export\"\n    id: sunsynk_esphome_day_grid_export\n    register_type: holding\n    address: 77\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 078 Total Grid Import\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total Grid Import\"\n    id: sunsynk_esphome_total_grid_import\n    register_type: holding\n    address: 78\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 2\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 081 Total Grid Export\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total Grid Export\"\n    id: sunsynk_esphome_total_grid_export\n    register_type: holding\n    address: 81\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 2\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_WORD\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 084 Day Load Energy\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day Load Energy\"\n    id: sunsynk_esphome_day_load_energy\n    register_type: holding\n    address: 84\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 2\n    device_class: energy\n    state_class: total_increasing\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 085 Total Load Energy\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total Load Energy\"\n    id: sunsynk_esphome_total_load_energy\n    register_type: holding\n    address: 85\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 2\n    device_class: energy\n    state_class: total_increasing\n    value_type: U_DWORD_R\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller            # 096 Total PV Energy\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Total PV Energy\"\n    id: sunsynk_esphome_total_pv_energy\n    register_type: holding\n    address: 96\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 2\n    device_class: energy\n    state_class: total_increasing\n    filters:\n      - multiply: 0.1\n    value_type: U_DWORD_R  \n\n  - platform: modbus_controller            # 108 Day PV Energy\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Day PV Energy\"\n    id: sunsynk_esphome_day_pv_energy\n    register_type: holding\n    address: 108\n    unit_of_measurement: \"kWh\"\n    accuracy_decimals: 1\n    device_class: energy\n    state_class: total_increasing\n    filters:\n      - multiply: 0.1\n    value_type: U_WORD\n\n############################################### TEMPERATURE ################################################\n\n  - platform: modbus_controller            # 090 DC Transformer Temperature\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} DC Transformer Temperature\"\n    id: sunsynk_esphome_dc_transformer_temperature\n    register_type: holding\n    address: 090\n    unit_of_measurement: \"\u00b0C\"\n    accuracy_decimals: 1\n    device_class: temperature\n    state_class: measurement\n    value_type: S_WORD\n    filters:\n      - offset: -1000\n      - multiply:  0.1\n\n  - platform: modbus_controller            # 091 Radiator Temperature\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Radiator Temperature\"\n    id: sunsynk_esphome_radiator_temperature\n    register_type: holding\n    address: 091\n    unit_of_measurement: \"\u00b0C\"\n    accuracy_decimals: 1\n    device_class: temperature\n    state_class: measurement\n    value_type: S_WORD\n    filters:\n      - offset: -1000\n      - multiply:  0.1\n\n################################################ READ SETTINGS #############################################\n\n  - platform: modbus_controller          # 250 System Mode Time 1\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time1\"\n    id: sunsynk_esphome_system_mode_time1\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 250\n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller          # 251 System Mode Time 2\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time2\"\n    id: sunsynk_esphome_system_mode_time2\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 251   \n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller          # 252 System Mode Time 3\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time3\"\n    id: sunsynk_esphome_system_mode_time3\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 252\n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller          # 253 System Mode Time 4\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time4\"\n    id: sunsynk_esphome_system_mode_time4\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 253\n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller          # 254 System Mode Time 5\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time5\"\n    id: sunsynk_esphome_system_mode_time5\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 254\n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller          # 255 System Mode Time 6\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Time6\"\n    id: sunsynk_esphome_system_mode_time6\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    address: 255\n    icon: \"mdi:clock\"\n\n  - platform: modbus_controller        # 255 Grid Peak Shaving raw register value\n    modbus_controller_id: sunsynk\n    id: grid_peak_shaving_raw\n    register_type: holding\n    address: 280\n    value_type: U_WORD\n\n################################################ WRITE SETTINGS ############################################\n\nswitch:\n  - platform: modbus_controller          # 326 Toggle Force Generator\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Toggle Force Generator\"\n    id: sunsynk_esphome_toggle_force_generator\n    register_type: holding\n    address: 326\n    bitmask: 8192 # 2^13 to target bit 13\n    icon: \"mdi:toggle-switch\"\n    \n  - platform: modbus_controller          # 247 Toggle Solar Sell\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Toggle Solar sell\"\n    id: sunsynk_esphome_toggle_solar_sell\n    register_type: holding\n    address: 247\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 248 Toggle System Timer\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Toggle System Timer\" \n    id: sunsynk_esphome_toggle_Time_of_Use\n    register_type: holding\n    address: 248\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 243 Priority Load\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Toggle Priority Load\" \n    id: sunsynk_esphome_toggle_priority_load\n    register_type: holding\n    address: 243\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 274 System Mode Grid Charge Time 1\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} System Mode Grid Charge Time1\"\n    id: sunsynk_esphome_toggle_grid_charge_time1\n    register_type: holding\n    address: 274\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 275 System Mode Grid Charge Time 2\n    modbus_controller_id: sunsynk\n    use_write_multiple: true\n    name: \"${friendly_name} System Mode Grid Charge Time2\"\n    id: sunsynk_esphome_toggle_grid_charge_time2\n    register_type: holding\n    address: 275\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 276 System Mode Grid Charge Time 3\n    modbus_controller_id: sunsynk\n    use_write_multiple: true\n    name: \"${friendly_name} System Mode Grid Charge Time3\"\n    id: sunsynk_esphome_toggle_grid_charge_time3\n    register_type: holding\n    address: 276\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 277 System Mode Grid Charge Time 4\n    modbus_controller_id: sunsynk\n    use_write_multiple: true\n    name: \"${friendly_name} System Mode Grid Charge Time4\"\n    id: sunsynk_esphome_toggle_grid_charge_time4\n    register_type: holding\n    address: 277\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 278 System Mode Grid Charge Time 5\n    modbus_controller_id: sunsynk\n    use_write_multiple: true\n    name: \"${friendly_name} System Mode Grid Charge Time5\"\n    id: sunsynk_esphome_toggle_grid_charge_time5\n    register_type: holding\n    address: 278\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\n  - platform: modbus_controller          # 279 System Mode Grid Charge Time 6\n    modbus_controller_id: sunsynk\n    use_write_multiple: true\n    name: \"${friendly_name} System Mode Grid Charge Time6\"\n    id: sunsynk_esphome_toggle_grid_charge_time6\n    register_type: holding\n    address: 279\n    bitmask: 1\n    icon: \"mdi:toggle-switch\"\n\nnumber:\n  - platform: modbus_controller         # 268 System Mode SoC Time 1\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time1\n    name: \"${friendly_name} System Mode SoC Time1\"\n    unit_of_measurement: \"%\"\n    address: 268\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 269 System Mode SoC Time 2\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time2\n    name: \"${friendly_name} System Mode SoC Time2\"\n    unit_of_measurement: \"%\"\n    address: 269\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 270 System Mode SoC Time 3\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time3\n    name: \"${friendly_name} System Mode SoC Time3\"\n    unit_of_measurement: \"%\"\n    address: 270\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 271 System Mode SoC Time 4\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time4\n    name: \"${friendly_name} System Mode SoC Time4\"\n    unit_of_measurement: \"%\"\n    address: 271\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 272 System Mode SoC Time 5\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time5\n    name: \"${friendly_name} System Mode SoC Time5\"\n    unit_of_measurement: \"%\"\n    address: 272\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 273 System Mode SoC Time 6\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_soc_time6\n    name: \"${friendly_name} System Mode SoC Time6\"\n    unit_of_measurement: \"%\"\n    address: 273\n    min_value: 0\n    max_value: 100\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 256 System Mode Power Time 1\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time1\n    name: \"${friendly_name} System Mode Power Time1\"\n    unit_of_measurement: \"W\"\n    address: 256\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 257 System Mode Power Time 2\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time2\n    name: \"${friendly_name} System Mode Power Time2\"\n    unit_of_measurement: \"W\"\n    address: 257\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 258 System Mode Power Time 3\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time3\n    name: \"${friendly_name} System Mode Power Time3\"\n    unit_of_measurement: \"W\"\n    address: 258\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 259 System Mode Power Time 4\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time4\n    name: \"${friendly_name} System Mode Power Time4\"\n    unit_of_measurement: \"W\"\n    address: 259\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 260 System Mode Power Time 5\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time5\n    name: \"${friendly_name} System Mode Power Time5\"\n    unit_of_measurement: \"W\"\n    address: 260\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 261 System Mode Power Time 6\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_set_power_time6\n    name: \"${friendly_name} System Mode Power Time6\"\n    unit_of_measurement: \"W\"\n    address: 261\n    min_value: 0\n    max_value: 8000\n    step: 100\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 230 Grid Charge Battery current\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_grid_charge_bat_current\n    name: \"${friendly_name} Grid Charge Battery current\"\n    unit_of_measurement: \"A\"\n    address: 230\n    min_value: 0\n    max_value: 185\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 210 Battery Max Charge current\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_bat_max_charge_current\n    name: \"${friendly_name} Battery Max Charge current\"\n    unit_of_measurement: \"A\"\n    address: 210\n    min_value: 0\n    max_value: 185\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller         # 211 Battery Max Discharge current\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_bat_max_discharge_current\n    name: \"${friendly_name} Battery Max Discharge current\"\n    unit_of_measurement: \"A\"\n    address: 211\n    min_value: 0\n    max_value: 185\n    step: 5\n    value_type: U_WORD  \n\n  - platform: modbus_controller            # 293 Grid Peak Shaving Power\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Peak shaving power\"\n    id: sunsynk_grid_peak_shaving_power\n    address: 293\n    unit_of_measurement: \"W\"\n    min_value: 0\n    max_value: 8000\n    step: 500\n    value_type: U_WORD\n\n  - platform: modbus_controller            # 245 Max Sell Power\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Max Sell power\"\n    id: sunsynk_max_sell_power\n    address: 245\n    unit_of_measurement: \"W\"\n    min_value: 0\n    max_value: 8000\n    step: 500\n    value_type: U_WORD\n\n\n################################################ TEXT SENSORS ##################################################\n\ntext_sensor:\n  - platform: modbus_controller            # 059 Overall State\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Overall State\"\n    id: sunsynk_esphome_overall_state\n    register_type: holding\n    skip_updates: ${settings_skipped_updates}\n    raw_encode: HEXBYTES\n    address: 59\n    lambda: |- \n      uint16_t value = modbus_controller::word_from_hex_str(x, 0);\n      switch (value) {\n        case 0: return std::string(\"standby\");\n        case 1: return std::string(\"selftest\");\n        case 2: return std::string(\"normal\");\n        case 3: return std::string(\"alarm\");\n        case 4: return std::string(\"fault\");\n        default: return std::string(\"unknown\");\n      }\n\n  - platform: template\n    name: \"${friendly_name} Time Slot 1\"\n    id: sunsynk_esphome_time_slot_1\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time1).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time1).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time1).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n  - platform: template\n    name: \"${friendly_name} Time Slot 2\"\n    id: sunsynk_esphome_time_slot_2\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time2).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time2).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time2).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n  - platform: template\n    name: \"${friendly_name} Time Slot 3\"\n    id: sunsynk_esphome_time_slot_3\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time3).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time3).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time3).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n  - platform: template\n    name: \"${friendly_name} Time Slot 4\"\n    id: sunsynk_esphome_time_slot_4\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time4).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time4).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time4).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n  - platform: template\n    name: \"${friendly_name} Time Slot 5\"\n    id: sunsynk_esphome_time_slot_5\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time5).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time5).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time5).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n  - platform: template\n    name: \"${friendly_name} Time Slot 6\"\n    id: sunsynk_esphome_time_slot_6\n    icon: \"mdi:clock\"\n    lambda: |-\n        int minutes, hours;\n        if (id(sunsynk_esphome_system_mode_time6).state) {\n        minutes = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time6).state) % 100;\n        hours = static_cast&lt;int&gt;(id(sunsynk_esphome_system_mode_time6).state) \/ 100;\n        } else {\n          minutes = 0;\n          hours = 0;\n        }\n        char formatted_time[6];\n        snprintf(formatted_time, sizeof(formatted_time), \"%02d:%02d\", hours, minutes);\n        return esphome::optional&lt;std::string&gt;(formatted_time);\n\n\n################################################ SELECT SENSORS ################################################\n\nselect:\n  - platform: modbus_controller                   #243 Select Energy Patern\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_select_energy_pattern\n    name: \"${friendly_name} Energy Pattern\"\n    address: 243\n    value_type: U_WORD\n    optionsmap:\n      \"Battery first\": 0\n      \"Load first\": 1   \n         \n  - platform: modbus_controller                   #244 Select Work Mode\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    id: sunsynk_esphome_select_work_mode\n    name: \"${friendly_name} Work Mode\"\n    address: 244\n    value_type: U_WORD\n    optionsmap:\n      \"Selling First\": 0\n      \"Zero Export + Limit to Load Only\": 1\n      \"Limited to Home\": 2    \n\n  - platform: modbus_controller                  #280 Select Grid Peak Shaving\n    use_write_multiple: true\n    modbus_controller_id: sunsynk\n    name: \"${friendly_name} Grid Peak Shaving\"\n    id: sunsynk_esphome_select_grid_peak_shaving\n    address: 280\n    value_type: U_WORD\n    optionsmap:\n      \"Disabled\": 0\n      \"Enabled\": 256\n    lambda: |-\n      \/\/ we are only interested in the 8th bit binary 0001 0000 0000 need to map the options 0, 256 in select \n      \/\/ESP_LOGE(\"main\",\"Modbus Number incoming value = %d\",x);\n      \/\/ESP_LOGE(\"main\",\"Modbus eval value = %d\",(x &amp; 0x0100));\n      if ((x &amp; 0x0100) == 0)\n        return  std::string(\"Disabled\");\n      if ((x &amp; 0x0100) == 256)\n        return  std::string(\"Enabled\");\n      return {};\n    write_lambda: |-\n      \/\/ESP_LOGE(\"main\",\"Modbus write gets = %d\",value);\n      uint16_t unmodified =  id(grid_peak_shaving_raw).state;\n      \/\/ESP_LOGE(\"main\",\"Modbus write unmodified = %d\", unmodified);\n      \/\/ optionsmap should only return 2 values... 0 , 256 so bitmask with complement 0x0100 to ensure we keep the original values in register. Then appply OR with the value that was chosen\n      uint16_t modified = ((unmodified &amp; ~0x0100) | value);\n      \/\/ESP_LOGE(\"main\",\"Modbus write to write = %d\", modified);\n      return modified;<\/pre><\/div>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"408\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-1024x408.png\" alt=\"\" class=\"wp-image-204\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-1024x408.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-300x120.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-768x306.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-800x319.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18-776x310.png 776w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup18.png 1454w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po skopiowaniu nasz plik b\u0119dzie wygl\u0105da\u0142 nast\u0119puj\u0105co: <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-1024x511.png\" alt=\"\" class=\"wp-image-206\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-1024x511.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-300x150.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-768x384.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-1536x767.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20-800x400.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup20.png 1904w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Teraz wklejamy skopiowane wcze\u015bniej informacje (z wcze\u015bniej opisanego notatnika ) : <\/p>\n\n\n\n<p class=\"has-vivid-red-color has-text-color has-medium-font-size\"><strong>UWAGA ! Prosz\u0119 pami\u0119ta\u0107 o strukturze kodu &#8211; wci\u0119cia s\u0105 bardzo wa\u017cne \ud83d\ude42  <\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>API <\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code><code>api:\n  encryption:\n    key: !secret api_encryption_key<\/code><\/code><\/pre>\n\n\n\n<p>Wklejamy ten z notatnika (ka\u017cdy z Was b\u0119dzie posiada\u0142 inny) <\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code>api:\n  encryption:\n    key: \"myuAyzW\/VNW+Pi1UumdHE5yasVILYSQbklj519a1R7M=\"<\/code><\/pre>\n\n\n\n<p>      2. OTA<\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code>ota:\n  password: !secret ota_password_sunsynk<\/code><\/pre>\n\n\n\n<p>Wklejamy ten z notatnika (ka\u017cdy z Was b\u0119dzie posiada\u0142 inny) <\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code>ota:\n  password: \"6ccd5ea097f87d82bca25e0d0d68c58d\"<\/code><\/pre>\n\n\n\n<p>      3. WIFI &#8211; ja osobi\u015bcie zmieniam jeszcze dane od WiFi. Dodaj\u0119 sta\u0142e IP<\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code>wifi:\n  ssid: !secret wifi_ssid\n  password: !secret wifi_password\n\n  # Enable fallback hotspot (captive portal) in case wifi connection fails\n  ap:\n    ssid: '${devicename}'\n    password: !secret fallback_password\n\n  fast_connect: true\n  power_save_mode: none<\/code><\/pre>\n\n\n\n<p>Po zmianach powinno to wygl\u0105da\u0107 jak przyk\u0142ad poni\u017cej (ka\u017cdy z Was b\u0119dzie posiada\u0142 inny) <\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#abb7c28f\"><code>wifi:\n  ssid: !secret wifi_ssid\n  password: !secret wifi_password\n  manual_ip:\n    static_ip: 192.168.68.55 ######## IP z Twojej puli adresu\n    gateway: 192.168.68.1\n    subnet: 255.255.255.0\n\n# Enable fallback hotspot (captive portal) in case wifi connection fails\n  ap:\n    ssid: \"${device_name}_Hotspot\"\n    password: \"1234567890\"\n\n  fast_connect: true\n  power_save_mode: none<\/code><\/pre>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>   Po wszystkich modyfikacjach zapisujemy plik i rozpoczynamy instalacj\u0119: <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"518\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-1024x518.png\" alt=\"\" class=\"wp-image-210\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-1024x518.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-300x152.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-768x388.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-1536x776.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24-800x404.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup24.png 1909w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przy instalacji zaznaczmy PLUG INTO THIS COMPUTER <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-1024x511.png\" alt=\"\" class=\"wp-image-211\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-1024x511.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-300x150.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-768x383.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-1536x766.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25-800x399.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup25.png 1913w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>ESPHome zacznie kompilowa\u0107 i przygotowywa\u0107 plik z softem do ESP32, mamy napis &#8222;preparing download&#8221;<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-1024x510.png\" alt=\"\" class=\"wp-image-212\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-1024x510.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-300x149.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-768x383.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-1536x765.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26-800x399.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup26.png 1895w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po przygotowaniu pliku w okienku przycisk Download project staje si\u0119 aktywny, klikamy w niego i pobieramy plik. <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-1024x512.png\" alt=\"\" class=\"wp-image-213\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-1024x512.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-300x150.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-768x384.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-1536x768.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27-800x400.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup27.png 1893w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po pobraniu klikamy w przycisk &#8222;Open ESPHome Web&#8221; &#8211; otworzy si\u0119 nowa karta, pod\u0142\u0105czamy ESP32 do portu USB i naciskamy CONNECT<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-1024x507.png\" alt=\"\" class=\"wp-image-214\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-1024x507.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-300x149.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-768x380.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-1536x761.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29-800x396.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup29.png 1896w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wybieramy odpowiedni port USB (COM&#8230;.) do kt\u00f3rego pod\u0142\u0105czyli\u015bmy ESP32, naciskamy Po\u0142\u0105cz<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-1024x548.png\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-1024x548.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-300x160.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-768x411.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-1536x821.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30-800x428.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup30.png 1730w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kolejno wybieramy INSTALL =&gt; Wskazujemy wcze\u015bniej pobrany plik =&gt; INSTALL<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"493\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-1024x493.png\" alt=\"\" class=\"wp-image-217\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-1024x493.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-300x145.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-768x370.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-1536x740.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31-800x386.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup31.png 1907w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Rozpocznie si\u0119 instalacja : <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-1024x549.png\" alt=\"\" class=\"wp-image-218\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-1024x549.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-300x161.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-768x412.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-1536x824.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32-800x429.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup32.png 1570w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Je\u017celi wszystko wcze\u015bniej zrobili\u015bmy prawid\u0142owo zobaczymy ekran:<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-1024x490.png\" alt=\"\" class=\"wp-image-219\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-1024x490.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-300x144.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-768x368.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-1536x735.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33-800x383.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup33.png 1880w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Mo\u017cemy od\u0142\u0105czy\u0107 ESP32 od komputera i uda\u0107 si\u0119 do falownika \ud83d\ude42 W menu falownika odszukujemy Advance Function i ustawiamy :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MASTER<\/strong><\/li>\n\n\n\n<li><strong>Modbus SN na 01<\/strong><\/li>\n<\/ol>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"659\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1-1024x659.png\" alt=\"\" class=\"wp-image-441\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1-1024x659.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1-300x193.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1-768x495.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1-800x515.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/mod1-1.png 1146w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pod\u0142\u0105czamy do portu opisanego BMS485. <\/p>\n\n\n\n<p>Wracamy do naszego Home Assistant i przechodzimy USTAWIENIA =&gt; Urz\u0105dzenia oraz us\u0142ugi<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"607\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-1024x607.png\" alt=\"\" class=\"wp-image-220\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-1024x607.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-300x178.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-768x455.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-1536x911.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34-800x474.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup34.png 1621w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W sekcji WYKRYTE szukamy integracji ESPHome z nasz\u0105 nazw\u0105 i naciskamy Konfiguruj <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"516\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-1024x516.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-1024x516.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-300x151.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-768x387.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-1536x773.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35-800x403.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup35.png 1901w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przy pytaniu &#8211; Zatwierd\u017a<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"513\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-1024x513.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-1024x513.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-300x150.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-768x384.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-1536x769.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36-800x400.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup36.png 1914w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Integracja pojawi si\u0119 w sekcji Skonfigurowane, klikamy w napis poni\u017cej (1 urz\u0105dzenie)<\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"239\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-1024x239.png\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-1024x239.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-300x70.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-768x179.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-1536x358.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37-800x187.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup37.png 1647w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Je\u017celi mamy komunikacje z falownikiem zobaczymy takie dane: <\/p>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"508\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-1024x508.png\" alt=\"\" class=\"wp-image-224\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-1024x508.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-300x149.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-768x381.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-1536x762.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38-800x397.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup38.png 1892w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"509\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-1024x509.png\" alt=\"\" class=\"wp-image-225\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-1024x509.png 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-300x149.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-768x382.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-1536x764.png 1536w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39-800x398.png 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/09\/HAsetup39.png 1909w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:44px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Koniec! Mamy komunikacj\u0119 z falownikiem \ud83d\ude42  W kolejnym wpisie opisz\u0119 zrobienie Dashbordu. Zapraszam ! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na wst\u0119pie dzi\u0119kuj\u0119 za prac\u0119 wykonan\u0105 przez koleg\u0119 slipx06 &#8211; Link do jego REPO na githubie. W dzisiejszym wpisie na blogu om\u00f3wimy komunikacj\u0119 falownika z serwerem Home Assistant. Warunkiem koniecznym jest uruchomienie serwera HA, je\u017celi zapoznali\u015bcie si\u0119 z tym wpisem to ju\u017c wiecie jak to zrobi\u0107. Oto co potrzebujemy : Mamy ju\u017c wszystko skompletowane to mamy teraz dwie mo\u017cliwo\u015bci po\u0142\u0105czenia, schematy poni\u017cej (przy 2 schemacie nale\u017cy dokupi\u0107 przetwornice z 12V na 5V, link) Warto<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/hybrydaplus.pl\/index.php\/2023\/09\/11\/komunikacja-z-falownikiem-deye\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":277,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-179","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-komunikacja"],"_links":{"self":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/comments?post=179"}],"version-history":[{"count":42,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/179\/revisions"}],"predecessor-version":[{"id":825,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/179\/revisions\/825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/media\/277"}],"wp:attachment":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/media?parent=179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/categories?post=179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/tags?post=179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}