<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Licznik on Jonatan Miarecki</title><link>https://miarecki.eu/pl/tags/licznik/</link><description>The latest posts on Jonatan Miarecki</description><language>pl-pl</language><managingEditor>jonatan@miarecki.eu (Jonatan Miarecki)</managingEditor><webMaster>jonatan@miarecki.eu (Jonatan Miarecki)</webMaster><lastBuildDate>Wed, 08 Apr 2026 02:29:51 +0200</lastBuildDate><atom:link href="https://miarecki.eu/pl/tags/licznik/index.xml" rel="self" type="application/rss+xml"/><item><title>Czytnik licznika Smart Meter Language</title><link>https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/</link><pubDate>Mon, 27 Nov 2023 21:01:33 +0100</pubDate><author>jonatan@miarecki.eu (Jonatan Miarecki)</author><guid>https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/</guid><description>Ten projekt polega na odczytywaniu licznika energii elektrycznej za pomocą interfejsu SML i głowicy odczytu podczerwieni do lokalnej automatyki domowej</description><content:encoded> 
&lt;figure class="entry-cover">
        &lt;img loading="lazy" srcset='https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL_hu_a85831a0b06f8754.jpg 360w,https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL_hu_a3acca6a8bcc372b.jpg 480w,https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL_hu_cb1957fee5b386b2.jpg 720w,https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL_hu_e247f080a180d8e0.jpg 1080w,https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL.jpg 1200w' src="https://miarecki.eu/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL.jpg"
            sizes="(min-width: 768px) 720px, 100vw" width="1200" height="1084"
            alt="Układ projektu, pokazujący połączenie między W5500-EVB-Pico a głowicą odczytu podczerwieni, która odczytuje licznik energii elektrycznej.">
&lt;/figure>
<![CDATA[<p>Rozwój w dziedzinie automatyki domowej otwiera coraz to nowe możliwości efektywnego sterowania zużyciem energii w naszych domach. Istotnym krokiem w tym kierunku jest odczyt danych z inteligentnych liczników energii elektrycznej, aby uzyskać szczegółowe informacje o zużyciu energii. Dokładnie dlatego stworzyłem &ldquo;<dfn title="Smart Message Language">SML</dfn>-Reader&rdquo;, aby odczytywać dane w języku Smart Message Language, a następnie wysyłać je do systemów automatyki domowej, takich jak Home Assistant, za pomocą MQTT.</p>
<hr>
<h2 id="dlaczego-ten-projekt">Dlaczego ten projekt?</h2>
<p>Pomysł na ten projekt powstał z istniejących materiałów. Z już dostępnym W5500-EVB-Pico i potrzebą niezawodnego połączenia Ethernet w piwnicy, gdzie WLAN jest słaby, narodziła się motywacja do zaimplementowania Smart Message Language-Reader. W5500-EVB-Pico, niedroga i łatwa w użyciu płyta z mikrokontrolerem z portem Ethernet, zapewnia idealną podstawę do tego projektu. Ponadto ma dwa sprzętowe porty szeregowe, które pozwalają zarówno na połączenie z komputerem, jak i z głowicą odczytu podczerwieni.</p>
<p>Trudności w znalezieniu odpowiedniego oprogramowania z obsługą Ethernetu dla układu RP2040 (używanego w EVB-Pico) wzmocniły pragnienie opracowania rozwiązania na miarę. Na przykład Tasmota lub Tasmota nie są jeszcze dostępne dla układu RP2040 z W5500.</p>
<p>Kolejną przeszkodą było określenie kodów OBIS, które różnią się w zależności od licznika inteligentnego i konfiguracji. Jednak można to łatwo ustalić, korzystając z programu.</p>
<p>Ten projekt został umożliwiony dzięki Smart Message Language, która jest standardem transmisji danych o zużyciu energii. Smart Message Language jest używany w Niemczech do komunikacji między inteligentnymi licznikami a bramką inteligentnego licznika. SML jest również używany w innych krajach, takich jak Austria, Szwajcaria i Holandia.</p>
<h2 id="szczegóły-projektu">Szczegóły projektu</h2>
<h3 id="obsługiwane-liczniki-inteligentne">Obsługiwane liczniki inteligentne</h3>
<p>SML-Reader jest kompatybilny ze wszystkimi licznikami inteligentnymi obsługującymi protokół SML. Pomyślnie przetestowałem system z <a href="https://www.apator.com/de/produkte/strom/strommessung/moderne-messeinrichtung/picus">Apator PICUS</a>. Wyświetlane dane zależą od obsługiwanych i skonfigurowanych funkcji w liczniku inteligentnym. W niektórych przypadkach konieczne może być wykonanie pewnych ustawień w liczniku, takich jak wyłączenie PIN-u lub włączenie rozszerzonych trybów pracy (InF). Niektóre dane wymagają również ręcznego aktywowania przez interfejs LMN przez operatora sieci.</p>
<p>Dodatkowe kody OBIS można dodać, edytując listę obsługujących OBIS.</p>
<h3 id="sprzęt-i-oprogramowanie">Sprzęt i oprogramowanie</h3>
<ul>
<li><a href="https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico">Płyta z mikrokontrolerem W5500-EVB-Pico</a></li>
<li>Licznik energii elektrycznej zgodny z SML</li>
<li>Kabel Ethernet i połączenie</li>
<li>Połączenie zasilania</li>
<li>Serwer MQTT</li>
<li><a href="https://platformio.org/">PlatformIO</a> IDE</li>
<li>Projekt <a href="https://github.com/JonatanMGit/SML-Reader">SML-Reader</a></li>
</ul>
<h3 id="konfiguracja-sml-reader">Konfiguracja SML-Reader</h3>
<p>Edytuj plik <code>config.h</code> w projekcie SML-Reader, aby wprowadzić informacje o połączeniu do serwera MQTT. Tutaj wprowadzasz dane logowania MQTT. Dalsze ustawienia, takie jak statyczny adres IP lub inne kody OBIS, można dokonać w main.cpp.</p>
<p>Po zapisaniu pliku konfiguracyjnego możesz ponownie wgrać SML-Reader, aby zastosować zmiany. Plik konfiguracyjny jest zapisywany podczas wgrywania. Dynamiczna konfiguracja za pośrednictwem interfejsu sieciowego jest w toku.</p>
<p>Głowica odczytu musi również być podłączona poprawnie. Standardowe połączenia na płycie W5500-EVB-Pico wyglądają następująco:</p>
<ul>
<li>TX: GPIO04</li>
<li>RX: GPIO05</li>
<li>GND: GND</li>
<li>VCC: 3V3</li>
</ul>
<p>Konfiguracja powinna wyglądać tak:</p>
<figure>
    <img loading="lazy" src="/pl/posts/ha-licznik-sml/ha-licznik-sml/SML-Reader-PL.svg"
         alt="Diagram konfiguracji SML-Reader, pokazujący połączenie między W5500-EVB-Pico a głowicą odczytu podczerwieni. Piny są wymienione powyżej." width="100%"/> <figcaption>
            Diagram konfiguracji SML-Reader
        </figcaption>
</figure>

<p>Te połączenia pochodzą z drugiego sprzętowego szeregowego układu RP2040. Pierwszy sprzętowy szeregowy jest używany do połączenia z komputerem. Drugi sprzętowy szeregowy jest używany do połączenia z głowicą odczytu (UART0/UART1 i UART2)</p>
<h3 id="wgrywanie-sml-reader-z-platformio-w-vscode">Wgrywanie SML-Reader z PlatformIO w VSCode</h3>
<ol>
<li>Zainstaluj PlatformIO w VSCode</li>
<li>Sklonuj projekt <a href="https://github.com/JonatanMGit/SML-Reader">SML-Reader</a></li>
<li>Otwórz projekt w VSCode. PlatformIO powinno zobaczyć opcję kompilacji projektu bezpośrednio (wgrywanie)</li>
<li>Po skompilowaniu i wgraniu projektu SML-Reader powinien być gotowy do użycia.</li>
</ol>
<p>Jeśli wystąpią problemy z wgrywaniem, można również ręcznie skopiować pliki UF2 do urządzenia (trzymając Bootsel wciśnięty podczas tego procesu).</p>
<p>Po pomyślnym wgraniu SML-Reader powinien odbierać dane z licznika energii elektrycznej, a następnie wysyłać je do serwera MQTT.</p>
<h2 id="odczytywanie-danych-mqtt-w-home-assistant">Odczytywanie danych MQTT w Home Assistant</h2>
<p>Urzadzenie powinno teraz automatycznie wysyłać dane do serwera MQTT. Korzystając z <a href="https://www.home-assistant.io/integrations/mqtt#discovery-options">MQTT Discovery</a>, czujniki są automatycznie tworzone w Home Assistant. Czujniki można następnie wykorzystać w Home Assistant. Jeśli tak się nie stanie, zawsze można ręcznie wstawić zmierzone wartości w Home Assistant za pośrednictwem config.yaml.</p>
<p>Dane są wysyłane do <code>homeassistant/sensor/w5500-evb-pico/&lt;nazwa-wartości&gt;/state</code>, jeśli chcesz je zintegrować z innymi systemami.</p>
<h2 id="interfejs-sieciowy">Interfejs sieciowy</h2>
<p>Projekt ma interfejs sieciowy, który umożliwia wyświetlanie danych odczytanych z licznika energii elektrycznej. Interfejs jest dostępny za pośrednictwem adresu IP lub nazwy mDNS SML-Reader. Wyświetlane dane zależą od obsługiwanych i skonfigurowanych funkcji w liczniku inteligentnym.</p>
<h2 id="podsumowanie">Podsumowanie</h2>
<p>Projekt jest niedrogim i prostym rozwiązaniem do odczytywania danych SML z licznika inteligentnego, a następnie wysyłania ich do systemów automatyki domowej, takich jak Home Assistant, za pośrednictwem MQTT. Użycie W5500-EVB-Pico pozwala na niezawodne połączenie Ethernetowe, co jest korzystne dla lokalnej automatyki domowej. Interfejs sieciowy oferuje łatwy sposób na wyświetlanie danych z licznika energii elektrycznej. Użycie PlatformIO pozwala na łatwą instalację i konfigurację projektu.</p>
<h3 id="dalsze-informacje">Dalsze informacje</h3>
<p>Wielkie podziękowania dla biblioteki <a href="https://github.com/olliiiver/sml_parser">SML Parser</a>, która stanowi podstawę tego projektu.</p>
<p>Więcej informacji można znaleźć na stronie wersji niemieckiej.</p>
]]></content:encoded></item></channel></rss>