{"id":8857,"date":"2026-08-26T17:15:00","date_gmt":"2026-08-26T15:15:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=8857"},"modified":"2026-10-24T02:37:47","modified_gmt":"2026-10-24T00:37:47","slug":"esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/","title":{"rendered":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury"},"content":{"rendered":"<h2>ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury<\/h2>\n<p>ESP32 z czujnikiem SCD40 mo\u017ce przesy\u0142a\u0107 CO\u2082, temperatur\u0119 i wilgotno\u015b\u0107 wzgl\u0119dn\u0105 bezpo\u015brednio do Home Assistant. ESPHome tworzy oprogramowanie z konfiguracji YAML. Ten tor danych nie wymaga konta w chmurze producenta. Jako\u015b\u0107 pomiaru nadal zale\u017cy od czujnika, obudowy i kalibracji; lokalne po\u0142\u0105czenie nie zapewnia dok\u0142adno\u015bci laboratoryjnej.<\/p>\n<h2>1. Wyb\u00f3r pomiaru i pod\u0142\u0105czenie czujnika<\/h2>\n<p>SCD40 mierzy CO\u2082 metod\u0105 fotoakustyczn\u0105 NDIR. Zakres okre\u015blonej dok\u0142adno\u015bci wynosi 400\u20132000 ppm, a nie 5000 ppm; poza tym zakresem nie obowi\u0105zuje ta sama deklaracja dok\u0142adno\u015bci. SCD30 to inny, optyczny modu\u0142 NDIR z zakresem okre\u015blonej dok\u0142adno\u015bci 400\u201310 000 ppm. Zakresy te nale\u017cy odr\u00f3\u017cni\u0107 od zakresu cyfrowych warto\u015bci wyj\u015bciowych.<\/p>\n<p>Indeks VOC opisuje zmiany mieszaniny lotnych zwi\u0105zk\u00f3w organicznych, a nie bezpo\u015brednie st\u0119\u017cenie CO\u2082. Komponent <code>sgp4x<\/code> w ESPHome mo\u017ce oblicza\u0107 indeks VOC na podstawie SGP40. Podstawowy komponent BME680 udost\u0119pnia rezystancj\u0119 gazow\u0105; indeks jako\u015bci powietrza wymaga dodatkowego przetwarzania, na przyk\u0142ad BSEC. SHT40 mierzy temperatur\u0119 i wilgotno\u015b\u0107. Te opcjonalne modu\u0142y wymagaj\u0105 osobnej konfiguracji i nie wchodz\u0105 w sk\u0142ad poni\u017cszego przyk\u0142adu.<\/p>\n<p>I\u00b2C wymaga SDA i SCL, wsp\u00f3lnej masy oraz odpowiedniego zasilania: dwa przewody sygna\u0142owe nie zasilaj\u0105 ca\u0142ego urz\u0105dzenia. Przyk\u0142ad wykorzystuje GPIO21 i GPIO22 klasycznej p\u0142ytki ESP32 opisanej definicj\u0105 esp32dev. Inne p\u0142ytki, zw\u0142aszcza warianty C3\/S3, wymagaj\u0105 odpowiedniej definicji i przypisania pin\u00f3w. Dokumentacja modu\u0142u czujnika okre\u015bla napi\u0119cie zasilania, rezystory podci\u0105gaj\u0105ce i po\u0142\u0105czenia. Linie ESP32 wymagaj\u0105 poziom\u00f3w 3,3 V; zasilanie modu\u0142u napi\u0119ciem 5 V nie uzasadnia podci\u0105gania SDA\/SCL do 5 V. Kr\u00f3tkie przewody i kontrola \u0142\u0105cznego obci\u0105\u017cenia rezystor\u00f3w z kilku modu\u0142\u00f3w ograniczaj\u0105 problemy magistrali.<\/p>\n<figure class=\"lw-diagram\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-8857-review-20261024.png\" width=\"1120\" height=\"580\" alt=\"Lokalny tor danych: opr\u00f3cz SDA\/SCL potrzebne s\u0105 zasilanie i masa. Odczyty trafiaj\u0105 do Home Assistant przez szyfrowane API; aktualizacje firmware korzystaj\u0105 z osobnego po\u0142\u0105czenia.\"><figcaption>Lokalny tor danych: opr\u00f3cz SDA\/SCL potrzebne s\u0105 zasilanie i masa. Odczyty trafiaj\u0105 do Home Assistant przez szyfrowane API; aktualizacje firmware korzystaj\u0105 z osobnego po\u0142\u0105czenia.<\/figcaption><\/figure>\n<h2>2. Konfiguracja i sprawdzenie oprogramowania<\/h2>\n<p>Poni\u017cszy przyk\u0142ad obejmuje ESP32 i SCD40. Aktualne ESPHome oddziela blok esp32 od esphome. Dane dost\u0119powe nale\u017c\u0105 do prywatnego pliku <code>secrets.yaml<\/code> obok konfiguracji. <code>api_encryption_key<\/code> musi zawiera\u0107 32 losowe bajty zakodowane w Base64; opisowy tekst zast\u0119pczy ani wsp\u00f3lny klucz przyk\u0142adowy nie s\u0105 odpowiednie. Has\u0142o OTA jest oddzielne od klucza API. Pierwsza instalacja zwykle odbywa si\u0119 przez USB; kolejne aktualizacje mog\u0105 korzysta\u0107 z sieci lokalnej.<\/p>\n<pre class=\"wp-block-code-beautifier-block-code\"><code>esphome:\n  name: env-monitor-office\n\nesp32:\n  board: esp32dev\n  framework:\n    type: esp-idf\n\nlogger:\n\nwifi:\n  ssid: !secret wifi_ssid\n  password: !secret wifi_password\n\napi:\n  encryption:\n    key: !secret api_encryption_key\n\nota:\n  - platform: esphome\n    password: !secret ota_password\n\ni2c:\n  sda: GPIO21\n  scl: GPIO22\n  scan: true\n  frequency: 100kHz\n\nsensor:\n  - platform: scd4x\n    co2:\n      name: Biuro CO2\n    temperature:\n      name: Biuro Temperatura\n    humidity:\n      name: Biuro Wilgotno\u015b\u0107\n    measurement_mode: periodic\n    update_interval: 30s\n    automatic_self_calibration: false\n<\/code><\/pre>\n<p>Czujnik w trybie periodic wykonuje pomiar co pi\u0119\u0107 sekund; ta konfiguracja przesy\u0142a odczyty co 30 sekund. Fizyczna reakcja na zmian\u0119 powietrza trwa d\u0142u\u017cej ni\u017c transmisja sieciowa. Cz\u0119stsze odpytywanie nie zapewnia natychmiastowej reakcji czujnika gazu.<\/p>\n<h2>3. Kalibracja i umieszczenie czujnika<\/h2>\n<p>Automatyczna samokalibracja pozostaje w przyk\u0142adzie wy\u0142\u0105czona do czasu spe\u0142nienia warunk\u00f3w producenta. Za\u0142o\u017cenia ASC w SCD4x obejmuj\u0105 regularny kontakt z powietrzem o st\u0119\u017ceniu oko\u0142o 400 ppm, wed\u0142ug podlinkowanej karty katalogowej przynajmniej raz w tygodniu. Stale zaj\u0119te pomieszczenie z podwy\u017cszonym CO\u2082 mo\u017ce nie spe\u0142nia\u0107 tego warunku. Wy\u0142\u0105czenie ASC tak\u017ce nie zapobiega dryfowi: nadal potrzebne s\u0105 pomiar odniesienia i odpowiednia procedura konserwacji.<\/p>\n<p>Wymuszona kalibracja wymaga znanego, stabilnego st\u0119\u017cenia odniesienia oraz procedury producenta, w tym przynajmniej trzech minut pracy w stabilnych warunkach przed sekwencj\u0105 kalibracji. Powietrza na zewn\u0105trz nie nale\u017cy automatycznie uto\u017csamia\u0107 z dok\u0142adnie 400 ppm. Spadek minimum dobowego sam w sobie nie dowodzi dryfu kalibracji. Potrzebne jest por\u00f3wnanie z wiarygodnym odniesieniem.<\/p>\n<p>Czujnik wymaga odst\u0119pu od ESP32 i stabilizatora napi\u0119cia oraz przep\u0142ywu powietrza w obudowie. Po osi\u0105gni\u0119ciu r\u00f3wnowagi cieplnej nast\u0119puje por\u00f3wnanie temperatury z przyrz\u0105dem odniesienia. Domy\u015blna warto\u015b\u0107 <code>temperature_offset<\/code> dla SCD4x w ESPHome wynosi 4 \u00b0C i wymaga dopasowania do konkretnego monta\u017cu. Korekta wp\u0142ywa na temperatur\u0119 i wilgotno\u015b\u0107 wzgl\u0119dn\u0105, ale nie kalibruje CO\u2082. Kana\u0142y temperatury i wilgotno\u015bci s\u0105 przydatne do obserwacji pomieszczenia, jednak nagrzewanie obudowy mo\u017ce dominowa\u0107 w b\u0142\u0119dzie pomiaru.<\/p>\n<h2>4. Dost\u0119p lokalny i granice izolacji sieciowej<\/h2>\n<p>Osobna sie\u0107 IoT VLAN z zapor\u0105 mo\u017ce blokowa\u0107 bezpo\u015bredni dost\u0119p czujnika do internetu. Home Assistant nadal potrzebuje dost\u0119pu do TCP 6053 czujnika dla szyfrowanego API; uprawniony komputer aktualizacyjny potrzebuje TCP 3232 dla ESP32 OTA oraz ruchu zwrotnego tych po\u0142\u0105cze\u0144. Przyk\u0142ad w\u0142\u0105cza szyfrowanie API i aktualizacje OTA chronione has\u0142em.<\/p>\n<p>Wykrywanie mDNS zwykle nie przekracza automatycznie granic VLAN. Rezerwacja DHCP i r\u0119czna integracja przez adres IP zapewniaj\u0105 przewidywaln\u0105 alternatyw\u0119; wykrywanie po nazwie wymaga \u015bwiadomej konfiguracji sieci. Kompilacja odbywa si\u0119 na komputerze buduj\u0105cym firmware, kt\u00f3ry mo\u017ce potrzebowa\u0107 internetu do pobrania zale\u017cno\u015bci. Sam czujnik nie potrzebuje internetu do przedstawionych lokalnych funkcji API i OTA.<\/p>\n<p>Zapora ogranicza bezpo\u015brednie po\u0142\u0105czenia zewn\u0119trzne. Eksporty, integracje chmurowe i kopie zapasowe Home Assistant nadal mog\u0105 przenosi\u0107 odczyty poza sie\u0107. Dost\u0119pno\u015b\u0107 zale\u017cy r\u00f3wnie\u017c od Wi-Fi, zasilania, firmware i komputera automatyki; dzia\u0142anie lokalne nie gwarantuje pracy bez przerw.<\/p>\n<div class=\"lw-faq\">\n<h2>Pytania i odpowiedzi<\/h2>\n<h3>Jak sprawdzi\u0107 konfiguracj\u0119 przed instalacj\u0105?<\/h3>\n<p>Przed kompilacj\u0105 walidator konfiguracji ESPHome sprawdza faktyczn\u0105 definicj\u0119 p\u0142ytki wraz z prywatnym plikiem sekret\u00f3w. Pomy\u015blna walidacja potwierdza schemat, ale nie zgodno\u015b\u0107 elektryczn\u0105 ani dok\u0142adno\u015b\u0107 pomiaru. Po instalacji potrzebne s\u0105 kontrole adresu I\u00b2C, log\u00f3w, odczyt\u00f3w, aktualizacji i zachowania przy utracie Wi-Fi lub Home Assistant. Kalibracja wymaga oddzielnego por\u00f3wnania pomiarowego.<\/p>\n<h3>Czy niedost\u0119pny czujnik oznacza zerowe CO\u2082?<\/h3>\n<p>Nie. Brak odczytu lub przerwane po\u0142\u0105czenie oznaczaj\u0105 brak informacji, a nie zerowe st\u0119\u017cenie. Automatyzacje wymagaj\u0105 osobnego stanu awarii oraz kontroli ostatniego udanego pomiaru. Sama niezmieniona warto\u015b\u0107 liczbowa nie odr\u00f3\u017cnia stabilnych warunk\u00f3w od zablokowanego czujnika.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/esphome.io\/components\/esp32\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: ESP32<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/sensor\/scd4x\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: SCD4x<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/api\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: Native API<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/ota\/esphome\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: OTA<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/sensor\/sgp4x\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: SGP4x<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/sensor\/bme680\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: BME680<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/components\/sensor\/bme680_bsec\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome: BME680 BSEC<\/a><\/li>\n<li><a href=\"https:\/\/sensirion.com\/media\/documents\/48C4B7FB\/64C134E7\/Sensirion_SCD4x_Datasheet.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Sensirion: SCD4x datasheet<\/a><\/li>\n<li><a href=\"https:\/\/sensirion.com\/products\/catalog\/SCD30\" target=\"_blank\" rel=\"noopener noreferrer\">Sensirion: SCD30<\/a><\/li>\n<li><a href=\"https:\/\/esphome.io\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">ESPHome documentation<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Techniczny przewodnik budowy czujnik\u00f3w \u015brodowiskowych bez chmury: integracja ESP32, modu\u0142\u00f3w CO2 NDIR Sensirion SCD40 i ESPHome w sieci VLAN z Home Assistant.<\/p>\n","protected":false},"author":1,"featured_media":14117,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[92322,92193,92307,92202,92325],"class_list":["post-8857","post","type-post","status-publish","format-standard","hentry","category-smart-home-pl","tag-esphome-pl","tag-home-assistant-pl","tag-iot-pl","tag-smart-home-de-pl","tag-vlan-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-26T15:15:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-24T00:37:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury\",\"datePublished\":\"2026-08-26T15:15:00+00:00\",\"dateModified\":\"2026-10-24T00:37:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/\"},\"wordCount\":959,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png\",\"keywords\":[\"ESPHome\",\"Home Assistant\",\"IoT\",\"Smart Home\",\"VLAN\"],\"articleSection\":[\"Smart Home\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/\",\"name\":\"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png\",\"datePublished\":\"2026-08-26T15:15:00+00:00\",\"dateModified\":\"2026-10-24T00:37:47+00:00\",\"description\":\"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png\",\"width\":1200,\"height\":630,\"caption\":\"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/smart-home-pl\\\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik","description":"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/","og_locale":"en_US","og_type":"article","og_title":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik","og_description":"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-26T15:15:00+00:00","article_modified_time":"2026-10-24T00:37:47+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury","datePublished":"2026-08-26T15:15:00+00:00","dateModified":"2026-10-24T00:37:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/"},"wordCount":959,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png","keywords":["ESPHome","Home Assistant","IoT","Smart Home","VLAN"],"articleSection":["Smart Home"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/","name":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png","datePublished":"2026-08-26T15:15:00+00:00","dateModified":"2026-10-24T00:37:47+00:00","description":"Czujniki \u015brodowiskowe ESP32 z ESPHome: I2C, SCD40, konfiguracja YAML i lokalne po\u0142\u0105czenie z Home Assistant przez VLAN.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-8857-esphome-esp32-wlasne-czujniki-srodow-g.png","width":1200,"height":630,"caption":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/smart-home-pl\/esphome-i-esp32-w-praktyce-wlasne-czujniki-srodowiskowe-bez-chmury\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ESPHome i ESP32 w praktyce: W\u0142asne czujniki \u015brodowiskowe bez chmury"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=8857"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8857\/revisions"}],"predecessor-version":[{"id":23222,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/8857\/revisions\/23222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14117"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=8857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=8857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=8857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}