<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mqtt &#8211; tyminski.dev</title>
	<atom:link href="https://tyminski.dev/tag/mqtt/feed/" rel="self" type="application/rss+xml" />
	<link>https://tyminski.dev</link>
	<description>Praktyczna strona technologii</description>
	<lastBuildDate>Tue, 18 Aug 2026 12:55:35 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://tyminski.dev/wp-content/uploads/2026/04/cropped-logo_big_tracs_600x600-2-32x32.png</url>
	<title>mqtt &#8211; tyminski.dev</title>
	<link>https://tyminski.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Stacja pogodowa Garni INT 5 podłączona do Home Assistant za pomocą RTL-SDR V4</title>
		<link>https://tyminski.dev/stacja-pogodowa-garni-int-5-podlaczona-do-home-assistant-za-pomoca-rtl-sdr-v4/</link>
					<comments>https://tyminski.dev/stacja-pogodowa-garni-int-5-podlaczona-do-home-assistant-za-pomoca-rtl-sdr-v4/#respond</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Mon, 10 Aug 2026 15:24:30 +0000</pubDate>
				<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[Czujniki]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[Garni]]></category>
		<category><![CDATA[homeassistant]]></category>
		<category><![CDATA[mqtt]]></category>
		<category><![CDATA[rtl_433]]></category>
		<category><![CDATA[RTL-SDR]]></category>
		<guid isPermaLink="false">https://tyminski.dev/?p=2253</guid>

					<description><![CDATA[W przypadkowej rozmowie ze znajomy dowiedziałem się, że na zlocie krótkofalowców na jakimś targu kupił stacje meteo z demontażu i podłączył ją radiowo do Home Assistanta. Od razu powiedziałem, że jak tylko będzie miał jeszcze możliwość zakupu to od razu niech mi kupuje dwie. W razie jakby coś nie działało to będzie dawca części. Po&#8230; <br> <a class="read-more" href="https://tyminski.dev/stacja-pogodowa-garni-int-5-podlaczona-do-home-assistant-za-pomoca-rtl-sdr-v4/">Czytaj dalej</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">W przypadkowej rozmowie ze znajomy dowiedziałem się, że na zlocie krótkofalowców na jakimś targu kupił stacje meteo z demontażu i podłączył ją radiowo do Home Assistanta. Od razu powiedziałem, że jak tylko będzie miał jeszcze możliwość zakupu to od razu niech mi kupuje dwie. W razie jakby coś nie działało to będzie dawca części. Po 3 miesiącach miałem w ręku. Klasyczna, analogowa stacja pogodowa Garni z czujnikami (temperatura, wilgotność, wiatr, deszcz, nasłonecznienie, UV) — urządzenie, które samo w sobie nie ma żadnego protokołu komunikacji tylko puszcza w eter sygnał raz na 12 sekund. Jedyne co trzeba zrobić to <strong>podsłuchać jej transmisję radiową</strong> i wciągnąć dane do Home Assistant. Do tego zadania niezbędny jest dongiel RTL-SDR V4.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6a8da6ce6ce32&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce6da75&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce6da75" class="wp-block-image size-large wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="2261" src="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144612-1024x1024.jpg" alt="" class="wp-image-2261" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144612-1024x1024.jpg 1024w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144612-300x300.jpg 300w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144612-150x150.jpg 150w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144612-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce6df9a&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce6df9a" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="2260" src="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144617-1024x1024.jpg" alt="" class="wp-image-2260" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144617-1024x1024.jpg 1024w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144617-300x300.jpg 300w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144617-150x150.jpg 150w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144617-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce6e449&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce6e449" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="2262" src="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144628-1024x1024.jpg" alt="" class="wp-image-2262" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144628-1024x1024.jpg 1024w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144628-300x300.jpg 300w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_144628-150x150.jpg 150w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h2 class="wp-block-heading">O co chodzi z RTL-SDR?</h2>



<p class="wp-block-paragraph">RTL-SDR to odbiornik radiowy USB (pierwotnie tunery do telewizji cyfrowej DVB-T), który dzięki społecznościowym sterownikom da się przerobić na uniwersalny odbiornik radiowy szerokiego pasma. W praktyce: jeden mały dongiel potrafi &#8222;słuchać&#8221; niemal wszystkiego, co nadaje w zakresie kilkudziesięciu MHz do ponad 1 GHz — w tym popularne pasma ISM 433 MHz i 868 MHz, na których pracuje mnóstwo czujników, stacji pogodowych, pilotów czy liczników mediów.</p>



<p class="wp-block-paragraph">Do dekodowania tych transmisji służy otwarte narzędzie <strong>rtl_433</strong> — program, który rozpoznaje kilkadziesiąt popularnych protokołów urządzeń i zamienia surowy sygnał radiowy na czytelny JSON.</p>



<h2 class="wp-block-heading">Konfiguracja: Docker + MQTT</h2>



<p class="wp-block-paragraph">Całość postawiłem w Dockerze na swoim domowym serwerze:</p>



<pre class="wp-block-code"><code>services:
  rtl_433:
    image: bademux/rtl_433tomqtt:latest
    container_name: rtl_433
    restart: unless-stopped
    volumes:
      - ./rtl_433.conf:/etc/rtl_433/rtl_433.conf:ro
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/bus/usb:/dev/bus/usb
    environment:
      - TZ=Europe/Warsaw
</code></pre>



<p class="wp-block-paragraph">Konfigurację samego rtl_433 trzymam w prostym pliku tekstowym — częstotliwość, wzmocnienie i adres brokera MQTT:</p>



<pre class="wp-block-code"><code>output mqtt://192.168.0.125:1883,user=xxx,pass=xxx,retain=0,events=rtl_433&#91;/model]&#91;/id]
device 0
frequency 868.3M
gain 0
report_meta time:local
</code></pre>



<p class="wp-block-paragraph">Dane z każdego wykrytego urządzenia trafiają na osobny temat MQTT (np. rtl_433/Bresser-7in1/44028), co ułatwia dalszą obróbkę. Aplikacja ma szablony sygnałów dla prawie 200 urządzeń. Moje Garni INT 5 jest rebrandem jednego z obsługiwanych nadajników <strong>Bresser &#8211; 7in1</strong></p>



<h2 class="wp-block-heading">Pułapka, na którą warto uważać: RTL-SDR Blog V4</h2>



<p class="wp-block-paragraph">Tu natrafiłem na najciekawszy problem całego projektu. Mój dongiel to nowsza wersja <strong>RTL-SDR</strong> <strong>Blog V4</strong><sub>,</sub> która wymaga specjalnego, poprawionego sterownika &#8211; standardowa biblioteka librtlsdr dostępna w repozytoriach Ubuntu go nie obsługuje w pełni. Efekt? Odbiornik &#8222;widział&#8221; sygnał (potwierdziłem to wizualnie w programie SDR++ na Macu — wyraźna smuga w waterfallu co ~12 sekund, dokładnie zgodnie z cyklem transmisji stacji), ale rtl_433 uparcie nic nie dekodował.</p>



<figure class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1440" height="2560" data-id="2274" src="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-scaled.jpg" alt="" class="wp-image-2274" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-scaled.jpg 1440w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-864x1536.jpg 864w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-1152x2048.jpg 1152w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-1024x1820.jpg 1024w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_174507-608x1080.jpg 608w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1258" height="1198" data-id="2271" src="https://tyminski.dev/wp-content/uploads/2026/08/image-2.png" alt="" class="wp-image-2271" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/image-2.png 1258w, https://tyminski.dev/wp-content/uploads/2026/08/image-2-1024x975.png 1024w, https://tyminski.dev/wp-content/uploads/2026/08/image-2-1134x1080.png 1134w" sizes="auto, (max-width: 1258px) 100vw, 1258px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2560" height="1440" data-id="2275" src="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-scaled.jpg" alt="" class="wp-image-2275" style="aspect-ratio:1" srcset="https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-scaled.jpg 2560w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-1536x864.jpg 1536w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-2048x1152.jpg 2048w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-1024x576.jpg 1024w, https://tyminski.dev/wp-content/uploads/2026/08/MVIMG_20260810_175816-1920x1080.jpg 1920w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>
</figure>



<p class="wp-block-paragraph">Rozwiązanie: zbudowanie sterownika ze źródeł producenta i podmienienie systemowej biblioteki:</p>



<pre class="wp-block-code"><code>git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog &amp;&amp; mkdir build &amp;&amp; cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make &amp;&amp; sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
</code></pre>



<p class="wp-block-paragraph">Po tej zmianie dane popłynęły od razu — pierwszy poprawny odczyt: temperatura, wilgotność, wiatr, opady, UV, wszystko z poprawną sumą kontrolną CRC.</p>



<p class="wp-block-paragraph"><strong>Wniosek:</strong> jeśli masz nowszy dongiel RTL-SDR Blog V4, a program &#8222;widzi&#8221; sygnał, ale nic nie dekoduje — sprawdź wersję sterownika, zanim zaczniesz podejrzewać config czy antenę.</p>



<p class="wp-block-paragraph">Przez to, że kompilowanie sterownika i robienie swojego obrazu nie było w moim planie to zostawiłem zainstalowany rtl_433 bezpośrednio w systemie. Kiedyś będzie czas to faktycznie przygotuję obraz pod odpowiedni kontener. Możliwe jest też, że ktoś to w międzyczasie zrobi <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Przygotowanie pliku rtl_433.service do automatycznego uruchamiania aplikacji przy starcie systemu:</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=rtl_433 - RTL-SDR generic RF receiver and decoder
After=network-online.target
Wants=network-online.target

&#91;Service]
Type=simple
User=linux_user
ExecStart=/usr/bin/rtl_433 -c /iot/rtl433/rtl_433.conf
Restart=on-failure
RestartSec=10

&#91;Install]
WantedBy=multi-user.target
</code></pre>



<p class="wp-block-paragraph">Uruchomienie serwisu:</p>



<pre class="wp-block-code"><code>sudo cp rtl_433.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable rtl_433
sudo systemctl start rtl_433</code></pre>



<h2 class="wp-block-heading">Integracja z Home Assistant</h2>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce6f4d9&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce6f4d9" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="2020" height="1208" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://tyminski.dev/wp-content/uploads/2026/08/image.png" alt="" class="wp-image-2255" srcset="https://tyminski.dev/wp-content/uploads/2026/08/image.png 2020w, https://tyminski.dev/wp-content/uploads/2026/08/image-1536x919.png 1536w, https://tyminski.dev/wp-content/uploads/2026/08/image-1024x612.png 1024w, https://tyminski.dev/wp-content/uploads/2026/08/image-1806x1080.png 1806w" sizes="auto, (max-width: 2020px) 100vw, 2020px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Zamiast automatycznego discovery, wybrałem prostsze podejście — zwykłe <strong>sensory MQTT</strong> z szablonami wyciągającymi konkretne wartości z JSON-a:</p>



<pre class="wp-block-code"><code>mqtt:
  sensor:
    - name: "Balkon Temperatura"
      state_topic: "rtl_433/Bresser-7in1/44028"
      value_template: "{{ value_json.temperature_C }}"
      unit_of_measurement: "°C"
      device_class: temperature
      state_class: measurement
</code></pre>



<p class="wp-block-paragraph">Analogicznie dla wilgotności, wiatru, opadów i nasłonecznienia. Dodatkowo, template sensor zamienia kierunek wiatru ze stopni na czytelną różę wiatrów (N, NE, E&#8230;), żeby dashboard był bardziej czytelny na pierwszy rzut oka.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce6f9be&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce6f9be" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1920" height="811" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://tyminski.dev/wp-content/uploads/2026/08/image-1.png" alt="" class="wp-image-2266" srcset="https://tyminski.dev/wp-content/uploads/2026/08/image-1.png 1920w, https://tyminski.dev/wp-content/uploads/2026/08/image-1-1536x649.png 1536w, https://tyminski.dev/wp-content/uploads/2026/08/image-1-1024x433.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Stylizacja prezentacji danych</h2>



<p class="wp-block-paragraph">Tu dwie rzeczy do usprawnienia. Kierunek wiatru odbierany ze stacji jest w stopniach. Nie bardzo wiadomo w którą stronę wieje wiatr 252° <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Trzeba to sobie ograć template sensorem:</p>



<pre class="wp-block-code"><code>  - name: "Garni Kierunek Wiatru Róża"
    unique_id: balkon_bresser_wind_dir_rose
    state: &gt;
      {% set deg = states('sensor.balkon_garni_kierunek_wiatru') | float(0) %}
      {% set kierunki = &#91;'N','NNE','NE','ENE','E','ESE','SE','SSE',
                          'S','SSW','SW','WSW','W','WNW','NW','NNW'] %}
      {{ kierunki&#91; ((deg + 11.25) / 22.5) | int % 16 ] }}</code></pre>



<p class="wp-block-paragraph">W przyszłości chciałbym zrobić różę wiatru z obracającą się igłą i miniaturą mieszkania. Dzięki czemu będzie można od razu wyobrazić sobie, z której strony wieje wiatr <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p class="wp-block-paragraph">Drugi temat do dopieszczenia to opady. Miernik opadów nalicza narastająco opady. Nie zeruje ich co dobę, tydzień czy miesiąc. Tu Home Assistant przychodzi z pomocą i swoimi <strong>utility_meter</strong>:</p>



<pre class="wp-block-code"><code>utility_meter:
  balkon_opady_dzienne:
    source: sensor.balkon_garni_opady
    unique_id: balkon_opady_dzienne
    cycle: daily
  balkon_opady_miesieczne:
    source: sensor.balkon_garni_opady
    unique_id: balkon_opady_miesieczne
    cycle: monthly</code></pre>



<p class="wp-block-paragraph">W ten sposób mamy kolejne dwie encje, które agregują dane dzienne i miesięczne. Ułatwia to prezentację danych na dashboardach.</p>



<h2 class="wp-block-heading">Kwestia zasięgu</h2>



<p class="wp-block-paragraph">Ostatnia przeszkoda była czysto fizyczna: dongiel stał w korytarzu, a stacja na balkonie — kilka metrów i ściana wystarczyły, żeby sygnał zniknął. Zamiast stawiać osobne urządzenie (miałem pod ręką wolne Raspberry Pi Zero, ale wolałem zostać przy jednym punkcie zarządzania), rozwiązaniem okazało się po prostu wydłużenie kabla USB w stronę balkonu i&#8230; zmiana wzmocnienia z ustawionego na sztywno na tryb automatyczny. Czasem najprostsze rozwiązanie leży najbliżej.</p>



<h2 class="wp-block-heading">Co dalej</h2>



<p class="wp-block-paragraph">Ten sam dongiel, ten sam pipeline (rtl_433 → MQTT → Home Assistant) obsłuży w praktyce dowolne urządzenie nadające w pasmach ISM — kolejne czujniki, piloty, a nawet niektóre liczniki mediów (choć te bywają szyfrowane, o czym może przy okazji innego artykułu). Do obsługi 433 MHz osobno planuję jeszcze przerobiony Sonoff RF Bridge z firmware ESPHome — ale to już temat na kolejny wpis.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>Masz w domu jakieś radiowe urządzenie, które chciałbyś wciągnąć do swojego Home Assistant? Napisz w komentarzu — może da się je podsłuchać tą samą metodą.</em></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/stacja-pogodowa-garni-int-5-podlaczona-do-home-assistant-za-pomoca-rtl-sdr-v4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Miniaturowy dopuszkowy Supla mROW-02 od Zamel</title>
		<link>https://tyminski.dev/miniaturowy-dopuszkowy-supla-mrow-02-zamel/</link>
					<comments>https://tyminski.dev/miniaturowy-dopuszkowy-supla-mrow-02-zamel/#comments</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Mon, 26 Jul 2021 18:58:00 +0000</pubDate>
				<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[Elektryka]]></category>
		<category><![CDATA[mqtt]]></category>
		<category><![CDATA[supla]]></category>
		<category><![CDATA[zamel]]></category>
		<guid isPermaLink="false">https://www.devpower.pl/?p=1206</guid>

					<description><![CDATA[Kolejna nowość do testów od firmy Zamel. Moduł podwójnego łącznika z pomiarami prądu mROW-02. Bardzo małe i poręczne urządzenia z potężną mocą :). Jest to kolejny moduł producenta, który oprócz bezpośredniego połączenia z chmurą Supla umożliwia sterowanie i wysyłanie danych do lokalnego brokera MQTT. Budowa i wygląd mROW-02 Na początek sesja zdjęciowa i porównanie modułu&#8230; <br> <a class="read-more" href="https://tyminski.dev/miniaturowy-dopuszkowy-supla-mrow-02-zamel/">Czytaj dalej</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Kolejna nowość do testów od firmy Zamel. Moduł podwójnego łącznika z pomiarami prądu mROW-02. Bardzo małe i poręczne urządzenia z potężną mocą :). Jest to kolejny moduł producenta, który oprócz bezpośredniego połączenia z chmurą Supla umożliwia sterowanie i wysyłanie danych do lokalnego brokera <strong><a href="https://tyminski.dev/tag/mqtt/" target="_blank" rel="noreferrer noopener">MQTT</a></strong>.</p>



<h2 class="wp-block-heading">Budowa i wygląd mROW-02</h2>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6a8da6ce74bec&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce750b7&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce750b7" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1211" src="https://tyminski.dev
/wp-content/uploads/2021/07/mrow2.jpg" alt="" class="wp-image-1211" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce755ed&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce755ed" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1208" src="https://tyminski.dev/wp-content/uploads/2021/07/mrow02-1.jpg" alt="" class="wp-image-1208" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce75abc&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce75abc" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1209" src="https://tyminski.dev/wp-content/uploads/2021/07/mrow02-2.jpg" alt="" class="wp-image-1209" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<p class="wp-block-paragraph">Na początek sesja zdjęciowa i porównanie modułu z innymi dostępnymi na rynku. Jak widać nowa obudowa Zamel&#8217;a jest bardzo zgrabna i może walczyć o podium w kategorii rozmiar :). Otrzymany egzemplarz to wersja testowa rozesłana do forumowiczów w związku z tym nadruk nie jest jeszcze dopieszczony. Sama obudowa ze względu na zupełnie nową formę jest jeszcze nie do końca spasowana, przez co wydaje się delikatna. Kruchość konstrukcji potwierdzają wpisy kolegów na forum supli, którzy uszkadzają moduł przy próbie upakowania go z przewodami w puszcze.</p>



<h2 class="wp-block-heading">mROW-02 podłączenie do HomeAssistant przez lokalnego brokera MQTT</h2>



<p class="wp-block-paragraph">Moduł ten tak samo zresztą jak <strong><a href="https://tyminski.dev/montaz-monitora-energii-zamel-supla-mew-01/" target="_blank" rel="noreferrer noopener">Supla MEW-01</a></strong> podłączony został do systemu automatyki za pośrednictwem protokołu <strong>MQTT</strong>. Przy pomocy tego protokołu podłączam wszystkie moduły jakie mają tą możliwość &#8211; urządzenia supla i wszystkie moje DIY na ESP. Dzięki czemu minimalizuję ilość niezbędnych integracji do absolutnego minimum.</p>



<h2 class="wp-block-heading">mROW-02 jako sterownik fontanny</h2>



<p class="wp-block-paragraph">W mojej instalacji sterownik ten został wykorzystany do obsługi pompki fontanny, jej podświetlenia i pozostałego oświetlenia dekoracyjnego na balkonie. Oświetlenie dekoracyjne włącza się automatycznie po zmroku fontanna uruchamiana ręcznie.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce76352&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce76352" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/08/mrow4-1024x398.png" alt="" class="wp-image-1271"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Plan docelowy jest taki, żeby fontanna też była automatycznie uruchamiana przy pomocy czujnika ruchu po wyjściu na balkon. Niestety muszę najpierw zrobić system kontroli poziomu wody w fontannie aby uniknąć sytuacji, w której odpali się silnik bez wody w fontannie. Czujnik ruchu miałby też sterować lampami przy drzwiach sterowanymi przez inny moduł od <strong>Supla DIW-01</strong>. Lampy będą się zapalały po zmroku na 10% mocy a po wykryciu ruchu rozjaśniane do 100% mocy.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/miniaturowy-dopuszkowy-supla-mrow-02-zamel/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Montaż monitora energii od supla MEW-01</title>
		<link>https://tyminski.dev/montaz-monitora-energii-zamel-supla-mew-01/</link>
					<comments>https://tyminski.dev/montaz-monitora-energii-zamel-supla-mew-01/#comments</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Tue, 20 Jul 2021 18:55:00 +0000</pubDate>
				<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[mqtt]]></category>
		<category><![CDATA[rozdzielnica]]></category>
		<category><![CDATA[supla]]></category>
		<category><![CDATA[zamel]]></category>
		<guid isPermaLink="false">https://www.devpower.pl/?p=1118</guid>

					<description><![CDATA[W dniu dzisiejszym przybył do mnie kolejny gadżet na testy. Mowa tu o monitorze energii od firmy Zamel z pod znaku supla MEW-01. Jest to jeden z trzech testowych modułów MEW-01 jaką Zamel rozdał do testów. Moduł ma możliwość podłączenia do lokalnego brokera MQTT. Nie jest tym samym konieczne korzystanie z chmury Supla. Instalacja Miejsce&#8230; <br> <a class="read-more" href="https://tyminski.dev/montaz-monitora-energii-zamel-supla-mew-01/">Czytaj dalej</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">W dniu dzisiejszym przybył do mnie kolejny gadżet na testy. Mowa tu o monitorze energii od firmy Zamel z pod znaku supla <strong>MEW-01</strong>. Jest to jeden z trzech testowych modułów MEW-01 jaką <strong>Zamel </strong>rozdał do testów. Moduł ma możliwość podłączenia do lokalnego brokera MQTT. Nie jest tym samym konieczne korzystanie z chmury Supla. </p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6a8da6ce77055&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce77578&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce77578" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1146" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1255.jpg" alt="" class="wp-image-1146" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce77ac8&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce77ac8" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1147" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1256.jpg" alt="" class="wp-image-1147" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce77fb7&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce77fb7" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1148" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1257.jpg" alt="" class="wp-image-1148" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h2 class="wp-block-heading">Instalacja </h2>



<p class="wp-block-paragraph">Miejsce na MEW w rozdzielnicy jest, ale że wymaga delikatnych przeróbek. Postanowiłem miernik podpiąć w trybie tymczasowym :P. Rozdzielnicę przebuduję w weekend. Musze pozbyć się dzwonka i przesunąć praktycznie wszystkie moduły. </p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6a8da6ce7829c&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce786d9&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce786d9" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1152" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1243.jpg" alt="" class="wp-image-1152" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce78c36&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce78c36" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1153" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1258.jpg" alt="" class="wp-image-1153" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce790be&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce790be" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="1154" src="https://tyminski.dev/wp-content/uploads/2021/07/IMG-1259.jpg" alt="" class="wp-image-1154" style="aspect-ratio:1"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</figure>



<h2 class="wp-block-heading">Konfiguracja pod MQTT</h2>



<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile" style="grid-template-columns:auto 24%"><div class="wp-block-media-text__content">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p class="wp-block-paragraph">Połączenie <strong>MEW-01</strong> do aplikacji supla zajęło dosłownie chwile. Praktycznie nic nie trzeba było robić. Aplikacja po kliknięciu &#8222;dodaj urządzenie&#8221; wprowadziła ustawienie lokalnej sieci wifi do urządzenia i zrobiła co trzeba. 3 minutki i w aplikacji widziałem urządzenie i jego wskazania.</p>



<p class="wp-block-paragraph">Ale jak wiadomo ja nie chcę korzystać z aplikacji a z lokalnego brokera MQTT <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
</div></div>



<p class="wp-block-paragraph">Aby tego dokonać trzeba na module przytrzymać przycisk config przez około 5 sekund aż dioda zacznie mrugać. Z pośród dostępnych sieci LAN pojawi się sieć stworzona przez MEW. Musimy się z nią połączyć dowolnym urządzeniem. Następnie uruchamiamy przeglądarkę i wpisujemy adres : 192.168.4.1 gdzie znajduje się panel konfiguracyjny modułu. Zmieniamy protokół z <strong>supla </strong>na <strong>MQTT </strong>i dajemy dane naszego brokera. Restart i już. MEW-01 wysyła wszystkie dane do <a href="https://tyminski.dev/broker-mosquitto-mqtt-na-raspberry-pi/" target="_blank" rel="noreferrer noopener">mosquitto </a>( w moim przypadku <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> )</p>
</div><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2021/07/IMG-1260-576x1024.png" alt="" class="wp-image-1163 size-large"/></figure></div>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce79969&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce79969" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/07/mqtt-mewa.png" alt="" class="wp-image-1177"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Monitor energii MEW-01 w Home Assistant</h2>



<p class="wp-block-paragraph">Urządzenie bez najmniejszego problemu zostało wykryte razem ze swoimi wszystkimi encjami. </p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce79ff8&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce79ff8" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/07/mqtt_data-1024x573.png" alt="" class="wp-image-1182"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Kilka chwil i mamy gotowy piękny dashboard ze wskazaniami z naszego licznika <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Muszę jeszcze poza rozbitymi na fazy wskazaniami porobić sumaryczne wskaźniki. Plan na najbliższe dni. Muszę spisać stan licznika, aby mieć możliwość wyświetlania jego stanu po dodaniu wartości, które mewa od tej chwili będzie mierzyć. Będę  mógł zweryfikować poprawność pomiaru z MEW-01 i licznika operatora. </p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce7a675&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce7a675" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/07/Screenshot-1024x461.png" alt="" class="wp-image-1160"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Error :/</h2>



<p class="wp-block-paragraph">Niestety nie wszystko działa tak jakbyśmy tego chcieli. Raz na 10 minut MEW-01 gubi połączenie z MQTT i encje stają się niedostępne. Po chwili moduł łączy się ponownie i wszystko działa jak należy. Najgorsze jest to, że w czasie resetu MEW całe MQTT staje się niedostępne i nie działają pozostałe urządzenia działające na tym protokole. </p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce7ad16&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce7ad16" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/07/220225043_345289220302022_6387570793005046494_n-1024x494.png" alt="" class="wp-image-1165"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Po konsultacji z supportem <a href="https://supla.zamel.com/" target="_blank" rel="noreferrer noopener nofollow">supla </a>dostałem informację aby <a href="https://www.devpower.pl/upgrade-mosqitto-do-wersji-2-0-11/" target="_blank" rel="noreferrer noopener">zaktualizować mosquitto</a> do najnowszej wersji. Do tej pory działałem na 1.5.7 bo taka była najwyższa wersja dostępna w repozytorium debiana pod raspberry. Po krótkim boju mam aktualnie najwyższą dostępną wersję 2.0.11. Niestety nie rozwiązało to mojego problemu. </p>



<p class="wp-block-paragraph">Kolejnym tropem do zbadania był fakt, że mew wysyła bardzo dużo danych &#8211; dużo i często. Trzeba było zrobić szybki remanent limitów w konfiguracji mosquitto. Tutaj też nie znalazłem nic do poprawy. Limity są domyślnie zdjęte, więc nie możliwe, żeby coś było w tym temacie źle skonfigurowane. </p>



<p class="wp-block-paragraph">W dniu dzisiejszym ma pojawić się aktualizacja, dzięki której będzie możliwe ustawienie opóźnienia między odczytami wartości z miernika. Mam nadzieję, że to ustabilizuje pracę serwera MQTT i wszystkie problemy z tym związane. Dodatkowo mają pojawić się dodatkowe encje ze wskaźnikami ułatwiającymi diagnostykę jak np. siła sygnału wifi.</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph"><strong>edit: <br></strong>Problem został rozwiązany. Zrywanie połączenia nie było winą samego modułu a mojego routera. Posiadam FunBox6 od orange. Nie wiem czemu ale nie chcą moduły supla na nim pracować. Podłączenie MEW-01 przez osobny AP rozwiązało problem z przerwami w dostawie informacji do HA. Wszystko pięknie się wyświetla mogę teraz policzyć ile kawek dziennie piję <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Poniżej przedstawiam najbardziej aktualny widok mojej karty energetycznej:</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a8da6ce7b413&quot;}" data-wp-interactive="core/image" data-wp-key="6a8da6ce7b413" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.tyminski.dev/wp-content/uploads/2021/08/Screenshot-1024x377.png" alt="Karta energia " class="wp-image-1283"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p class="wp-block-paragraph">Montaż i instalacja tego urządzenia jest bajecznie prosta. Nikt nie powinien mieć z nim większego problemu. Pamiętajmy jednak, że montaż najlepiej zlecić komuś kto ma do tego uprawnienia. <s>Gdyby nie drobna niedogodność z zapychaniem MQTT nie miałbym się do czego przyczepić. Mam nadzieję, że zostanie to na dniach poprawione i zostanie tylko obserwować wskazania i optymalizować zużycie energii</s>. Obserwowanie wskazań mewy na wykresach to czysta przyjemność. W przyszłości planuję pobawić się trochę z panelami słonecznymi także będzie okazja potestować MEWkę w dwóch kierunkach <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/montaz-monitora-energii-zamel-supla-mew-01/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Aktualizacja oprogramowania modułów Zamel Supla</title>
		<link>https://tyminski.dev/aktualizacja-oprogramowania-modulow-zamel-supla/</link>
					<comments>https://tyminski.dev/aktualizacja-oprogramowania-modulow-zamel-supla/#respond</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Mon, 19 Jul 2021 17:43:00 +0000</pubDate>
				<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[mqtt]]></category>
		<category><![CDATA[rozdzielnica]]></category>
		<category><![CDATA[supla]]></category>
		<category><![CDATA[zamel]]></category>
		<guid isPermaLink="false">https://www.devpower.pl/?p=1218</guid>

					<description><![CDATA[Raz na jakiś czas wychodzą aktualizację oprogramowania do modułów. Żeby je pobrać moduł musi koniecznie być podłączony do chmury Supla. Nie można dokonać aktualizacji kiedy moduł jest podłączony do lokalnego brokera MQTT. Procedura aktualizacji supla:]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Raz na jakiś czas wychodzą aktualizację oprogramowania do modułów. Żeby je pobrać moduł musi koniecznie być podłączony do chmury Supla. Nie można dokonać aktualizacji kiedy moduł jest podłączony do lokalnego brokera MQTT.</p>



<h2 class="wp-block-heading">Procedura aktualizacji supla:</h2>



<ul class="wp-block-list">
<li>Podłącz moduł do cloud.supla.org &#8211; moduł powinien być widoczny i aktywny w aplikacji</li>



<li>Przełącz moduł ponownie w tryb konfiguracji przytrzymując przycisk CONFIG przez min 5sek. Tak długo aż dioda zacznie szybko migać</li>



<li>Moduł zacznie rozgłaszać swoją sieć. Połącz się z tą siecią WiFi rozpoczynającą się od nazwy &#8222;ZAMEL-&#8230;&#8221;</li>



<li>Otwórz stronę konfiguratora dostępną po podłączeniu się do hotspota pod adresem: <a href="http://192.168.4.1/">http://192.168.4.1</a></li>



<li>Ustaw &#8222;Firmware update&#8221; na &#8222;YES&#8221; i jeżeli jeszcze tego nie zrobiłeś w poprzednim kroku zmień protokół z <a href="https://tyminski.dev/tag/mqtt/" target="_blank" rel="noreferrer noopener">MQTT</a> na supla i podaj odpowiednie dane dostępowe</li>



<li>Zapisz i Uruchom ponownie moduł np. poprzez krótkie naciśnięcie przycisku CONFIG. Od pewnej wersji oprogramowania mamy już dostępny przycisk &#8222;Save &amp; Restart&#8221;, który niewątpliwe sprawę ułatwia.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/aktualizacja-oprogramowania-modulow-zamel-supla/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
