<?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>sonoff &#8211; tyminski.dev</title>
	<atom:link href="https://tyminski.dev/tag/sonoff/feed/" rel="self" type="application/rss+xml" />
	<link>https://tyminski.dev</link>
	<description>Praktyczna strona technologii</description>
	<lastBuildDate>Fri, 31 Jul 2026 12:15:17 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://tyminski.dev/wp-content/uploads/2026/04/cropped-logo_big_tracs_600x600-2-32x32.png</url>
	<title>sonoff &#8211; tyminski.dev</title>
	<link>https://tyminski.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>HomeAssistant dashboard &#8211; czyli tablet na ścianie</title>
		<link>https://tyminski.dev/homeassistant-dashboard-czyli-tablet-na-scianie/</link>
					<comments>https://tyminski.dev/homeassistant-dashboard-czyli-tablet-na-scianie/#respond</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Tue, 04 Mar 2025 07:35:47 +0000</pubDate>
				<category><![CDATA[Elektryka]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[homeassistant]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[lenovo]]></category>
		<category><![CDATA[nodered]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[sonoff]]></category>
		<category><![CDATA[tablet]]></category>
		<guid isPermaLink="false">https://www.devpower.pl/?p=1533</guid>

					<description><![CDATA[Marzyłem od zawsze o centrum sterującym w postaci tabletu zamontowanego na ścianie w salonie, żeby zawsze mieć podgląd w całość systemu. Wszystkie włączniki i czujniki na wyciągnięcie ręki. Rewelacja. Pomyślałem sobie: &#8222;co stoi na przeszkodzie?&#8222;. Odpowiedź brzmiała nic 🙂 Dwa rzepy na plecy i tablet wisi. Byłem wstępnie na taką okoliczność przygotowany ale mimo wszystko&#8230; <br> <a class="read-more" href="https://tyminski.dev/homeassistant-dashboard-czyli-tablet-na-scianie/">Czytaj dalej</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Marzyłem od zawsze o centrum sterującym w postaci tabletu zamontowanego na ścianie w salonie, żeby zawsze mieć podgląd w całość systemu. Wszystkie włączniki i czujniki na wyciągnięcie ręki. Rewelacja. Pomyślałem sobie: &#8222;<strong>co stoi na przeszkodzie?</strong>&#8222;. Odpowiedź brzmiała <strong>nic</strong> <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 class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/02/1740725166817-scaled-e1741083933201-1024x1024.jpg" alt="tablet na ścianie" class="wp-image-1504 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Dwa rzepy na plecy i tablet wisi. Byłem wstępnie na taką okoliczność przygotowany ale mimo wszystko układ kart wymagał podszlifowania. Dla bezpiecznej obsługi tabletu na ścianie, musiałem uniemożliwić osobom postronnym grzebanie w ustawieniach tabletu jak i samego HomeAssistanta. Samo &#8222;zabezpieczenie&#8221; HA to utworzenie nowego użytkownika z odpowiednimi uprawnieniami. Do zablokowania dostępu poza aplilacją użyłem Fully Kiosk Browser.</p>
</div></div>



<h2 class="wp-block-heading">Fully Kiosk Browser </h2>



<div class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile"><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Sama konfiguracja aplikacji jest bardzo prosta. Podajemy lokalny adres naszego homassistanta, logujemy się i już <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;" /> <br>Home assistant wykryje instancje aplikacji i doda nam do systemu encje z nią związane.<br>możemy włączać lub wyłączać ekran, możemy sterować funkcją wykrywania ruchu. I co najważniejsze mamy dostęp do encji monitorującej stan baterii tabletu. </p>
</div><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image.png" alt="integracja Fully Kiosk Browser" class="wp-image-1549 size-full"/></figure></div>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-1.png" alt="ustawienia tabletu" class="wp-image-1550 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Dzięki tym wymienionym encjom możemy wykonać w pełni zautomatyzowany proces obsługi ładowania ekranu. Wiadomym jest, że tablet musi być na stałe podłączone do ładowarki, żeby nie trzeba było pamiętać o ładowaniu. Wiemy też, że urządzenie nie może być ciągle ładowane bo zabija to baterie. Nowe urządzenia mają co prawda rozwiązane to programowo i same przestają się ładować.</p>
</div></div>



<div class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile"><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Mój tablet niby reguluje sobie ładowanie sam jednak mimo to chciałem zrobić to tak jak internet poleca, czyli odcinam prąd jak poziom baterii przekroczy 80% i zaczynam ładować jak spadnie poniżej 20%.</p>
</div><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-2.png" alt="Node-red ładowanie baterii" class="wp-image-1552 size-full"/></figure></div>



<h2 class="wp-block-heading">Sterowanie wybudzaniem ekranu</h2>



<p class="wp-block-paragraph">Sterowanie wybudzaniem ekranu opiera się o 2 czujniki ruchu. Czujnik ruchu w salonie oraz czujnik ruchu z kamery tabletu. Wyłączyłem włączanie ekranu w aplikacji a jedynie przekazuję stan z czujnika ruchu w tablecie. Dzięki takiemu zabiegowy mam pełną kontrolę nad wybudzaniem ekranu. Dodatkowo wybudzenie jest uzależnione od kilku pomocników. Między innymi jest blokada wybudzania w godzinach nocnych oraz podczas zajęć.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-3-1024x153.png" alt="Node-red wybudzanie ekranu" class="wp-image-1554"/></figure>



<h2 class="wp-block-heading">Sprzęt użyty do wykonania projektu</h2>



<p class="wp-block-paragraph">Tablet <strong>Lenovo Tab m10</strong>, który leżał zapomniany w komodzie dostał nowe życie. W końcu stał się przydatny. Jako uchwyt do tabletu wykorzystałem plecki od etui z klapką. Rewelacyjnie się spisały w tej roli. Bardzo dobrze trzyma tablet. Nie wiem nawet czy nie za mocno i czy on w ogóle jest jeszcze wyciągalny <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 class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile"><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Do obsługi zasilania użyłem zbmini Extreme  od sonoff. Działa bez zarzutu po integracji <strong>zigbee2mqtt</strong>. Wszystko co mogę puszczam przez <strong>mqtt</strong> pomaga to w znaczny sposób ograniczyć ilość integracji podpiętych do homeassistanta.</p>
</div><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-5.png" alt="" class="wp-image-1580 size-full"/></figure></div>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-4.png" alt="" class="wp-image-1579 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">No i ostatnim elementem jest kostka ładowarki. Nie ma tu potrzeby w sumie kupowania takiego elementu ale, żeby zaoszczędzić trochę miejsca, nie robić gniazda i używać zwykłej ładowarki znalazła się na liście zakupów. Jeszcze zapomniałem o kabelku kątowym micro usb, którego użyłem aby zminimalizować przestrzeń, którą zajmuje cała instalacja. </p>
</div></div>



<h2 class="wp-block-heading">Montaż tabletu na ścianie</h2>



<p class="wp-block-paragraph">Jestem programistą z mocno rozbudowanymi umiejętnościami remontowymi jak już nie raz napomniałem. Mam też strasznie mocno wyczulone poczucie estetyki związanej z rurkami i kablami prowadzonymi natynkowo. Wszystko musi być wkute w ścianę. Nie mogłem wobec tego zostawić tabletu na rzepach z wiszącą ładowarką. </p>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1740865124263-scaled-e1741088773163-1024x1024.jpg" alt="" class="wp-image-1513 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Pierwsze koty za płoty. Podkułem tynk na wymiar tabletu. I stało się to czego w sumie się spodziewałem czyli kable, które skutecznie utrudniły zadanie zlicowania tabletu ze ścianą. Na szczęście udało się podkuć pod przewodami i cofnąć je oraz dołożyć przewód do ładowarki. Osadzenie puszki z miejscem na ładowarkę i sonoffa poszło bardzo sprawnie. Gipsowanie, osadzanie narożników, gładziowanie, szlifowanie oraz malowanie zajęło praktycznie cały weekend. Było warto. <br>Poniżej fotorelacja z prac remontowych:</p>
</div></div>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" data-id="1559" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741088974343-1024x1024.jpg" alt="" class="wp-image-1559"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1560" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741088996145-1024x1024.jpg" alt="" class="wp-image-1560"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1561" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089045870-1024x1024.jpg" alt="" class="wp-image-1561"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1562" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089089376-1024x1024.jpg" alt="" class="wp-image-1562"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1563" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089141898-1024x1024.jpg" alt="" class="wp-image-1563"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1564" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089200382-1024x1024.jpg" alt="" class="wp-image-1564"/></figure>
</figure>



<div class="wp-block-media-text is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2025/03/image-8.png" alt="" class="wp-image-1602 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Oto efekt prac remontowo budowlanych. Koszt z jakim trzeba się liczyć, zakładając, że mamy tablet to około 200zł. Moduł sonoff, plus ładowarka i kabelek kontowy to około 100zł. Druga stówka na materiały: gips, gładź, kawałek przewodu, puszka, narożnik. </p>
</div></div>



<p class="wp-block-paragraph">Jeżeli natomiast nie mamy tabletu do dyspozycji to koszt takiego dashboard&#8217;u jest uzależniony od tego jakiej klasy urządzenie się kupi. Trzeba jednak pamiętać, że najtańsze tablety będą działać i zniszczy to cały efekt.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" data-id="1566" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089316130-1024x1024.jpg" alt="" class="wp-image-1566"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" data-id="1565" src="https://www.tyminski.dev/wp-content/uploads/2025/03/1741089257378-1024x1024.jpg" alt="" class="wp-image-1565"/></figure>
</figure>



<p class="wp-block-paragraph">Brakuje jeszcze estetycznej ramki&#8230; niestety jestem teraz na etapie myślenia o wymianie włączników więc ramka musi poczekać aż zdecydujemy się na włączniki, żeby ramka tabletu była jak najbardziej zbliżona do osprzętu elektroinstalacyjnego.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/homeassistant-dashboard-czyli-tablet-na-scianie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Brama garażowa w bloku &#8211; sterowanie z poziomu Home Assistant&#8217;a</title>
		<link>https://tyminski.dev/brama-garazowa-w-bloku-sterowanie-z-poziomu-home-assistanta/</link>
					<comments>https://tyminski.dev/brama-garazowa-w-bloku-sterowanie-z-poziomu-home-assistanta/#respond</comments>
		
		<dc:creator><![CDATA[Łukasz Tymiński]]></dc:creator>
		<pubDate>Tue, 20 Apr 2021 19:20:00 +0000</pubDate>
				<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[esp]]></category>
		<category><![CDATA[esphome]]></category>
		<category><![CDATA[node-red]]></category>
		<category><![CDATA[sonoff]]></category>
		<guid isPermaLink="false">https://www.devpower.pl/?p=995</guid>

					<description><![CDATA[Sterowanie bramami w domkach jednorodzinnych nie jest tak problematyczne jak sterowanie tego typu urządzeniami w zabudowie wielorodzinnej. Gdzie tak na prawdę nie mamy możliwości ingerowania w instalacje. Mamy do dyspozycji symulację otwierania przy pomocy pilota. W skrajnych przypadkach, takich jak np. mieszkanie po drugiej stronie budynku skąd nie ma szans dotrzeć sygnał radiowy do bramy,&#8230; <br> <a class="read-more" href="https://tyminski.dev/brama-garazowa-w-bloku-sterowanie-z-poziomu-home-assistanta/">Czytaj dalej</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sterowanie bramami w domkach jednorodzinnych nie jest tak problematyczne jak sterowanie tego typu urządzeniami w zabudowie wielorodzinnej. Gdzie tak na prawdę nie mamy możliwości ingerowania w instalacje. Mamy do dyspozycji symulację otwierania przy pomocy pilota. W skrajnych przypadkach, takich jak np. mieszkanie po drugiej stronie budynku skąd nie ma szans dotrzeć sygnał radiowy do bramy, zostajemy bez możliwości sterowania bramą przy pomocy telefonu. Ja na szczęście mam widok na bramę z okna kuchennego.</p>



<div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2021/04/IMG-0586-1024x768.jpg" alt="" class="wp-image-999 size-full"/></figure><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Dodatkowym utrudnieniem jest kodowanie sygnału z pilota. Nie możemy użyć tu np. sonoff RF, który &#8222;podszyłby się&#8221; pod oryginalny pilot. Dlatego też ostatecznie okazuje się, że jest tylko jedna opcja jaką możemy wykorzystać. Zintegrować oryginalny pilot z ESP. Na wszystkie esp daje espHome i tak też było w tym przypadku. No dobra, znalazłem jeden wyjątek <a href="https://tyminski.dev/smart-czajnik-redmond-rk-m216s-e-w-home-assistant/" target="_blank" rel="noreferrer noopener">bramka do czajnika</a> na esp32 gdzie zastosowałem autorskie oprogramowanie.</p>
</div></div>



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



<p class="wp-block-paragraph">Wgrywamy na płytkę EspHome. Konfigurujemy sobie switch&#8217;a z odpowiednim pinem, którym będziemy sterować przekaźnikiem. Osobiście preferuje komunikację po MQTT więc stosowny wpis z konfiguracją brokera musi się pojawić. Pierwotnie zrealizowałem w konfiguracji automatyzację włącznika jako relay, który sam się wyłączał po 500ms. Niestety tak krótkich impulsów nie wyłapywał node-red więc zrobiłem zwykły włącznik a wyłączanie go po 500ms realizuję już w node-red.  </p>



<pre class="wp-block-code"><code>switch:
  - platform: gpio
    pin: D8
    name: "Brama MCU - Remote"
    icon: "mdi:gate"</code></pre>



<p class="wp-block-paragraph">Dlaczego ma tu ingerować Node-red ? Chociażby żeby w momencie otwierania bramy alexa dźwięk informujący o otwarciu bramy. Jest to np. przydatne w momencie kiedy, żona wraca z ciężkimi zakupami a ja czym prędzej zbiegam do garażu aby pomóc <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;" />  Nie musi dzwonić i informować mnie o swoim powrocie <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;" /> Poza tym na pewno coś jeszcze wymyślę więc otwarcie sobie drogi i możliwość obsługi pilota z poziomu node-reda wydała mi się uzasadniona.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a800903495ec&quot;}" data-wp-interactive="core/image" data-wp-key="6a800903495ec" 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/04/Screenshot.png" alt="" class="wp-image-1016"/><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">Ok, to tyle jeśli chodzi o oprogramowanie. Zajmijmy się teraz stroną hardware&#8217;ową.</p>



<h2 class="wp-block-heading">Niezbędne elementy układu</h2>



<div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile"><div class="wp-block-media-text__content">
<p class="wp-block-paragraph">Elementy, które poza oczywistym esp, w moim przypadku node MCU i pilotem, który musiałem rozebrać to: przekaźnik z cewką na 5V, tranzystor NPN, rezystor 4,7kOhm, dioda prostownicza i kilka kabelków oraz płytka prototypowa aby wszystko w miarę trwale i stabilnie utrzymać w harmonii. Całość polutowana według załączonego schematu. Poniżej przedstawiam efekt ostateczny mojego spawania. </p>
</div><figure class="wp-block-media-text__media"><img decoding="async" src="https://www.tyminski.dev/wp-content/uploads/2021/04/Relay-Sample.jpg" alt="" class="wp-image-1025 size-full"/></figure></div>



<p class="wp-block-paragraph">Zastanawiam sie jak to teraz ukryć. Na parapecie leżeć nie może. Jakaś wydrukowana czy gotowa obudowa wpłynie negatywnie na komfort użytkowania okna. Najprawdopodobniej wykuję we wnęcę miejsce na puszkę kieszeniową. Doprowadzę tam zasilanie od przycisku rolety dzięki czemu będę mógł tam wrzucić ładowarkę i rozwiążę problem zasilania esp.   </p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6a800903497b1&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;6a80090349adf&quot;}" data-wp-interactive="core/image" data-wp-key="6a80090349adf" 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="1002" src="https://tyminski.dev/wp-content/uploads/2021/04/IMG-0592.jpg" alt="" class="wp-image-1002"/><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;6a80090349ebe&quot;}" data-wp-interactive="core/image" data-wp-key="6a80090349ebe" 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="1003" src="https://tyminski.dev/wp-content/uploads/2021/04/IMG-0594.jpg" alt="" class="wp-image-1003"/><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;6a8009034a273&quot;}" data-wp-interactive="core/image" data-wp-key="6a8009034a273" 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="1004" src="https://tyminski.dev/wp-content/uploads/2021/04/IMG-0595.jpg" alt="" class="wp-image-1004"/><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">Podsumowanie</h2>



<p class="wp-block-paragraph">Po blisko 2 tygodniach użytkowania jestem zadowolony z rozwiązania. Jedynym problemem, który zaobserwowałem to chwilowy, ograniczony dostęp do internetu w podziemnym garażu. Trzeba podjechać pod bramę zanim użyje się przycisku na telefonie. Mam nadzieję, że kogoś mój projekt zainspiruje. Poniżej zamieszczam kompletny kod mojego ESP, które aktualnie zajmuje się tylko bramą. Każdy jednak wie jak to jest z tymi esp i najprawdopodobniej za chwilę wykorzystam pozostałe piny. Chociażby mam juz pomysł na wykonanie przycisku na ścianie. żeby bramę można było otwierać również z poziomu zwykłego przycisku na ścianie.</p>



<pre class="wp-block-code"><code>esphome:
  name: brama_mcu
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "ssid"
  password: "haslo"
  
    # Optional manual IP
  manual_ip:
    static_ip: 192.168.1.109
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Brama Hotspot"
    password: "12345678"

captive_portal:
logger:
ota:

mqtt:
  broker: 192.168.1.110
  username: login
  password: haslo
  discovery: True   

# Enable Web server
web_server:
  port: 80

sensor:
  - platform: wifi_signal
    name: "Brama MCU - Wifi Signal"
    update_interval: 60s
    icon: mdi:wifi
  - platform: uptime
    name: "Node1 - Uptime"
    update_interval: 60s
    icon: mdi:clock-outline
    
switch:
  - platform: gpio
    pin: D8
    name: "Brama MCU - Remote"
    icon: "mdi:gate"

text_sensor:
  - platform: version
    name: "Brama MCU - Version"
    icon: mdi:cube-outline</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://tyminski.dev/brama-garazowa-w-bloku-sterowanie-z-poziomu-home-assistanta/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
