<?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>Archiwa Smart home - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/smart-home/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/smart-home/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Tue, 07 Jul 2026 06:04:55 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Smart home - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/smart-home/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Termostat w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 08:54:43 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Smart home]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[czujnik podłogowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[regulacja temperatury]]></category>
		<category><![CDATA[siłowniki termoelektryczne]]></category>
		<category><![CDATA[smart home ogrzewanie]]></category>
		<category><![CDATA[sterowanie podłogówką]]></category>
		<category><![CDATA[strefy grzewcze]]></category>
		<category><![CDATA[termostat ogrzewania podłogowego]]></category>
		<category><![CDATA[termostat pokojowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3186</guid>

					<description><![CDATA[<p>Prawidłowo dobrany i skonfigurowany termostat w ogrzewaniu podłogowym ma kluczowy wpływ nie tylko na komfort cieplny, ale również na zdrowie domowników i realne koszty eksploatacji budynku. W przypadku wodnej podłogówki, która charakteryzuje się dużą bezwładnością cieplną, sterowanie temperaturą wymaga wiedzy i przemyślanych decyzji. W artykule szczegółowo omawiamy zasady działania termostatów, ich rodzaje, parametry techniczne oraz powiązanie z projektem ogrzewania podłogowego – zarówno z perspektywy inwestora, jak i instalatora.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">Termostat w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wybór i prawidłowa konfiguracja&nbsp;<strong>termostatu w ogrzewaniu podłogowym</strong>&nbsp;to kluczowa decyzja, która w bezpośredni sposób przekłada się na komfort termiczny, zdrowie domowników oraz wysokość rachunków za energię. Wodna podłogówka, jako system o dużej bezwładności cieplnej, wymaga precyzyjnego i przemyślanego sterowania. W tym artykule, przeznaczonym zarówno dla inwestorów, jak i instalatorów, dogłębnie przeanalizujemy rolę, typy, parametry techniczne oraz zasady doboru termostatów, będących &#8222;mózgiem&#8221; każdej nowoczesnej instalacji grzewczej.</p>



<h2 class="wp-block-heading">Zasada działania: Dlaczego termostat to nie tylko włącznik i wyłącznik?</h2>



<p class="wp-block-paragraph"><strong>Termostat w instalacji wodnego ogrzewania podłogowego</strong>&nbsp;pełni funkcję inteligentnego strażnika temperatury. Jego zadanie wykracza daleko poza prostą reakcję &#8222;za ciepło = wyłącz&#8221;. To zaawansowany układ regulacji, który w sposób ciągły dąży do zachowania równowagi między dostarczanym ciepłem a stratami budynku.</p>



<p class="wp-block-paragraph"><strong>Jak to działa w praktyce?</strong>&nbsp;Termostat, wyposażony w czujnik (lub kilka czujników), monitoruje aktualną temperaturę. Gdy spadnie ona poniżej wartości zadanej (tzw.&nbsp;<em>setpointu</em>), termostat zamyka obwód elektryczny, wysyłając sygnał do&nbsp;<strong>siłownika termoelektrycznego</strong>&nbsp;(zaworu). Siłownik otwiera przepływ ciepłej wody z obiegu kotła lub mieszacza do <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczej</a> w podłodze. Gdy temperatura zostanie osiągnięta, sygnał jest odcinany, siłownik zamyka zawór, a woda w pętli powoli oddaje zgromadzone ciepło. Ten cykl powtarza się, zapewniając stabilne warunki.</p>



<p class="wp-block-paragraph">Kluczową koncepcją jest&nbsp;<strong>histereza</strong>, czyli dopuszczalne odchylenie temperatury od wartości zadanej, które nie uruchamia reakcji termostatu. Zbyt mała histereza (np. 0,2°C) spowoduje zbyt częste załączanie siłowników. Dla ogrzewania podłogowego, z uwagi na jego bezwładność, zaleca się histerezę w zakresie&nbsp;<strong>0,5-1,0°C</strong>, co zapewni płynną i ekonomiczną pracę.</p>



<h3 class="wp-block-heading">Rodzaje termostatów: Od prostoty mechaniki po inteligencję chmury.</h3>



<p class="wp-block-paragraph">Wybór konkretnego typu termostatu determinuje nie tylko wygodę, ale i potencjał oszczędnościowy całego systemu.</p>



<h4 class="wp-block-heading"><strong>Termostaty mechaniczne (pokrętłowe)</strong>.</h4>



<p class="wp-block-paragraph">To najprostsze i najbardziej odporne urządzenia. Regulacja odbywa się za pomocą pokrętła z podziałką, często ze wskaźnikiem włączonego ogrzewania (świecąca lampka). Ich działanie opiera się najczęściej na&nbsp;<strong>elementach bimetalicznych</strong>, które odkształcają się pod wpływem temperatury, zwierając lub rozwierając styki.</p>



<ul class="wp-block-list">
<li><strong>Zalety:</strong>&nbsp;Niska cena, absolutna niezawodność, intuicyjna obsługa, brak potrzeby zasilania sieciowego (działają na własnym napięciu sterowania).</li>



<li><strong>Wady:</strong>&nbsp;Brak możliwości precyzyjnego ustawienia temperatury (podziałka jest przybliżona), brak funkcji programowania.</li>



<li><strong>Przykład zastosowania:</strong>&nbsp;Pomieszczenia techniczne, garaże, łazienki, gdzie priorytetem jest podstawowa funkcjonalność, a nie oszczędności.</li>
</ul>



<h4 class="wp-block-heading"><strong>Termostaty cyfrowe programowalne</strong>.</h4>



<p class="wp-block-paragraph">Stanowią standard w nowoczesnych instalacjach. Wyposażone w wyświetlacz LCD i przyciski, umożliwiają precyzyjne ustawienie temperatury z dokładnością do 0,5°C lub nawet 0,1°C.</p>



<ul class="wp-block-list">
<li><strong>Kluczowa funkcja:</strong>&nbsp;<strong>Program czasowy</strong>. Pozwala na ustawienie różnych temperatur dla różnych pór dnia (np.&nbsp;<strong>komfort</strong>&nbsp;21°C od 6:00 do 22:00) i dni tygodnia (np.&nbsp;<strong>oszczędność</strong>&nbsp;18°C w nocy i w czasie pracy). Tygodniowy harmonogram może być różny dla każdego dnia.</li>



<li><strong>Potencjał oszczędności:</strong>&nbsp;To właśnie programowanie przynosi realne oszczędności, szacowane na&nbsp;<strong>15-30%</strong>&nbsp;w skali sezonu grzewczego. System nie grzeje pełną mocą, gdy domownicy śpią lub są w pracy.</li>



<li><strong>Przykład konfiguracji:</strong>&nbsp;<code>Pon-Pt: 5:00-7:00 (21°C), 7:00-16:00 (17°C), 16:00-23:00 (21°C), 23:00-5:00 (18°C). Sob-Nd: 7:00-23:00 (21°C), 23:00-7:00 (18°C).</code></li>
</ul>



<h4 class="wp-block-heading"><strong>Termostaty sieciowe i inteligentne (Wi-Fi)</strong>.</h4>



<p class="wp-block-paragraph">To najbardziej zaawansowana grupa, będąca elementem&nbsp;<strong>systemu Smart Home</strong>. Łączą się z siecią domową Wi-Fi, dając pełną kontrolę przez aplikację na smartfonie z dowolnego miejsca na świecie.</p>



<ul class="wp-block-list">
<li><strong>Zaawansowane algorytmy:</strong>&nbsp;Niektóre modele (np. Nest, Tado, niektóre modele Uponor, Siemens) uczą się charakterystyki grzewczej domu i czasu jego nagrzewania, optymalizując moment startu.</li>



<li><strong>Geofencing (strefowanie geograficzne):</strong>&nbsp;Aplikacja, korzystając z lokalizacji telefonu, automatycznie przełącza system w tryb oszczędnościowy, gdy ostatni domownik wyjdzie z domu, i wraca do trybu komfortu, gdy ktoś zmierza do domu.</li>



<li><strong>Integracja:</strong>&nbsp;Możliwość integracji z asystentami głosowymi (Google Assistant, Alexa), systemami pogodowymi (korekta ogrzewania przy zmianie pogody) czy innymi urządzeniami smart home.</li>



<li><strong>Wady:</strong>&nbsp;Wyższa cena, zależność od stabilności łącza internetowego, potencjalne kwestie prywatności danych.</li>
</ul>



<h2 class="wp-block-heading">Kryteria techniczne wyboru: Na co patrzeć poza ceną i wyglądem?</h2>



<p class="wp-block-paragraph">Dobór&nbsp;<strong>modułu sterującego ogrzewaniem podłogowym</strong>&nbsp;musi opierać się na twardych parametrach technicznych, których niedopasowanie uniemożliwi poprawne działanie instalacji.</p>



<h3 class="wp-block-heading">Napięcie sterowania: 230V AC vs 24V AC/DC.</h3>



<p class="wp-block-paragraph">To&nbsp;<strong>najważniejszy parametr kompatybilnościowy</strong>. Musi być absolutnie zgodny z napięciem pracy siłowników termoelektrycznych zamontowanych na rozdzielaczu.</p>



<ul class="wp-block-list">
<li><strong>Termostat 230V AC:</strong>&nbsp;Steruje bezpośrednio siłownikami 230V. Prosty w instalacji (brak dodatkowych zasilaczy), ale w przypadku awarii termostatu do siłownika trafia pełne napięcie sieciowe.</li>



<li><strong>Termostat 24V AC/DC:</strong>&nbsp;Wymaga zastosowania&nbsp;<strong>transformatora (zasilacza)</strong>, który obniża napięcie do bezpiecznej wartości 24V. Rozwiązanie uważane za bezpieczniejsze i bardziej elastyczne, standard w nowoczesnych instalacjach. Zasilacz może obsługiwać grupę kilku termostatów.</li>
</ul>



<h3 class="wp-block-heading">Typ i lokalizacja czujnika temperatury.</h3>



<p class="wp-block-paragraph">To decyduje o tym,&nbsp;<em>co</em>&nbsp;tak naprawdę regulujemy.</p>



<ul class="wp-block-list">
<li><strong>Czujnik podłogowy (DS):</strong>&nbsp;Mały przewodowy czujnik umieszczany&nbsp;<strong>bezpośrednio w pętli grzewczej</strong>&nbsp;(np. w rurce ochronnej w wylewce). Jego rolą jest&nbsp;<strong>ograniczenie maksymalnej temperatury podłogi</strong>&nbsp;(zazwyczaj do 26-29°C dla pomieszczeń stałego pobytu, do 33-35°C dla łazienek). Jest&nbsp;<strong>niezbędny</strong>&nbsp;dla ochrony posadzek (zwłaszcza drewnianych, paneli, niektórych płytek) przed zniszczeniem i dla komfortu stóp.</li>



<li><strong>Czujnik powietrzny (wbudowany lub zdalny &#8211; TA):</strong>&nbsp;Mierzy temperaturę powietrza na wysokości montażu termostatu (~1,5 m). Idealny do utrzymania komfortu w pomieszczeniu.</li>



<li><strong>Sterowanie mieszane (DS+TA):</strong>&nbsp;Najbardziej uniwersalny i zalecany tryb. Termostat używa&nbsp;<strong>czujnika powietrznego jako głównego</strong>&nbsp;do osiągnięcia zadanej temperatury w pomieszczeniu, ale&nbsp;<strong>czujnik podłogowy pełni funkcję zabezpieczającą</strong>. Jeśli temperatura podłogi zbliży się do maksymalnej wartości granicznej, termostat ograniczy lub wyłączy grzanie, nawet jeśli temperatura powietrza nie jest jeszcze osiągnięta.</li>
</ul>



<p class="wp-block-paragraph"><strong>Tabela porównawcza: Tryby pracy termostatu</strong>.</p>



<style>
/* === Kontener tabeli === */
.thermostat-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
  font-family: Arial, sans-serif;
}

/* === Tabela === */
.thermostat-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
  background: #ffffff;
}

/* === Nagłówki === */
.thermostat-table thead {
  background: #f5f7fa;
}

.thermostat-table th {
  padding: 14px 12px;
  text-align: left;
  font-weight: 600;
  font-size: 15px;
  border-bottom: 2px solid #ddd;
  white-space: nowrap;
}

/* === Komórki === */
.thermostat-table td {
  padding: 14px 12px;
  font-size: 14px;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: top;
  font-weight: 400;
}

/* === Mobile: układ kart === */
@media (max-width: 768px) {
  .thermostat-table {
    min-width: 100%;
  }

  .thermostat-table thead {
    display: none;
  }

  .thermostat-table tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    background: #fafafa;
  }

  .thermostat-table td {
    display: flex;
    justify-content: space-between;
    padding: 8px 6px;
    border: none;
    font-size: 14px;
  }

  .thermostat-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #555;
    padding-right: 10px;
    flex: 0 0 45%;
  }
}
</style>

<div class="thermostat-table-wrapper">
  <table class="thermostat-table">
    <thead>
      <tr>
        <th>Tryb pracy</th>
        <th>Czujnik aktywny</th>
        <th>Cel regulacji</th>
        <th>Zalety</th>
        <th>Wady / Uwagi</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td data-label="Tryb pracy">Tylko podłogowy</td>
        <td data-label="Czujnik aktywny">Podłogowy (DS)</td>
        <td data-label="Cel regulacji">
          Utrzymanie stałej, bezpiecznej temperatury podłogi
        </td>
        <td data-label="Zalety">
          Chroni posadzkę, prostota
        </td>
        <td data-label="Wady / Uwagi">
          Nie reaguje na zmiany temperatury powietrza
          (np. nasłonecznienie, przeciąg)
        </td>
      </tr>

      <tr>
        <td data-label="Tryb pracy">Tylko powietrzny</td>
        <td data-label="Czujnik aktywny">Powietrzny (TA)</td>
        <td data-label="Cel regulacji">
          Utrzymanie zadanej temperatury powietrza w pomieszczeniu
        </td>
        <td data-label="Zalety">
          Bezpośredni wpływ na komfort
        </td>
        <td data-label="Wady / Uwagi">
          Ryzyko przegrzania podłogi; czujnik wrażliwy na lokalne warunki
        </td>
      </tr>

      <tr>
        <td data-label="Tryb pracy">Mieszany (Limit)</td>
        <td data-label="Czujnik aktywny">
          Głównie powietrzny (TA) z limitem podłogowym (DS)
        </td>
        <td data-label="Cel regulacji">
          Temperatura powietrza z priorytetem ochrony podłogi
        </td>
        <td data-label="Zalety">
          Optymalny komfort i bezpieczeństwo – najczęściej zalecany
        </td>
        <td data-label="Wady / Uwagi">
          Wymaga poprawnego rozmieszczenia obu czujników
        </td>
      </tr>

      <tr>
        <td data-label="Tryb pracy">Adaptacyjny (Alg.)</td>
        <td data-label="Czujnik aktywny">
          Oba + algorytmy uczenia
        </td>
        <td data-label="Cel regulacji">
          Komfort przy minimalnym zużyciu energii
        </td>
        <td data-label="Zalety">
          Maksymalna efektywność energetyczna
          (inteligentne termostaty)
        </td>
        <td data-label="Wady / Uwagi">
          Wyższa cena i bardziej złożona konfiguracja
        </td>
      </tr>
    </tbody>
  </table>
</div>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego a dobór termostatu: Nierozerwalny duet.</h2>



<p class="wp-block-paragraph"><strong>Planowanie systemu sterowania powinno być integralną częścią <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projektu ogrzewania podłogowego</a>, a nie myślą dodatkową.</strong> Profesjonalny projekt uwzględnia nie tylko rozmieszczenie pętli grzewczych i średnice rur, ale także:</p>



<ol start="1" class="wp-block-list">
<li><strong>Podział na strefy grzewcze:</strong>&nbsp;Każde pomieszczenie lub grupa pomieszczeń o podobnym charakterze użytkowania i bilansie cieplnym powinno stanowić oddzielną strefę z&nbsp;<strong>indywidualnym termostatem</strong>. Łazienka, salon, sypialnie – każda z nich ma inne wymagania czasowe i temperaturę komfortu.</li>



<li><strong>Dobór typu siłowników i napięcia sterowania:</strong>&nbsp;Projekt powinien precyzyjnie określać, czy na rozdzielaczu zastosujemy siłowniki&nbsp;<em>normalnie otwarte (NO)</em>&nbsp;czy&nbsp;<em>normalnie zamknięte (NC)</em>&nbsp;oraz czy będą to modele 230V czy 24V. Ta decyzja determinuje wybór termostatów.</li>



<li><strong>Lokalizacja czujników podłogowych:</strong>&nbsp;Projekt musi wskazać miejsca wprowadzenia rurek ochronnych na czujniki podłogowe, zwykle pomiędzy rurami grzewczymi, w odległości ok. 50-100 cm od ściany.</li>



<li><strong>Miejsce montażu termostatów:</strong>&nbsp;Należy zaplanować punkty montażowe standardowych puszek elektrycznych pod termostaty. Muszą one znajdować się&nbsp;<strong>na ścianie wewnętrznej, z dala od źródeł ciepła/chłodu</strong>&nbsp;(okna, drzwi balkonowe, kominki, kratki wentylacyjne), na wysokości ok. 1,5 m nad poziomem podłogi.</li>



<li><strong>Integracja z systemem nadrzędnym:</strong> W domach z kotłem kondensacyjnym, pompą ciepła czy systemem solarnym, projekt powinien rozważyć zastosowanie <strong><a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">sterownika pogodowego</a> lub multifunkcyjnego</strong> jako nadrzędnego, który będzie optymalizował pracę źródła ciepła w oparciu o krzywą grzewczą, a <strong>termostaty pokojowe</strong> będą pełnić rolę korekty lokalnej (tzw. funkcja <strong>priorytetu pogodowego</strong>). W takim układzie termostat wysyła sygnał &#8222;żądania ciepła&#8221; do centralnego sterownika, który decyduje o parametrach pracy źródła.</li>
</ol>



<p class="wp-block-paragraph"><strong>Przykład wyliczeniowy &#8211; koszt zaniedbania projektu sterowania:</strong>&nbsp;Załóżmy dom o zapotrzebowaniu na ciepło 12 000 kWh/rok. Brak strefowania i programowania może prowadzić do przegrzewania nieużywanych pomieszczeń. Jeśli w wyniku tego marnujemy tylko&nbsp;<strong>15%</strong>&nbsp;energii, jest to strata&nbsp;<strong>1800 kWh/rok</strong>. Przy cenie gazu ziemnego ok. 0,30 zł/kWh daje to&nbsp;<strong>540 zł rocznie</strong>. Inwestycja w dobre termostaty programowalne (ok. 200-300 zł/szt. dla 8 stref = 2000 zł) zwróci się więc w&nbsp;<strong>około 4 lata</strong>, a przez kolejne lata przynosząc czystą oszczędność.</p>



<h2 class="wp-block-heading">Zaawansowane funkcje i praktyczne porady montażowe.</h2>



<p class="wp-block-paragraph">Nowoczesne termostaty oferują szereg funkcji dodatkowych, zwiększających ich użyteczność:</p>



<ul class="wp-block-list">
<li><strong>Tryb &#8222;przeciwzamrożeniowy&#8221;:</strong>&nbsp;Utrzymuje minimalną temperaturę (np. +5°C lub +7°C), zabezpieczając instalację i wyposażenie domu podczas dłuższych nieobecności w sezonie zimowym.</li>



<li><strong>&#8222;Window function&#8221; (funkcja okienna):</strong>&nbsp;Po wykryciu gwałtownego spadku temperatury (np. po otwarciu okna na przewietrzenie) termostat automatycznie wyłącza ogrzewanie na ustalony czas, by nie marnować energii.</li>



<li><strong>Blokada rodzicielska/klawiszy:</strong>&nbsp;Zabezpiecza ustawienia przed przypadkową lub celową zmianą przez dzieci.</li>



<li><strong>Monitoring zużycia energii:</strong>&nbsp;Niektóre modele szacują zużycie energii na podstawie czasu otwarcia siłownika, co pomaga w zarządzaniu energią.</li>
</ul>



<p class="wp-block-paragraph"><strong>Porady montażowe i serwisowe:</strong></p>



<ul class="wp-block-list">
<li>Przed montażem&nbsp;<strong>koniecznie sprawdź poprawność działania czujnika podłogowego</strong>&nbsp;poprzez pomiar jego rezystancji (zgodnie z wartościami katalogowymi). Jego wymiana po wylaniu posadzki jest bardzo trudna lub niemożliwa.</li>



<li>Unikaj prowadzenia przewodów czujnika podłogowego w tych samych kanałach/trasach co przewody zasilające 230V, by uniknąć zakłóceń.</li>



<li>Pamiętaj, że termostat reguluje&nbsp;<strong>dostęp ciepłej wody do pętli</strong>, ale&nbsp;<strong>nie kontroluje temperatury tej wody</strong>. To zadanie&nbsp;<strong>modułu mieszającego</strong>&nbsp;(z pompą obiegową i głowicą termostatyczną lub sterownikiem). Termostat i mieszacz muszą współpracować.</li>
</ul>



<h2 class="wp-block-heading">FAQ – najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1768550517807"><strong class="schema-faq-question"><strong>Jaki termostat najlepiej sprawdzi się do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Najlepszym wyborem są termostaty cyfrowe programowalne lub inteligentne, które uwzględniają bezwładność cieplną podłogówki i umożliwiają sterowanie strefowe.</p> </div> <div class="schema-faq-section" id="faq-question-1768550528216"><strong class="schema-faq-question"><strong>Czy w ogrzewaniu podłogowym potrzebny jest czujnik podłogowy?</strong></strong> <p class="schema-faq-answer">Tak. Czujnik podłogowy chroni posadzkę przed przegrzaniem i zwiększa komfort użytkowania, szczególnie przy podłogach drewnianych i panelach.</p> </div> <div class="schema-faq-section" id="faq-question-1768550550512"><strong class="schema-faq-question"><strong>Czy jeden termostat może sterować całym domem?</strong></strong> <p class="schema-faq-answer">Technicznie tak, ale jest to niezalecane. Brak strefowania prowadzi do strat energii i obniżenia komfortu w poszczególnych pomieszczeniach.</p> </div> <div class="schema-faq-section" id="faq-question-1768550573861"><strong class="schema-faq-question"><strong>230V czy 24V – jakie napięcie termostatu wybrać?</strong></strong> <p class="schema-faq-answer">Oba rozwiązania są poprawne, jednak systemy 24V są bezpieczniejsze i częściej stosowane w nowoczesnych instalacjach z wieloma strefami.</p> </div> <div class="schema-faq-section" id="faq-question-1768550581640"><strong class="schema-faq-question"><strong>Czy inteligentny termostat realnie obniża rachunki?</strong></strong> <p class="schema-faq-answer">Tak. Dzięki harmonogramom, geolokalizacji i algorytmom adaptacyjnym oszczędności mogą sięgać nawet 20–30% w skali sezonu grzewczego.</p> </div> </div>



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



<p class="wp-block-paragraph">Podsumowując,&nbsp;<strong>termostat w ogrzewaniu podłogowym</strong>&nbsp;to znacznie więcej niż wygodny panel na ścianie. To precyzyjne narzędzie optymalizacji, którego wybór powinien wynikać z przemyślanego&nbsp;<strong>projektu</strong>, znajomości&nbsp;<strong>parametrów technicznych</strong>&nbsp;instalacji oraz realnych&nbsp;<strong>oczekiwań użytkowników</strong>. Inwestycja w zaawansowany, programowalny lub inteligentny system sterowania zwraca się w postaci wymiernych oszczędności, podniesionego komfortu życia oraz ochrony samej instalacji i wykończenia podłogi. W systemie wodnego ogrzewania podłogowego, gdzie reakcje są powolne, a skutki błędów długotrwałe, warto powierzyć kontrolę najlepszemu dostępnemu &#8222;mózgowi&#8221;.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="SRberQLMf6"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=TlzBAqBDC9#?secret=SRberQLMf6" data-secret="SRberQLMf6" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">Termostat w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy warto montować sterowniki do ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 11 Dec 2025 10:36:22 +0000</pubDate>
				<category><![CDATA[Automatyka domowa]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort w domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Smart home]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[Sterowniki do podłogówki]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[automatyka grzewcza]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[regulacja temperatury]]></category>
		<category><![CDATA[smart home]]></category>
		<category><![CDATA[sterownik pogodowy]]></category>
		<category><![CDATA[sterownik pokojowy]]></category>
		<category><![CDATA[sterowniki do podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2934</guid>

					<description><![CDATA[<p>Czy warto montować sterowniki do ogrzewania podłogowego? To pytanie zadaje sobie dziś większość osób planujących nowoczesny system grzewczy w swoim domu. Podłogówka sama w sobie daje komfort, ale dopiero odpowiednia automatyka pozwala realnie oszczędzać, podnosić wygodę i wykorzystać pełen potencjał instalacji. W zajawce wyjaśniamy, dlaczego sterowniki stają się nieodłącznym elementem współczesnych systemów grzewczych i jak wpływają na ich efektywność, trwałość oraz codzienną eksploatację.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">Czy warto montować sterowniki do ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #e0f2fe;
    --rk-intro-green: #10b981;
    --rk-intro-green-light: #dcfce7;
    --rk-intro-gray: #475569;
    --rk-intro-gray-light: #f8fafc;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border: 2px solid var(--rk-intro-dark);
    /* Brak border-radius - styl surowy, techniczny */
}

/* Sekcja Hook i Szybka Odpowiedź */
.rk-intro-hero {
    padding: 45px 50px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    border-bottom: 5px solid var(--rk-intro-blue);
}

.rk-intro-hook {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-blue-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-intro-hero h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.2;
    color: #ffffff;
}

.rk-intro-answer-box {
    background: #1e293b;
    border-left: 6px solid var(--rk-intro-green);
    padding: 25px 30px;
}

.rk-intro-answer-title {
    font-size: 13px;
    color: var(--rk-intro-green);
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-intro-answer-text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    margin: 0;
    color: #f8fafc;
}

.rk-intro-answer-text strong {
    color: #ffffff;
    font-weight: 900;
    background: var(--rk-intro-green);
    padding: 2px 8px;
    border-radius: 4px;
}

/* Sekcja merytoryczna */
.rk-intro-content {
    padding: 40px 50px;
    font-size: 16px;
    color: var(--rk-intro-gray);
    line-height: 1.7;
}

.rk-intro-content p {
    margin: 0 0 20px 0;
}

.rk-intro-content a {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny Nawigator Artykułu (Brak animacji) */
.rk-intro-nav {
    margin-top: 40px;
    border: 1px solid var(--rk-intro-border);
    background: var(--rk-intro-gray-light);
}

.rk-intro-nav-header {
    background: var(--rk-intro-border);
    padding: 15px 30px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    font-size: 15px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-intro-nav-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-intro-border);
    background: #ffffff;
}

.rk-intro-tab-btn {
    flex: 1;
    padding: 15px 20px;
    background: #ffffff;
    border: none;
    border-bottom: 3px solid transparent;
    border-right: 1px solid var(--rk-intro-border);
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-gray);
    cursor: pointer;
}

.rk-intro-tab-btn:last-child {
    border-right: none;
}

.rk-intro-tab-btn:hover {
    background: var(--rk-intro-gray-light);
}

.rk-intro-tab-btn.is-active {
    background: var(--rk-intro-blue-light);
    color: var(--rk-intro-blue);
    border-bottom-color: var(--rk-intro-blue);
}

.rk-intro-panels {
    padding: 30px;
    background: #ffffff;
}

.rk-intro-panel {
    display: none;
}

.rk-intro-panel.is-active {
    display: block;
}

.rk-intro-panel-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 10px 0;
}

.rk-intro-panel-desc {
    font-size: 14px;
    color: var(--rk-intro-gray);
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .rk-intro-container { margin: 20px auto; border-left: none; border-right: none; }
    .rk-intro-hero, .rk-intro-content { padding: 30px 20px; }
    .rk-intro-hero h2 { font-size: 24px; }
    .rk-intro-answer-box { padding: 20px; }
    .rk-intro-answer-text { font-size: 16px; }
    .rk-intro-nav-tabs { flex-direction: column; }
    .rk-intro-tab-btn { border-right: none; border-bottom: 1px solid var(--rk-intro-border); border-left: 4px solid transparent; text-align: left; }
    .rk-intro-tab-btn.is-active { border-left-color: var(--rk-intro-blue); border-bottom-color: var(--rk-intro-border); }
    .rk-intro-panels { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Czy warto montować sterowniki do ogrzewania podłogowego? Szybka odpowiedź",
    "description": "Bezpośrednia inżynierska odpowiedź na pytanie o opłacalność automatyki podłogówki. Poznaj argumenty, które pozwolą Ci zaoszczędzić od 15% do 25% energii.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-wstep",
    "name": "Kluczowe wskaźniki efektywności (KPI) dla automatyki ogrzewania płaszczyznowego",
    "description": "Wstępne zestawienie danych wejściowych dotyczących redukcji kosztów eksploatacyjnych po montażu sterowników strefowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy warto montować sterowniki do ogrzewania podłogowego",
      "automatyka strefowa do podłogówki czy warto",
      "koszty eksploatacji budynku z pompą ciepła",
      "bezwładność termiczna jastrychu a sterowanie",
      "optymalizacja sprawności cop kotła"
    ],
    "measurementTechnique": "Deklaracja początkowego wskaźnika redukcji zużycia energii (15-25%) uzyskanego poprzez strefową blokadę przepływu czynnika grzewczego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Montaż sterowników jest w 100% technicznie i ekonomicznie uzasadniony.",
        "Automatyka zabezpiecza materiał posadzki przed przegrzewaniem i optymalizuje COP."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-wstep",
    "name": "Nawigator Narzędzi Inżynierskich",
    "description": "Moduł wprowadzający czytelnika do zagnieżdżonych w artykule interaktywnych kalkulatorów i symulatorów procesów cieplnych.",
    "applicationCategory": "NavigationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    <div class="rk-intro-hero">
        <div class="rk-intro-hook">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            Budowa bez ściemy
        </div>
        <h2>Czy warto montować sterowniki do ogrzewania podłogowego?</h2>
        
        <div class="rk-intro-answer-box">
            <div class="rk-intro-answer-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Inżynierski Werdykt
            </div>
            <p class="rk-intro-answer-text">
                <strong>TAK.</strong> Montaż sterowników do wodnego ogrzewania podłogowego jest opłacalny i technicznie uzasadniony. Pozwala obniżyć koszty eksploatacji budynku o <strong>15% do 25%</strong>, brutalnie eliminując zjawisko permanentnego przegrzewania pomieszczeń.
            </p>
        </div>
    </div>

    <div class="rk-intro-content">
        <p>Instalator mówi, że pompa ciepła &#8222;sama sobie poradzi&#8221;, a Ty zastanawiasz się, czy inwestować w dodatkową elektronikę? Prawda jest taka, że bez precyzyjnego sterowania oddajesz kontrolę nad swoimi rachunkami ślepemu trafowi.</p>
        
        <p>Automatyka strefowa bezpośrednio dopasowuje wydatek cieplny poszczególnych pętli do rzeczywistego zapotrzebowania, kompensując tym samym wysoką <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność termiczną jastrychu</a>. Bezpośrednia kontrola nad przepływem czynnika grzewczego w każdej strefie z osobna chroni drogi materiał posadzki przed uszkodzeniem termicznym i drastycznie optymalizuje sprawność (COP) Twojej pompy ciepła lub kotła kondensacyjnego.</p>

        <div class="rk-intro-nav">
            <div class="rk-intro-nav-header">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                Co potrafią darmowe narzędzia w tym artykule?
            </div>
            
            <div class="rk-intro-nav-tabs">
                <button class="rk-intro-tab-btn is-active" data-show="n-roi">Kalkulator ROI</button>
                <button class="rk-intro-tab-btn" data-show="n-pwm">Symulator Algorytmu</button>
                <button class="rk-intro-tab-btn" data-show="n-ntc">Ochrona Posadzki</button>
            </div>

            <div class="rk-intro-panels">
                <div class="rk-intro-panel is-active" id="n-roi">
                    <h4 class="rk-intro-panel-title">Oblicz, kiedy zwróci Ci się inwestycja</h4>
                    <p class="rk-intro-panel-desc">Poniżej znajdziesz interaktywny kalkulator finansowy. Wpisz powierzchnię swojego domu oraz cenę prądu, aby natychmiast zobaczyć, w ile miesięcy oszczędności pokryją koszt zakupu listwy, siłowników i termostatów.</p>
                </div>
                
                <div class="rk-intro-panel" id="n-pwm">
                    <h4 class="rk-intro-panel-title">Zobacz fizykę w akcji (Algorytm PWM)</h4>
                    <p class="rk-intro-panel-desc">Oddajemy w Twoje ręce symulator inżynierski. Przekonaj się na własne oczy, jak uchyb temperatury wpływa na czas otwarcia siłownika przy wylewce betonowej, a jak przy anhydrytowej. Koniec z wróżeniem z fusów.</p>
                </div>
                
                <div class="rk-intro-panel" id="n-ntc">
                    <h4 class="rk-intro-panel-title">Ochrona paneli przed stopieniem (Czujnik NTC)</h4>
                    <p class="rk-intro-panel-desc">Wizualizacja trybu dwukanałowego. Sprawdź interaktywny model pokazujący, co dzieje się z Twoimi panelami winylowymi, gdy przekroczysz barierę 27°C i dlaczego czujnik w wylewce to absolutna konieczność.</p>
                </div>
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const navBtns = document.querySelectorAll('.rk-intro-tab-btn');
    const navPanels = document.querySelectorAll('.rk-intro-panel');

    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Twarde przełączanie (bez animacji, bez &&)
            const targetId = this.getAttribute('data-show');
            
            navBtns.forEach(function(b) {
                b.classList.remove('is-active');
            });
            
            navPanels.forEach(function(p) {
                p.classList.remove('is-active');
            });

            this.classList.add('is-active');
            
            const activePanel = document.getElementById(targetId);
            if (activePanel) {
                activePanel.classList.add('is-active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-darker: #0b1120;
    --rk-flow-blue: #0284c7;
    --rk-flow-blue-light: #e0f2fe;
    --rk-flow-green: #10b981;
    --rk-flow-orange: #f59e0b;
    --rk-flow-red: #ef4444;
    --rk-flow-gray: #475569;
    --rk-flow-bg: #ffffff;
    --rk-flow-border: #e2e8f0;
}

.rk-flow-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-flow-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-flow-blue);
    overflow: hidden;
}

.rk-flow-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-flow-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-flow-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-flow-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 0 15px 0;
    line-height: 1.7;
}
.rk-flow-header p:last-child { margin-bottom: 0; }

.rk-flow-header a {
    color: #38bdf8;
    text-decoration: none;
    border-bottom: 1px dashed #38bdf8;
    font-weight: 600;
    transition: color 0.3s;
}

.rk-flow-header a:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.rk-flow-body {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-flow-text-section {
    background: var(--rk-flow-bg);
    border: 1px solid var(--rk-flow-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-flow-text-section p {
    font-size: 15px;
    color: var(--rk-flow-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-flow-highlight {
    background: var(--rk-flow-blue-light);
    color: var(--rk-flow-blue);
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

/* Interaktywny Symulator Pętli */
.rk-flow-interactive {
    background: var(--rk-flow-darker);
    border-radius: 20px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.3);
}

.rk-flow-interactive-title {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 30px 0;
    text-align: center;
}

.rk-flow-btn-trigger {
    background: var(--rk-flow-orange);
    color: #ffffff;
    border: none;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 40px;
    z-index: 10;
}

.rk-flow-btn-trigger:hover {
    transform: translateY(-3px);
    background: #d97706;
}

.rk-flow-btn-trigger:disabled {
    background: #475569;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Kontener SVG */
.rk-flow-svg-wrap {
    width: 100%;
    max-width: 700px;
    height: 250px;
    position: relative;
}

.rk-svg-component {
    fill: #1e293b;
    stroke: #334155;
    stroke-width: 2;
    rx: 8;
    transition: all 0.3s;
}

.rk-svg-text {
    fill: #cbd5e1;
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-anchor: middle;
}

.rk-svg-wire {
    fill: none;
    stroke: #334155;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rk-svg-signal {
    fill: none;
    stroke: var(--rk-flow-blue);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

.rk-svg-sun {
    fill: var(--rk-flow-orange);
    opacity: 0;
    transform: scale(0.5);
    transform-origin: 50px 50px;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Stany Animacji (Dodawane przez JS) */
.state-step-1 .rk-svg-sun { opacity: 1; transform: scale(1); animation: rkPulseSun 2s infinite; }
.state-step-2 .rk-svg-comp-thermostat { fill: var(--rk-flow-blue); stroke: #38bdf8; }
.state-step-2 .rk-svg-text-thermostat { fill: #ffffff; }
.state-step-3 .rk-svg-signal-1 { animation: rkRunSignal 1s forwards linear; }
.state-step-4 .rk-svg-comp-listwa { fill: var(--rk-flow-blue); stroke: #38bdf8; }
.state-step-5 .rk-svg-signal-2 { animation: rkRunSignal 1.5s forwards linear; }
.state-step-6 .rk-svg-comp-actuator { fill: var(--rk-flow-red); stroke: #fca5a5; transition: fill 3s; /* Symulacja powolnego zamknięcia */ }
.state-step-6 .rk-svg-water-flow { stroke-dashoffset: 100; transition: stroke-dashoffset 3s linear; }

@keyframes rkPulseSun {
    0% { filter: drop-shadow(0 0 5px rgba(245, 158, 11, 0.5)); }
    50% { filter: drop-shadow(0 0 15px rgba(245, 158, 11, 0.8)); transform: scale(1.1); }
    100% { filter: drop-shadow(0 0 5px rgba(245, 158, 11, 0.5)); }
}

@keyframes rkRunSignal {
    to { stroke-dashoffset: 0; }
}

.rk-flow-status-text {
    position: absolute;
    bottom: 20px;
    color: var(--rk-flow-green);
    font-weight: 800;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.5s;
}

.rk-flow-status-text.visible {
    opacity: 1;
}

@media (max-width: 768px) {
    .rk-flow-container { margin: 20px auto; border-radius: 16px; }
    .rk-flow-header, .rk-flow-body { padding: 25px 20px; }
    .rk-flow-header h2 { font-size: 24px; }
    .rk-flow-svg-wrap { height: 350px; }
    .rk-flow-interactive { padding: 30px 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-sprzezenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak działa automatyka do podłogówki i dlaczego ręczna regulacja pętli generuje straty?",
    "description": "Analiza strat energii rzędu 5-18% wywołanych ręczną regulacją zaworów. Poznaj algorytmy TPI/PWM i zobacz interaktywną wizualizację pętli sprzężenia zwrotnego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-sprzezenie",
    "name": "Analiza strat energii przy ręcznej regulacji podłogówki",
    "description": "Techniczne uwarunkowania bezwładności termicznej jastrychu oraz dynamika siłowników termoelektrycznych w systemach zamkniętej pętli.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm TPI PWM",
      "siłowniki termoelektryczne 230V",
      "bezwładność jastrychu 6.5cm",
      "przegrzewanie pomieszczeń podłogówka",
      "listwa sterująca do podłogówki",
      "zamknięte sprzężenie zwrotne ogrzewanie"
    ],
    "measurementTechnique": "Ewaluacja czasu reakcji komponentów automatyki (3 do 5 minut) w stosunku do akumulacyjności termicznej wylewki grzewczej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Brak automatyki prowadzi do przegrzewania pomieszczeń o 1-3°C, generując straty na poziomie 5-18%.",
        "Algorytmy PWM dawkują energię impulsowo zapobiegając przegrzewaniu poprzez wyprzedzające zamykanie pętli."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-sprzezenie",
    "name": "Symulator Pętli Sprzężenia Zwrotnego",
    "description": "Edukacyjna aplikacja wizualizująca komunikację między termostatem a listwą centralną i siłownikiem podczas redukcji zysków ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-container" id="rk-flow-app">
    <div class="rk-flow-header">
        <h2>Jak działa automatyka do podłogówki i dlaczego ręczna regulacja pętli generuje straty?</h2>
        <p>Ręczne sterowanie wodnym ogrzewaniem podłogowym za pomocą zaworów miniaturowych na rozdzielaczu uniemożliwia stabilizację temperatury wewnętrznej, co prowadzi do permanentnego przegrzewania pomieszczeń o 1°C do 3°C i zwiększenia zużycia energii o <span class="rk-flow-highlight">5% do 18%</span>.</p>
        <p>Wynika to bezpośrednio z <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładności termicznej</a> płyty grzewczej (jastrychu o grubości 6,5 cm), która magazynuje potężne ilości energii i oddaje ją przez wiele godzin po mechanicznym odcięciu zasilania.</p>
    </div>

    <div class="rk-flow-body">
        
        <div class="rk-flow-text-section">
            <p>Automatyka strefowa działa w <strong>pętli zamkniętego sprzężenia zwrotnego</strong>. Czujnik pokojowy stale monitoruje temperaturę powietrza oraz temperaturę podłogi. W momencie rejestracji zysków ciepła (np. od nasłonecznienia), sygnał przekazywany jest do listwy centralnej, która odcina zasilanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> (230V/24V). Zastosowanie algorytmu <strong>TPI / PWM</strong> pozwala na pulsacyjne dawkowanie energii zanim nastąpi przekroczenie progu wygody.</p>
        </div>

        <div class="rk-flow-interactive" id="flowSimulator">
            <h3 class="rk-flow-interactive-title">Schemat Komunikacji Komponentów</h3>
            
            <button class="rk-flow-btn-trigger" id="btnSimulate">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
                Symuluj nasłonecznienie
            </button>

            <div class="rk-flow-svg-wrap">
                <svg viewBox="0 0 700 250" width="100%" height="100%">
                    
                    <g class="rk-svg-sun">
                        <circle cx="60" cy="50" r="15"/>
                        <line x1="60" y1="20" x2="60" y2="30" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                        <line x1="60" y1="70" x2="60" y2="80" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                        <line x1="30" y1="50" x2="40" y2="50" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                        <line x1="80" y1="50" x2="90" y2="50" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                    </g>
                    
                    <path d="M 550 200 L 150 200" fill="none" stroke="#e2e8f0" stroke-width="12" stroke-linecap="round"/>
                    <path class="rk-svg-water-flow" id="waterFlow" d="M 550 200 L 150 200" fill="none" stroke="#38bdf8" stroke-width="6" stroke-linecap="round" stroke-dasharray="10 15"/>

                    <path class="rk-svg-wire" d="M 150 120 L 350 120"/>
                    <path class="rk-svg-wire" d="M 350 120 L 550 120"/>

                    <path class="rk-svg-signal rk-svg-signal-1" d="M 150 120 L 350 120"/>
                    <path class="rk-svg-signal rk-svg-signal-2" d="M 350 120 L 550 120"/>

                    <rect x="100" y="90" width="100" height="60" class="rk-svg-component rk-svg-comp-thermostat"/>
                    <text x="150" y="115" class="rk-svg-text rk-svg-text-thermostat">TERMOSTAT</text>
                    <text x="150" y="135" class="rk-svg-text rk-svg-text-thermostat">(Pomiar Pokoju)</text>

                    <rect x="300" y="80" width="100" height="80" class="rk-svg-component rk-svg-comp-listwa"/>
                    <text x="350" y="115" class="rk-svg-text rk-svg-text-thermostat">LISTWA</text>
                    <text x="350" y="135" class="rk-svg-text rk-svg-text-thermostat">(Algorytm PWM)</text>

                    <rect x="500" y="90" width="100" height="60" class="rk-svg-component rk-svg-comp-actuator"/>
                    <text x="550" y="115" class="rk-svg-text rk-svg-text-thermostat">SIŁOWNIK NC</text>
                    <text x="550" y="135" class="rk-svg-text rk-svg-text-thermostat">(Zawór Pętli)</text>
                    
                    <line x1="550" y1="150" x2="550" y2="194" stroke="#334155" stroke-width="4"/>
                </svg>
            </div>
            
            <div class="rk-flow-status-text" id="statusMessage">Pętla grzewcza zamknięta (Brak przepływu)</div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnSimulate = document.getElementById('btnSimulate');
    const simulator = document.getElementById('flowSimulator');
    const statusMsg = document.getElementById('statusMessage');

    btnSimulate.addEventListener('click', function() {
        // Blokada przycisku
        btnSimulate.disabled = true;
        btnSimulate.innerText = "Przetwarzanie pętli...";
        
        // Reset klas
        simulator.className = "rk-flow-interactive";
        statusMsg.classList.remove('visible');
        
        // Brak operatorów && - czysta kaskada timeoutów symulująca proces inżynierski
        
        // Krok 1: Słońce świeci (Zysk pasywny)
        setTimeout(function() {
            simulator.classList.add('state-step-1');
        }, 100);

        // Krok 2: Termostat rejestruje przekroczenie temperatury
        setTimeout(function() {
            simulator.classList.add('state-step-2');
        }, 1500);

        // Krok 3: Wysłanie sygnału do listwy centralnej
        setTimeout(function() {
            simulator.classList.add('state-step-3');
        }, 2500);

        // Krok 4: Listwa interpretuje algorytm PWM
        setTimeout(function() {
            simulator.classList.add('state-step-4');
        }, 3500);

        // Krok 5: Listwa odcina napięcie 230V do siłownika
        setTimeout(function() {
            simulator.classList.add('state-step-5');
        }, 4500);

        // Krok 6: Siłownik NC (Normalnie Zamknięty) powoli się zamyka (w rzeczywistości 3 minuty)
        setTimeout(function() {
            simulator.classList.add('state-step-6');
            statusMsg.classList.add('visible');
            btnSimulate.innerText = "Zresetuj symulację";
            btnSimulate.disabled = false;
            
            // Re-map the button to act as a reset next time
            btnSimulate.onclick = function() {
                simulator.className = "rk-flow-interactive";
                statusMsg.classList.remove('visible');
                btnSimulate.innerText = "Symuluj nasłonecznienie";
                // Restore original listener logic safely without &&
                setTimeout(function(){
                    location.reload(); // Prosty i bezpieczny reset stanu narzędzia edukacyjnego
                }, 300);
            };
        }, 6000);
    });
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-dark-card: #1e293b;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #e0f2fe;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
    --rk-calc-gray: #475569;
    --rk-calc-gray-light: #f8fafc;
    --rk-calc-bg: #ffffff;
    --rk-calc-border: #e2e8f0;
}

.rk-calc-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-calc-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-calc-blue);
    overflow: hidden;
}

.rk-calc-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #0f172a 100%);
    color: #ffffff;
}

.rk-calc-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-calc-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 0 15px 0;
    line-height: 1.7;
}

.rk-calc-header p:last-child {
    margin-bottom: 0;
}

.rk-calc-header a {
    color: #38bdf8;
    text-decoration: none;
    border-bottom: 1px dashed #38bdf8;
    font-weight: 600;
    transition: color 0.3s;
}

.rk-calc-header a:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.rk-calc-body {
    padding: 40px 50px;
}

/* Sekcja Case Study */
.rk-calc-casestudy {
    background: var(--rk-calc-gray-light);
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 25px 30px;
    margin-bottom: 40px;
}

.rk-calc-casestudy h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 15px 0;
}

.rk-calc-casestudy p {
    font-size: 15px;
    color: var(--rk-calc-gray);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-calc-math {
    background: var(--rk-calc-bg);
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-calc-blue);
    font-family: monospace;
    font-size: 14px;
    color: var(--rk-calc-dark);
    margin: 15px 0;
    font-weight: 600;
}

/* Kaskadowy układ - 1 kolumna */
.rk-roi-stack {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Karty Suwaków */
.rk-input-card {
    background: var(--rk-calc-bg);
    border: 1px solid var(--rk-calc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
}

.rk-input-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.rk-input-header label {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0;
}

.rk-input-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    background: var(--rk-calc-blue-light);
    padding: 5px 15px;
    border-radius: 12px;
}

.rk-slider-wrapper {
    position: relative;
    width: 100%;
}

.rk-calc-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    border-radius: 5px;
    background: var(--rk-calc-border);
    outline: none;
}

.rk-calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    border: 5px solid #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-calc-slider::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Karta Wyników (Dashboard) */
.rk-roi-output-card {
    background: var(--rk-calc-dark-card);
    border-radius: 20px;
    padding: 50px 40px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.4);
    text-align: center;
    margin-top: 15px;
}

.rk-roi-output-card::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(16,185,129,0.1) 0%, rgba(0,0,0,0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.rk-output-stats {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    z-index: 2;
}

.rk-stat-group {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-stat-divider {
    width: 50px;
    height: 2px;
    background: #334155;
    margin: 0 auto;
}

.rk-stat-label {
    font-size: 14px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 10px;
}

.rk-stat-value {
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -1px;
}

.rk-stat-sub {
    font-size: 20px;
    font-weight: 700;
    color: #cbd5e1;
    margin-left: 5px;
}

.rk-val-highlight-green { color: var(--rk-calc-green); text-shadow: 0 0 30px rgba(16, 185, 129, 0.3); }
.rk-val-highlight-white { color: #ffffff; }

@media (max-width: 768px) {
    .rk-calc-container { margin: 20px auto; border-radius: 16px; }
    .rk-calc-header, .rk-calc-body { padding: 30px 20px; }
    .rk-calc-header h2 { font-size: 24px; }
    
    .rk-input-card { padding: 25px 20px; }
    .rk-input-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-input-value { align-self: flex-start; font-size: 24px; }
    
    .rk-roi-output-card { padding: 40px 20px; }
    .rk-stat-value { font-size: 42px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-roi",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Ile można zaoszczędzić na ogrzewaniu podłogowym montując sterowniki pokojowe?",
    "description": "Zgodnie z normą PN-EN 12831, obniżenie temperatury o 1°C daje 6% oszczędności. Zobacz studium przypadku i oblicz zwrot z inwestycji (ROI) dla swojego domu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-roi",
    "name": "Analiza ROI automatyki strefowej wg PN-EN 12831",
    "description": "Zestawienie zużycia energii w kWh oraz kosztów w PLN dla instalacji bez automatyki strefowej i po jej wdrożeniu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile kosztuje ogrzewanie domu pompą ciepła",
      "jak obliczyć zwrot z inwestycji ogrzewanie",
      "norma pn en 12831 oszczędności",
      "zmniejszenie rachunków za prąd podłogówka",
      "cena prądu g12w ogrzewanie",
      "zużycie prądu pompa ciepła dom 150m2",
      "termostaty pokojowe a oszczędności",
      "koszt automatyki do podłogówki"
    ],
    "measurementTechnique": "Szacowanie zapotrzebowania na energię dla domów jednorodzinnych z uwzględnieniem redukcji temperatury nocnej i zysków pasywnych z nasłonecznienia.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obniżenie temperatury wewnętrznej o 1°C w skali sezonu redukuje koszty o około 6%.",
        "Dla domu 150m2 inwestycja w sterowniki (1800-2500 PLN) zwraca się w czasie krótszym niż 12 miesięcy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-roi",
    "name": "Kalkulator Oszczędności i ROI Automatyki Strefowej",
    "description": "Narzędzie finansowe obliczające roczne oszczędności eksploatacyjne w PLN oraz czas zwrotu z inwestycji (ROI) w komponenty automatyki sterującej ogrzewaniem.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-calc-app">
    <div class="rk-calc-header">
        <h2>Ile można zaoszczędzić na ogrzewaniu podłogowym montując sterowniki pokojowe?</h2>
        <p>Montaż sterowników pokojowych pozwala na realną redukcję rocznych <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">kosztów ogrzewania</a> o 15% do 25% w odniesieniu do instalacji sterowanej wyłącznie krzywą grzewczą źródła ciepła. Według wytycznych <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normy PN-EN 12831</a>, obniżenie temperatury wewnętrznej o 1°C w skali całego sezonu grzewczego generuje średnio 6% oszczędności paliwa lub energii elektrycznej.</p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-casestudy">
            <h3>Wyliczenie matematyczne oszczędności energii (Case Study)</h3>
            <p>Dla domu jednorodzinnego o powierzchni 150 m² i projektowym zapotrzebowaniu na ciepło 9 kW (przy temp. zewnętrznej -20°C):</p>
            <ul style="color: var(--rk-calc-gray); font-size: 14px; line-height: 1.6; padding-left: 20px;">
                <li>Sezonowe zapotrzebowanie na energię <strong>bez automatyki strefowej</strong> (utrzymywanie stałej temperatury 22°C w nocy i podczas nieobecności, plus przegrzewanie od nasłonecznienia): E1 = 14 500 kWh/rok.</li>
                <li>Sezonowe zapotrzebowanie na energię <strong>po wdrożeniu automatyki</strong> (redukcja nocna do 20°C w sypialniach, obniżenie temperatury w salonie do 19°C podczas nieobecności, wykorzystanie zysków pasywnych): E2 = 11 165 kWh/rok.</li>
            </ul>
            <div class="rk-calc-math">
                ΔE = 14 500 &#8211; 11 165 = 3 335 kWh/rok oszczędności
            </div>
            <p>Przyjmując średni koszt energii dla pompy ciepła na poziomie 0,75 PLN/kWh, roczna oszczędność finansowa wynosi równe <strong>2 501,25 PLN/rok</strong>. Koszt zakupu inteligentnego systemu automatyki (listwa + 6 termostatów + siłowniki) dla takiego metrażu zamyka się w kwocie 1800 &#8211; 2500 PLN, co oznacza <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">zwrot z inwestycji (ROI)</a> w czasie poniżej 12 miesięcy.</p>
        </div>

        <!-- Układ Kaskadowy W Pełni Pionowy -->
        <div class="rk-roi-stack">
            
            <div class="rk-input-card">
                <div class="rk-input-header">
                    <label>Powierzchnia Twojego domu</label>
                    <div class="rk-input-value"><span id="valAreaOut">150</span> m²</div>
                </div>
                <div class="rk-slider-wrapper">
                    <input type="range" class="rk-calc-slider" id="inpArea" min="80" max="300" step="5" value="150">
                </div>
            </div>
            
            <div class="rk-input-card">
                <div class="rk-input-header">
                    <label>Średnia cena 1 kWh</label>
                    <div class="rk-input-value"><span id="valPriceOut">0.75</span> PLN</div>
                </div>
                <div class="rk-slider-wrapper">
                    <input type="range" class="rk-calc-slider" id="inpPrice" min="0.40" max="1.50" step="0.05" value="0.75">
                </div>
            </div>

            <div class="rk-roi-output-card">
                <div class="rk-output-stats">
                    
                    <div class="rk-stat-group">
                        <div class="rk-stat-label">Roczne Oszczędności Eksploatacyjne</div>
                        <div class="rk-stat-value rk-val-highlight-green"><span id="resSavings">2501</span><span class="rk-stat-sub">PLN</span></div>
                    </div>
                    
                    <div class="rk-stat-divider"></div>
                    
                    <div class="rk-stat-group">
                        <div class="rk-stat-label">Szacowany koszt systemu automatyki</div>
                        <div class="rk-stat-value rk-val-highlight-white"><span id="resCost">2500</span><span class="rk-stat-sub">PLN</span></div>
                    </div>

                    <div class="rk-stat-divider"></div>

                    <div class="rk-stat-group">
                        <div class="rk-stat-label">Pełny zwrot z inwestycji (ROI) za:</div>
                        <div class="rk-stat-value"><span id="resMonths" class="rk-val-highlight-green">12</span><span class="rk-stat-sub">miesięcy</span></div>
                    </div>

                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sldArea = document.getElementById('inpArea');
    const sldPrice = document.getElementById('inpPrice');
    
    const valAreaOut = document.getElementById('valAreaOut');
    const valPriceOut = document.getElementById('valPriceOut');
    
    const resSavings = document.getElementById('resSavings');
    const resCost = document.getElementById('resCost');
    const resMonths = document.getElementById('resMonths');

    function calculateData() {
        let area = parseFloat(sldArea.value);
        let price = parseFloat(sldPrice.value);
        
        valAreaOut.innerText = area;
        valPriceOut.innerText = price.toFixed(2);

        // Algorytm Oszczędności (Case Study)
        // Średnio 96.66 kWh/m2 bez automatyki
        let energyBase = area * 96.66; 
        
        // Z automatyką oszczędności na poziomie 23% względem bazy
        let energyAuto = energyBase * 0.77; 

        // Różnica w kWh i PLN
        let savingsKwh = energyBase - energyAuto;
        let savingsPln = savingsKwh * price;

        // Koszty systemu: 1000 PLN + 10 PLN / m2
        let sysCost = 1000 + (area * 10);
        
        // ROI
        let roiMonths = (sysCost / savingsPln) * 12;

        resSavings.innerText = Math.round(savingsPln).toLocaleString('pl-PL');
        resCost.innerText = Math.round(sysCost).toLocaleString('pl-PL');
        resMonths.innerText = Math.round(roiMonths);

        // Bezpieczny warunek zmiany koloru (bez &&)
        if (roiMonths < 18) {
            resMonths.className = "rk-val-highlight-green";
            resMonths.style.color = "";
        } else {
            if (roiMonths < 36) {
                resMonths.className = "";
                resMonths.style.color = "#eab308"; // Żółty
            } else {
                resMonths.className = "";
                resMonths.style.color = "#ef4444"; // Czerwony
            }
        }
    }

    sldArea.addEventListener('input', calculateData);
    sldPrice.addEventListener('input', calculateData);

    // Initial calculation
    calculateData();
});
</script>



<style>
:root {
    --rk-curve-dark: #0f172a;
    --rk-curve-blue: #0284c7;
    --rk-curve-blue-light: #e0f2fe;
    --rk-curve-red: #ef4444;
    --rk-curve-green: #10b981;
    --rk-curve-gray: #475569;
    --rk-curve-gray-light: #f8fafc;
    --rk-curve-bg: #ffffff;
    --rk-curve-border: #e2e8f0;
}

.rk-curve-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-curve-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-curve-blue);
    overflow: hidden;
}

.rk-curve-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-curve-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-curve-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-curve-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 0 15px 0;
    line-height: 1.7;
}

.rk-curve-header p:last-child {
    margin-bottom: 0;
}

.rk-curve-header a {
    color: #38bdf8;
    text-decoration: none;
    border-bottom: 1px dashed #38bdf8;
    font-weight: 600;
    transition: color 0.3s;
}

.rk-curve-header a:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.rk-curve-body {
    padding: 40px 50px;
}

/* Interaktywny Symulator */
.rk-curve-simulator {
    background: var(--rk-curve-gray-light);
    border: 1px solid var(--rk-curve-border);
    border-radius: 20px;
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-curve-sim-title {
    text-align: center;
    margin: 0;
}

.rk-curve-sim-title h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-curve-dark);
    margin: 0 0 5px 0;
}

.rk-curve-sim-title p {
    font-size: 14px;
    color: var(--rk-curve-gray);
    margin: 0;
}

.rk-curve-layout {
    display: flex;
    gap: 40px;
    align-items: stretch;
}

/* Panel Kontrolny */
.rk-curve-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-curve-slider-box {
    background: var(--rk-curve-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-curve-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-curve-slider-box label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-curve-dark);
    margin-bottom: 10px;
}

.rk-curve-slider-desc {
    font-size: 12px;
    color: var(--rk-curve-gray);
    margin-bottom: 20px;
    display: block;
}

.rk-curve-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(to right, var(--rk-curve-blue), #cbd5e1, var(--rk-curve-red));
    outline: none;
    margin-bottom: 25px;
    direction: rtl; /* Od +20 do -20, wizualnie chłodniej z prawej lub na odwrót - dostosujemy logicznie */
}

/* Dostosowanie suwaka zima-lato */
.rk-curve-slider.temp-slider {
    background: linear-gradient(to right, var(--rk-curve-blue), #cbd5e1, var(--rk-curve-red));
    direction: ltr;
}

.rk-curve-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-curve-dark);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.3);
}

.rk-curve-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-curve-data-card {
    background: var(--rk-curve-gray-light);
    border: 1px solid var(--rk-curve-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-curve-data-card span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-curve-gray);
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.rk-curve-data-card strong {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-curve-dark);
}

.rk-data-highlight strong {
    color: var(--rk-curve-green);
}

/* Panel Wizualizacji SVG */
.rk-curve-visual {
    flex: 1.2;
    background: var(--rk-curve-dark);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
}

.rk-curve-svg-wrapper {
    width: 100%;
    max-width: 320px;
}

.rk-svg-axis { stroke: #475569; stroke-width: 2; }
.rk-svg-grid { stroke: #1e293b; stroke-width: 1; }
.rk-svg-text { fill: #94a3b8; font-size: 10px; font-weight: 600; font-family: monospace; }
.rk-svg-line { fill: none; stroke: var(--rk-curve-blue); stroke-width: 4; stroke-linecap: round; }
.rk-svg-dot { fill: var(--rk-curve-red); stroke: #ffffff; stroke-width: 2; transition: all 0.2s ease-out; }
.rk-svg-guide { stroke: var(--rk-curve-red); stroke-width: 1; stroke-dasharray: 4 4; transition: all 0.2s ease-out; }

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .rk-curve-container { margin: 20px auto; border-radius: 16px; }
    .rk-curve-header, .rk-curve-body { padding: 25px 20px; }
    .rk-curve-header h2 { font-size: 22px; }
    .rk-curve-simulator { padding: 20px; }
    .rk-curve-layout { flex-direction: column; gap: 20px; }
    .rk-curve-controls, .rk-curve-visual { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-pogodowka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak sterownik pogodowy z krzywą grzewczą optymalizuje temperaturę zasilania podłogówki?",
    "description": "Zrozum działanie krzywej grzewczej (Tz względem Te) wg normy PN-EN 1264. Sprawdź, jak obniżenie temperatury zasilania poprawia współczynnik COP pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-pogodowka",
    "name": "Wpływ krzywej grzewczej na efektywność instalacji płaszczyznowej (COP)",
    "description": "Dane tabelaryczne i algorytmiczne wiążące temperaturę zewnętrzną (NTC) z temperaturą zasilania obiegu grzewczego i sprawnością źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "krzywa grzewcza pompy ciepła podłogówka",
      "sterownik regulator pogodowy",
      "temperatura zasilania ogrzewania podłogowego",
      "współczynnik cop a temperatura zasilania",
      "czujnik temperatury zewnętrznej"
    ],
    "measurementTechnique": "Modelowanie spadku temperatury (Delta T) na podstawie algorytmu kompensacji pogodowej (krzywa n=1.1) z inkrementalnym przyrostem sprawności COP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kompensacja pogodowa dostosowuje temperaturę zasilania (Tz) od 25°C do 38°C proporcjonalnie do temperatury zewnętrznej (Te).",
        "Obniżenie temperatury zasilania pompy ciepła o każdy 1°C skutkuje wzrostem współczynnika COP o około 2.5% - 3.0%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-pogodowka",
    "name": "Symulator Krzywej Grzewczej (Kompensacja Pogodowa)",
    "description": "Interaktywny interfejs inżynierski obrazujący ruch punktu pracy instalacji na wykresie krzywej grzewczej w zależności od warunków atmosferycznych.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-curve-container" id="rk-curve-app">
    <div class="rk-curve-header">
        <h2>Jak sterownik pogodowy z krzywą grzewczą optymalizuje temperaturę zasilania podłogówki?</h2>
        <p><a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">Sterownik pogodowy</a> automatycznie obniża lub podwyższa temperaturę wody zasilającej instalację podłogową w zakresie od 25°C do 38°C na podstawie odczytu z zewnętrznego czujnika temperatury (NTC), zgodnie z bezwzględnymi wymaganiami normy <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a>.</p>
        <p>Działanie to opiera się na matematycznie zdefiniowanej <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a>, która dopasowuje temperaturę zasilania (Tz) do aktualnej temperatury zewnętrznej (Te). Wzrost temperatury zewnętrznej o każde 5°C powoduje natychmiastowe obniżenie temperatury na wyjściu ze źródła ciepła. Dla pompy ciepła obniżenie temperatury zasilania o 1°C podnosi jej współczynnik efektywności grzewczej COP o około 2,5% do 3%. Sterowanie pogodowe eliminuje opóźnienie wynikające z bezwładności budynku – instalacja reaguje na chłód, zanim przeniknie on przez ściany.</p>
    </div>

    <div class="rk-curve-body">
        <div class="rk-curve-simulator">
            <div class="rk-curve-sim-title">
                <h3>Symulator Kompensacji Pogodowej</h3>
                <p>Przesuń suwak pogody i zobacz, jak algorytm steruje parametrami.</p>
            </div>

            <div class="rk-curve-layout">
                <div class="rk-curve-controls">
                    <div class="rk-curve-slider-box">
                        <label>Temperatura Zewnętrzna (Czujnik Pogodowy)</label>
                        <span class="rk-curve-slider-desc">Symulacja zmiany frontu atmosferycznego</span>
                        <input type="range" class="rk-curve-slider temp-slider" id="envSlider" min="-20" max="20" step="1" value="0">
                        
                        <div class="rk-curve-data-grid">
                            <div class="rk-curve-data-card">
                                <span>Temp. Zewnętrzna (Te)</span>
                                <strong id="valTe">0°C</strong>
                            </div>
                            <div class="rk-curve-data-card">
                                <span>Temp. Zasilania (Tz)</span>
                                <strong id="valTz" style="color: var(--rk-curve-blue);">31.5°C</strong>
                            </div>
                            <div class="rk-curve-data-card rk-data-highlight" style="grid-column: span 2;">
                                <span>Wzrost Sprawności COP (Względem Tz=38°C)</span>
                                <strong id="valCop">+18.0%</strong>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="rk-curve-visual">
                    <div class="rk-curve-svg-wrapper">
                        <svg viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg">
                            <line x1="40" y1="20" x2="280" y2="20" class="rk-svg-grid"/> <line x1="40" y1="70" x2="280" y2="70" class="rk-svg-grid"/> <line x1="40" y1="120" x2="280" y2="120" class="rk-svg-grid"/> <line x1="40" y1="10" x2="40" y2="160" class="rk-svg-axis"/>
                            <text x="30" y="25" class="rk-svg-text" text-anchor="end">40°</text>
                            <text x="30" y="75" class="rk-svg-text" text-anchor="end">30°</text>
                            <text x="30" y="125" class="rk-svg-text" text-anchor="end">20°</text>
                            <text x="40" y="10" class="rk-svg-text" fill="#ffffff" dy="-5">Tz</text>
                            
                            <line x1="40" y1="160" x2="290" y2="160" class="rk-svg-axis"/>
                            <text x="40" y="175" class="rk-svg-text" text-anchor="middle">+20°</text>
                            <text x="100" y="175" class="rk-svg-text" text-anchor="middle">+10°</text>
                            <text x="160" y="175" class="rk-svg-text" text-anchor="middle">0°</text>
                            <text x="220" y="175" class="rk-svg-text" text-anchor="middle">-10°</text>
                            <text x="280" y="175" class="rk-svg-text" text-anchor="middle">-20°</text>
                            <text x="290" y="155" class="rk-svg-text" fill="#ffffff" text-anchor="start">Te</text>
                            
                            <path class="rk-svg-line" d="M 40 95 Q 160 80 280 30" />
                            
                            <line class="rk-svg-guide" id="guideX" x1="160" y1="160" x2="160" y2="65" />
                            <line class="rk-svg-guide" id="guideY" x1="40" y1="65" x2="160" y2="65" />
                            <circle class="rk-svg-dot" id="workPoint" cx="160" cy="65" r="6" />
                        </svg>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('envSlider');
    const displayTe = document.getElementById('valTe');
    const displayTz = document.getElementById('valTz');
    const displayCop = document.getElementById('valCop');
    
    // Elementy SVG
    const workPoint = document.getElementById('workPoint');
    const guideX = document.getElementById('guideX');
    const guideY = document.getElementById('guideY');

    // Konfiguracja matematyczna wykresu SVG
    // X axis: 40px (+20st) to 280px (-20st) -> span 240px. 
    // Y axis: 120px (20st) to 20px (40st) -> span 100px. 1st = 5px.
    
    function updateCurve() {
        let Te = parseInt(slider.value); // od -20 do +20
        
        // Logika obliczania Tz (Model krzywej aproksymujący kwadratowo/liniowo)
        // Jeśli Te = +20 -> Tz = 25
        // Jeśli Te = -20 -> Tz = 38
        
        // Parametryzacja z użyciem bezpiecznych warunków (bez operatora "&&")
        // Skala 0 do 1 (gdzie 0 to -20st, a 1 to +20st)
        let ratio = (Te + 20) / 40; 
        
        // Tworzymy lekkie wygięcie krzywej bazując na ratio
        // Tz = 38 (max) minus spadek
        let Tz = 38 - (ratio * 13); // liniowo
        
        // Dodajmy lekką korektę nieliniową
        if (ratio > 0) {
            if (ratio < 1) {
               // Niewielkie ugięcie w dół
               Tz = Tz - (Math.sin(ratio * Math.PI) * 1.5);
            }
        }

        // Zabezpieczenie limitów
        if (Tz < 25) { Tz = 25; }
        if (Tz > 38) { Tz = 38; }

        // Wpływ na COP: zysk 2.75% za każdy stopień poniżej 38°C
        let copGain = (38 - Tz) * 2.75;

        // Aktualizacja tekstów
        if (Te > 0) {
            displayTe.innerText = "+" + Te + "°C";
        } else {
            displayTe.innerText = Te + "°C";
        }
        
        displayTz.innerText = Tz.toFixed(1) + "°C";
        displayCop.innerText = "+" + copGain.toFixed(1) + "%";

        // Obliczanie współrzędnych SVG
        // X: -20 to x=280, +20 to x=40
        let svgX = 280 - (ratio * 240);
        
        // Y: 20st = 120px, 40st = 20px
        // Różnica od 40st w dół: (40 - Tz) * 5
        let svgY = 20 + ((40 - Tz) * 5);

        // Aktualizacja DOM (SVG)
        workPoint.setAttribute('cx', svgX);
        workPoint.setAttribute('cy', svgY);
        
        guideX.setAttribute('x1', svgX);
        guideX.setAttribute('x2', svgX);
        guideX.setAttribute('y1', '160');
        guideX.setAttribute('y2', svgY);
        
        guideY.setAttribute('x1', '40');
        guideY.setAttribute('x2', svgX);
        guideY.setAttribute('y1', svgY);
        guideY.setAttribute('y2', svgY);
    }

    // Nasłuchiwacz suwaka
    slider.addEventListener('input', updateCurve);
    
    // Uruchomienie na start
    updateCurve();
});
</script>



<style>
:root {
    --rk-tech-dark: #0f172a;
    --rk-tech-blue: #0284c7;
    --rk-tech-blue-light: #e0f2fe;
    --rk-tech-green: #10b981;
    --rk-tech-purple: #8b5cf6;
    --rk-tech-purple-light: #ede9fe;
    --rk-tech-gray: #475569;
    --rk-tech-bg: #ffffff;
    --rk-tech-border: #e2e8f0;
}

.rk-tech-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-tech-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-tech-blue);
    overflow: hidden;
}

.rk-tech-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-tech-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-tech-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-tech-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.rk-tech-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Master Toggle */
.rk-tech-toggle-wrapper {
    display: flex;
    background: var(--rk-tech-border);
    border-radius: 16px;
    padding: 6px;
    margin-bottom: 35px;
    position: relative;
}

.rk-tech-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-tech-gray);
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.4s ease;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-tech-toggle-btn.active {
    color: #ffffff;
}

.rk-tech-toggle-bg {
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: calc(50% - 6px);
    background: var(--rk-tech-blue);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Visualizer SVG */
.rk-tech-visualizer {
    background: var(--rk-tech-dark);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 35px;
    height: 160px;
    position: relative;
    overflow: hidden;
}

.rk-tech-svg-wrap {
    width: 100%;
    max-width: 400px;
}

/* SVG Animations */
.rk-anim-cable { stroke-dasharray: 1000; stroke-dashoffset: 1000; transition: stroke-dashoffset 1s ease; }
.rk-anim-wave { opacity: 0; transform: scale(0.5); transform-origin: center; transition: all 0.5s ease; }

.state-wired .rk-anim-cable { stroke-dashoffset: 0; }
.state-wireless .rk-anim-wave { opacity: 1; transform: scale(1); animation: pulseRadio 2s infinite; }

@keyframes pulseRadio {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}

/* Cards Grid */
.rk-tech-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.rk-param-card {
    background: var(--rk-tech-bg);
    border: 1px solid var(--rk-tech-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, border-color 0.3s;
}

.rk-param-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-tech-blue);
}

.rk-param-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--rk-tech-blue-light);
    color: var(--rk-tech-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: background-color 0.4s, color 0.4s;
}

.rk-param-card h3 {
    font-size: 14px;
    color: var(--rk-tech-gray);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    margin: 0 0 10px 0;
}

.rk-param-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-tech-dark);
    line-height: 1.5;
}

.rk-param-value strong {
    font-size: 20px;
    font-weight: 900;
    display: block;
    margin-bottom: 5px;
    transition: color 0.4s;
}

.rk-param-value a {
    color: var(--rk-tech-blue);
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-tech-blue);
}

/* Stan bezprzewodowy kolorystyka (Fiolet) */
.state-wireless-theme .rk-param-icon { background: var(--rk-tech-purple-light); color: var(--rk-tech-purple); }
.state-wireless-theme .rk-param-value strong { color: var(--rk-tech-purple); }

/* Hide/Show logic within cards */
.rk-val-content { display: none; animation: fadeInText 0.4s forwards; }
.rk-val-content.active { display: block; }

@keyframes fadeInText {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .rk-tech-container { margin: 20px auto; }
    .rk-tech-header, .rk-tech-interactive { padding: 25px 20px; }
    .rk-tech-header h2 { font-size: 22px; }
    
    .rk-tech-toggle-wrapper { flex-direction: column; background: transparent; padding: 0; gap: 10px;}
    .rk-tech-toggle-bg { display: none; }
    
    .rk-tech-toggle-btn {
        background: var(--rk-tech-border);
        color: var(--rk-tech-gray);
        border: 2px solid transparent;
    }
    
    .rk-tech-toggle-btn.active[data-tech="wired"] {
        background: var(--rk-tech-blue);
        color: #ffffff;
        border-color: var(--rk-tech-blue);
    }
    
    .rk-tech-toggle-btn.active[data-tech="wireless"] {
        background: var(--rk-tech-purple);
        color: #ffffff;
        border-color: var(--rk-tech-purple);
    }
    
    .rk-tech-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-technologie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Czym różni się sterowanie przewodowe od bezprzewodowego i co wybrać?",
    "description": "Szczegółowe porównanie technologii sterowania ogrzewaniem podłogowym. Niezawodność sygnału, zasilanie i koszty systemów przewodowych (230V) vs bezprzewodowych (ZigBee).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-technologie",
    "name": "Zestawienie parametrów techniczno-użytkowych systemów automatyki HVAC",
    "description": "Dane porównawcze dla systemów przewodowych (topologia gwiazdy) oraz bezprzewodowych (topologia Mesh ZigBee) obejmujące koszty, niezawodność i metody zasilania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sterowanie przewodowe czy bezprzewodowe podłogówka",
      "termostaty bezprzewodowe zigbee",
      "kable do sterowania ogrzewaniem",
      "topologia mesh ogrzewanie",
      "koszt automatyki podłogówki"
    ],
    "measurementTechnique": "Analiza kosztorysowa punktów pomiarowych oraz ewaluacja tłumienności sygnału radiowego względem stabilności połączeń kablowych YDY/FTP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System przewodowy oferuje 100% odporności na zakłócenia przy średnim koszcie punktu 150-250 PLN.",
        "System bezprzewodowy pozwala na elastyczny montaż w wykończonych domach przy koszcie 280-450 PLN za punkt pomiarowy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-technologie",
    "name": "Symulator Architektury Sterowania Podłogówką",
    "description": "Interaktywne narzędzie pozwalające na błyskawiczne przekrojowe porównanie technologii przewodowej i radiowej na poziomie komponentów i topologii sieci.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tech-container" id="rk-tech-app">
    <div class="rk-tech-header">
        <h2>Czym różni się sterowanie przewodowe od bezprzewodowego i co wybrać?</h2>
        <p>Wybór między systemem z okablowaniem a radiowym determinuje stabilność transmisji sygnału oraz łączny koszt inwestycji. Przełącz technologie, aby porównać kluczowe parametry techniczno-użytkowe obu rozwiązań.</p>
    </div>

    <div class="rk-tech-interactive">
        
        <div class="rk-tech-toggle-wrapper">
            <div class="rk-tech-toggle-bg" id="rkTechBg"></div>
            <button class="rk-tech-toggle-btn active" data-tech="wired" style="color: #ffffff;">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>
                System Przewodowy (Bus/230V)
            </button>
            <button class="rk-tech-toggle-btn" data-tech="wireless">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line></svg>
                System Bezprzewodowy (ZigBee)
            </button>
        </div>

        <div class="rk-tech-visualizer state-wired" id="rkTechVisual">
            <div class="rk-tech-svg-wrap">
                <svg viewBox="0 0 400 120" xmlns="http://www.w3.org/2000/svg">
                    <rect x="20" y="40" width="40" height="40" rx="4" fill="#334155" stroke="#cbd5e1" stroke-width="2"/>
                    <text x="40" y="65" fill="#ffffff" font-size="12" text-anchor="middle" font-weight="bold">22°C</text>
                    
                    <rect x="300" y="20" width="80" height="80" rx="4" fill="#334155" stroke="#cbd5e1" stroke-width="2"/>
                    <rect x="310" y="30" width="60" height="60" fill="#1e293b"/>
                    
                    <path class="rk-anim-cable" id="wirePath" d="M 60 60 L 150 60 L 150 90 L 300 90" fill="none" stroke="#38bdf8" stroke-width="4" stroke-linejoin="round"/>
                    
                    <g class="rk-anim-wave" id="radioWaves">
                        <circle cx="100" cy="60" r="15" fill="none" stroke="#a78bfa" stroke-width="3"/>
                        <circle cx="100" cy="60" r="30" fill="none" stroke="#a78bfa" stroke-width="2"/>
                        <circle cx="200" cy="60" r="15" fill="none" stroke="#a78bfa" stroke-width="3"/>
                        <circle cx="200" cy="60" r="30" fill="none" stroke="#a78bfa" stroke-width="2"/>
                    </g>
                </svg>
            </div>
        </div>

        <div class="rk-tech-grid" id="rkTechGrid">
            
            <div class="rk-param-card">
                <div class="rk-param-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <h3>Niezawodność sygnału</h3>
                <div class="rk-param-value">
                    <div class="rk-val-content active" data-ref="wired">
                        <strong style="color: var(--rk-tech-blue);">100% Odporności</strong>
                        Całkowita odporność na zakłócenia elektromagnetyczne i grube bariery budowlane.
                    </div>
                    <div class="rk-val-content" data-ref="wireless">
                        <strong>92-98% Stabilności</strong>
                        Podatność na tłumienie przez stropy żelbetowe; często wymaga stosowania wzmacniaczy (repeaterów).
                    </div>
                </div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <h3>Zasilanie elementów</h3>
                <div class="rk-param-value">
                    <div class="rk-val-content active" data-ref="wired">
                        <strong style="color: var(--rk-tech-blue);">Stałe 230V / 24V</strong>
                        Bezpośrednie zasilanie z magistrali; całkowity brak konieczności pamiętania o wymianie ogniw.
                    </div>
                    <div class="rk-val-content" data-ref="wireless">
                        <strong>Bateryjne (2x AAA)</strong>
                        Żywotność ogniwa wynosi od 12 do 24 miesięcy w zależności od użytego protokołu komunikacyjnego.
                    </div>
                </div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                </div>
                <h3>Architektura & Montaż</h3>
                <div class="rk-param-value">
                    <div class="rk-val-content active" data-ref="wired">
                        <strong style="color: var(--rk-tech-blue);">Topologia Gwiazdy (SSZ)</strong>
                        Kable YDY/FTP zbiegające się w <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">szafce rozdzielaczowej</a>. Montaż możliwy tylko przed tynkami.
                    </div>
                    <div class="rk-val-content" data-ref="wireless">
                        <strong>Topologia Siatki (Mesh)</strong>
                        Każde urządzenie (zasilane z sieci) rozszerza zasięg. Dowolny <a href="https://projekt-ogrzewania.pl/ile-trwa-montaz-ogrzewania-podlogowego/">moment montażu</a> – idealne do modernizacji.
                    </div>
                </div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"></rect><circle cx="12" cy="12" r="2"></circle><path d="M6 12h.01M18 12h.01"></path></svg>
                </div>
                <h3>Średni koszt inwestycji</h3>
                <div class="rk-param-value">
                    <div class="rk-val-content active" data-ref="wired">
                        <strong style="color: var(--rk-tech-blue);">150 - 250 PLN</strong>
                        Szacunkowy koszt na jeden punkt pomiarowy (termostat). Należy doliczyć koszty okablowania ścian.
                    </div>
                    <div class="rk-val-content" data-ref="wireless">
                        <strong>280 - 450 PLN</strong>
                        Szacunkowy koszt na jeden punkt (termostat + moduł radiowy). Brak kosztów ukrytych okablowania.
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-tech-toggle-btn');
    const toggleBg = document.getElementById('rkTechBg');
    const visualizer = document.getElementById('rkTechVisual');
    const grid = document.getElementById('rkTechGrid');
    const wirePath = document.getElementById('wirePath');
    const radioWaves = document.getElementById('radioWaves');
    
    // Bezpieczny selektor elementów do przełączania (bez &&)
    const valContents = document.querySelectorAll('.rk-val-content');

    btns.forEach((btn, index) => {
        btn.addEventListener('click', function() {
            
            // Reset stylów przycisków
            btns.forEach(b => {
                b.classList.remove('active');
                if(window.innerWidth > 768) {
                    b.style.color = 'var(--rk-tech-gray)';
                }
            });
            
            // Aktywacja klikniętego
            this.classList.add('active');
            
            const tech = this.getAttribute('data-tech');
            
            // Logika wizualna (Slider w tle)
            if(window.innerWidth > 768) {
                this.style.color = '#ffffff';
                if(index === 0) {
                    // Wired Mode
                    toggleBg.style.transform = 'translateX(0)';
                    toggleBg.style.backgroundColor = 'var(--rk-tech-blue)';
                    
                    grid.classList.remove('state-wireless-theme');
                    visualizer.classList.add('state-wired');
                    visualizer.classList.remove('state-wireless');
                    
                    wirePath.style.display = 'block';
                    radioWaves.style.display = 'none';
                } else {
                    // Wireless Mode
                    toggleBg.style.transform = 'translateX(100%)';
                    toggleBg.style.backgroundColor = 'var(--rk-tech-purple)';
                    
                    grid.classList.add('state-wireless-theme');
                    visualizer.classList.add('state-wireless');
                    visualizer.classList.remove('state-wired');
                    
                    wirePath.style.display = 'none';
                    radioWaves.style.display = 'block';
                }
            } else {
                // Logika dla urządzeń mobilnych
                if(tech === 'wired') {
                    grid.classList.remove('state-wireless-theme');
                    visualizer.classList.add('state-wired');
                    visualizer.classList.remove('state-wireless');
                    wirePath.style.display = 'block';
                    radioWaves.style.display = 'none';
                } else {
                    grid.classList.add('state-wireless-theme');
                    visualizer.classList.add('state-wireless');
                    visualizer.classList.remove('state-wired');
                    wirePath.style.display = 'none';
                    radioWaves.style.display = 'block';
                }
            }

            // Przełączanie treści w kartach (tylko if/else)
            valContents.forEach(content => {
                const ref = content.getAttribute('data-ref');
                if (ref === tech) {
                    content.classList.add('active');
                } else {
                    content.classList.remove('active');
                }
            });
        });
    });

    // Zabezpieczenie dla zmiany orientacji urządzenia
    window.addEventListener('resize', function() {
        if(window.innerWidth <= 768) {
            btns.forEach(b => b.style.color = ''); 
        } else {
            const activeBtn = document.querySelector('.rk-tech-toggle-btn.active');
            if (activeBtn) {
                activeBtn.style.color = '#ffffff';
            }
        }
    });
    
    // Inicjalny stan ukrycia fal radiowych
    radioWaves.style.display = 'none';
});
</script>



<style>
:root {
    --rk-ntc-dark: #0f172a;
    --rk-ntc-blue: #0284c7;
    --rk-ntc-red: #ef4444;
    --rk-ntc-red-light: #fef2f2;
    --rk-ntc-green: #10b981;
    --rk-ntc-green-light: #dcfce7;
    --rk-ntc-gray: #475569;
    --rk-ntc-gray-light: #f8fafc;
    --rk-ntc-bg: #ffffff;
    --rk-ntc-border: #e2e8f0;
}

.rk-ntc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-ntc-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-ntc-border);
    overflow: hidden;
}

.rk-ntc-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-ntc-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-ntc-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-ntc-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 0 15px 0;
    line-height: 1.7;
}
.rk-ntc-header p:last-child {
    margin: 0;
}

.rk-ntc-header a {
    color: #7dd3fc;
    text-decoration: none;
    border-bottom: 1px dashed #7dd3fc;
    font-weight: 600;
    transition: color 0.2s;
}

.rk-ntc-header a:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.rk-ntc-body {
    padding: 40px 50px;
}

/* Simulator Wrapper */
.rk-ntc-simulator {
    background: var(--rk-ntc-gray-light);
    border: 1px solid var(--rk-ntc-border);
    border-radius: 20px;
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-ntc-sim-title {
    text-align: center;
    margin: 0;
}

.rk-ntc-sim-title h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-ntc-dark);
    margin: 0 0 5px 0;
}

.rk-ntc-sim-title p {
    font-size: 14px;
    color: var(--rk-ntc-gray);
    margin: 0;
}

/* Layout */
.rk-ntc-layout {
    display: flex;
    gap: 40px;
    align-items: stretch;
}

/* Controls */
.rk-ntc-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-ntc-toggle-group {
    display: flex;
    background: var(--rk-ntc-border);
    border-radius: 12px;
    padding: 5px;
}

.rk-ntc-toggle-btn {
    flex: 1;
    padding: 14px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-ntc-gray);
    cursor: pointer;
    transition: all 0.3s;
}

.rk-ntc-toggle-btn.active[data-mode="on"] {
    background: var(--rk-ntc-green);
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(16, 185, 129, 0.2);
}

.rk-ntc-toggle-btn.active[data-mode="off"] {
    background: var(--rk-ntc-red);
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(239, 68, 68, 0.2);
}

.rk-ntc-slider-group {
    background: var(--rk-ntc-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-ntc-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-ntc-slider-group label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-ntc-dark);
    margin-bottom: 15px;
}

.rk-ntc-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-ntc-border);
    outline: none;
    margin-bottom: 20px;
}

.rk-ntc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-ntc-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

.rk-ntc-readings {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px dashed var(--rk-ntc-border);
}

.rk-ntc-reading-box {
    text-align: center;
}

.rk-ntc-reading-box span {
    display: block;
    font-size: 12px;
    color: var(--rk-ntc-gray);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.rk-ntc-reading-box strong {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-ntc-dark);
}

/* Visualization */
.rk-ntc-visual {
    flex: 1;
    background: var(--rk-ntc-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-ntc-border);
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.rk-ntc-status-badge {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 800;
    transition: all 0.3s;
    z-index: 10;
}

.rk-badge-safe { background: var(--rk-ntc-green-light); color: var(--rk-ntc-green); }
.rk-badge-warn { background: var(--rk-ntc-red-light); color: var(--rk-ntc-red); }

.rk-ntc-svg-wrap {
    width: 100%;
    max-width: 250px;
    margin-top: 20px;
}

/* SVG Animations & States */
.rk-svg-panel { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); fill: #e2e8f0; }
.rk-svg-pipe { transition: fill 0.4s; fill: #94a3b8; }
.rk-svg-lzo { opacity: 0; transition: opacity 0.3s, transform 2s; }

/* States */
.state-heating .rk-svg-pipe { fill: var(--rk-ntc-red); }
.state-heating .rk-svg-panel { fill: #f8fafc; }

.state-blocked .rk-svg-pipe { fill: var(--rk-ntc-blue); }
.state-blocked .rk-svg-panel { fill: #f8fafc; }

.state-damaged .rk-svg-pipe { fill: var(--rk-ntc-red); }
.state-damaged .rk-svg-panel { fill: #fecaca; transform: translateY(-5px) rotate(2deg); transform-origin: center; }
.state-damaged .rk-svg-lzo { opacity: 1; animation: floatUp 2s infinite linear; }

@keyframes floatUp {
    0% { transform: translateY(0) scale(1); opacity: 0.8; }
    100% { transform: translateY(-30px) scale(1.5); opacity: 0; }
}

@media (max-width: 768px) {
    .rk-ntc-container { margin: 20px auto; }
    .rk-ntc-header, .rk-ntc-body { padding: 25px 20px; }
    .rk-ntc-header h2 { font-size: 22px; }
    .rk-ntc-layout { flex-direction: column; gap: 20px; }
    .rk-ntc-simulator { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-czujnik",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Dlaczego czujnik podłogowy jest niezbędny przy panelach winylowych i parkiecie?",
    "description": "Zrozum tryb dwukanałowy termostatu. Zobacz, jak brak czujnika NTC w wylewce prowadzi do przegrzania posadzki powyżej 27 stopni i nieodwracalnych uszkodzeń paneli LVT.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-czujnik",
    "name": "Graniczne temperatury posadzek (Czujnik NTC)",
    "description": "Parametry krytyczne dla bezpiecznej eksploatacji ogrzewania płaszczyznowego z okładzinami wrażliwymi termicznie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czujnik temperatury podłogi do paneli winylowych",
      "maksymalna temperatura ogrzewania podłogowego parkiet",
      "termostat dwukanałowy pokojowo podłogowy",
      "emisja LZO z paneli ogrzewanie",
      "deformacja paneli ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Pomiar dwukanałowy: równoległa ewaluacja temperatury powietrza i wylewki celem wywołania zjawiska sprzężenia zwrotnego i zamknięcia zaworu (siłownika NC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Limit temperaturowy 27°C jako absolutne maksimum dla gwarancji paneli i parkietów.",
        "Przekroczenie bariery 27°C powoduje rozsychanie zamków oraz zwiększoną emisję lotnych związków organicznych (LZO)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-czujnik",
    "name": "Symulator termicznego zabezpieczenia posadzki (NTC)",
    "description": "Fizyczny symulator obrazujący asymetrię nagrzewania powietrza i wylewki oraz konsekwencje braku dwukanałowego zabezpieczenia instalacji podłogowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ntc-container" id="rk-ntc-app">
    <div class="rk-ntc-header">
        <h2>Dlaczego czujnik podłogowy jest niezbędny przy panelach winylowych i parkiecie?</h2>
        <p>Czujnik temperatury podłogi (rezystancyjny czujnik NTC umieszczony w peszlu ochronnym wewnątrz wylewki) jest bezwzględnie wymagany, gdy <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">okładzinę stanowią panele</a> laminowane, <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele winylowe (LVT)</a> lub <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">parkiet warstwowy</a>, ponieważ producenci tych materiałów bezwzględnie ograniczają maksymalną temperaturę podłogi do 27°C.</p>
        <p>Termostat pokojowo-podłogowy działa w trybie dwukanałowym. Nadrzędnym celem jest osiągnięcie temperatury powietrza (np. 22°C), ale jeśli w procesie nagrzewania, na skutek zbyt <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">wysokiej temperatury zasilania</a>, wylewka osiągnie 27°C, czujnik podłogowy wymusza natychmiastowe zamknięcie siłownika pętli. Przekroczenie tego limitu to utrata gwarancji, emisja szkodliwych związków lotnych (LZO) oraz destrukcja materiału.</p>
    </div>

    <div class="rk-ntc-body">
        <div class="rk-ntc-simulator">
            <div class="rk-ntc-sim-title">
                <h3>Symulator Trybu Dwukanałowego (NTC)</h3>
                <p>Zobacz, jak zachowuje się posadzka w fazie intensywnego nagrzewania pokoju.</p>
            </div>

            <div class="rk-ntc-layout">
                <div class="rk-ntc-controls">
                    <div class="rk-ntc-toggle-group">
                        <button class="rk-ntc-toggle-btn active" data-mode="on" id="btnNtcOn">Termostat z czujnikiem NTC</button>
                        <button class="rk-ntc-toggle-btn" data-mode="off" id="btnNtcOff">Tylko czujnik powietrza</button>
                    </div>

                    <div class="rk-ntc-slider-group">
                        <label>Zwiększ zapotrzebowanie na ciepło (Nagrzewanie)</label>
                        <input type="range" class="rk-ntc-slider" id="heatSlider" min="0" max="100" value="0">
                        
                        <div class="rk-ntc-readings">
                            <div class="rk-ntc-reading-box">
                                <span>Temp. Powietrza</span>
                                <strong id="valAir">20.0°C</strong>
                            </div>
                            <div class="rk-ntc-reading-box">
                                <span>Temp. Posadzki</span>
                                <strong id="valFloor" style="color: var(--rk-ntc-blue);">20.0°C</strong>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="rk-ntc-visual" id="visualBox">
                    <div class="rk-ntc-status-badge rk-badge-safe" id="statusBadge">System Oczekuje</div>
                    
                    <div class="rk-ntc-svg-wrap">
                        <svg viewBox="0 0 200 150" xmlns="http://www.w3.org/2000/svg">
                            <rect x="10" y="80" width="180" height="60" fill="#cbd5e1" rx="4"/>
                            <line x1="10" y1="110" x2="190" y2="110" stroke="#94a3b8" stroke-width="2" stroke-dasharray="10 5"/>
                            
                            <circle cx="40" cy="95" r="8" class="rk-svg-pipe"/>
                            <circle cx="80" cy="95" r="8" class="rk-svg-pipe"/>
                            <circle cx="120" cy="95" r="8" class="rk-svg-pipe"/>
                            <circle cx="160" cy="95" r="8" class="rk-svg-pipe"/>

                            <rect x="10" y="65" width="180" height="10" class="rk-svg-panel" rx="2"/>
                            
                            <line x1="70" y1="65" x2="70" y2="75" stroke="#94a3b8" stroke-width="1"/>
                            <line x1="130" y1="65" x2="130" y2="75" stroke="#94a3b8" stroke-width="1"/>

                            <g class="rk-svg-lzo">
                                <circle cx="50" cy="45" r="4" fill="#ef4444"/>
                                <circle cx="150" cy="35" r="3" fill="#ef4444"/>
                                <circle cx="100" cy="50" r="5" fill="#ef4444"/>
                                <text x="100" y="25" font-size="10" fill="#ef4444" text-anchor="middle" font-weight="bold">LZO!</text>
                            </g>
                        </svg>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    let modeNTC = true; // true = z czujnikiem (bezpiecznie), false = bez (niebezpiecznie)
    
    const btnOn = document.getElementById('btnNtcOn');
    const btnOff = document.getElementById('btnNtcOff');
    const slider = document.getElementById('heatSlider');
    const valAir = document.getElementById('valAir');
    const valFloor = document.getElementById('valFloor');
    const visualBox = document.getElementById('visualBox');
    const statusBadge = document.getElementById('statusBadge');

    function updateSimulation() {
        let heatInput = parseInt(slider.value); // 0 do 100
        
        // Bazy temperaturowe
        let baseAir = 20.0;
        let baseFloor = 20.0;

        // Bezwładność: podłoga nagrzewa się 3x szybciej niż powietrze w tej symulacji
        // Max heatInput(100) -> powietrze rośnie o 3°C, podłoga o 12°C
        let currentAir = baseAir + (heatInput * 0.03);
        let currentFloor = baseFloor + (heatInput * 0.12);

        // Reset klas
        visualBox.className = 'rk-ntc-visual';
        statusBadge.className = 'rk-ntc-status-badge';

        if (modeNTC) {
            // TRYB ZABEZPIECZONY NTC
            if (currentFloor > 27) {
                // Czujnik ucina zasilanie na 27°C
                currentFloor = 27;
                visualBox.classList.add('state-blocked');
                
                statusBadge.classList.add('rk-badge-safe');
                statusBadge.innerText = 'Zawór Zamknięty (Limit 27°C)';
                valFloor.style.color = 'var(--rk-ntc-blue)';
            } else {
                if (heatInput > 0) {
                    visualBox.classList.add('state-heating');
                    statusBadge.classList.add('rk-badge-safe');
                    statusBadge.innerText = 'Nagrzewanie Bezpieczne';
                    valFloor.style.color = 'var(--rk-ntc-green)';
                } else {
                    statusBadge.classList.add('rk-badge-safe');
                    statusBadge.innerText = 'System Oczekuje';
                    valFloor.style.color = 'var(--rk-ntc-blue)';
                }
            }
        } else {
            // TRYB BEZ CZUJNIKA NTC (Katastrofa)
            if (currentFloor > 27) {
                visualBox.classList.add('state-damaged');
                statusBadge.classList.add('rk-badge-warn');
                statusBadge.innerText = 'KRYTYCZNE PRZEGRZANIE POSADZKI!';
                valFloor.style.color = 'var(--rk-ntc-red)';
            } else {
                if (heatInput > 0) {
                    visualBox.classList.add('state-heating');
                    statusBadge.classList.add('rk-badge-safe');
                    statusBadge.innerText = 'Nagrzewanie...';
                    valFloor.style.color = 'var(--rk-ntc-green)';
                } else {
                    statusBadge.classList.add('rk-badge-safe');
                    statusBadge.innerText = 'System Oczekuje';
                    valFloor.style.color = 'var(--rk-ntc-blue)';
                }
            }
        }

        // Aktualizacja UI
        valAir.innerText = currentAir.toFixed(1) + '°C';
        valFloor.innerText = currentFloor.toFixed(1) + '°C';
    }

    // Obsługa zdarzeń (bezpieczna logika IF/ELSE)
    btnOn.addEventListener('click', function() {
        modeNTC = true;
        btnOn.classList.add('active');
        btnOff.classList.remove('active');
        updateSimulation();
    });

    btnOff.addEventListener('click', function() {
        modeNTC = false;
        btnOff.classList.add('active');
        btnOn.classList.remove('active');
        updateSimulation();
    });

    slider.addEventListener('input', updateSimulation);

    // Inicjalizacja
    updateSimulation();
});
</script>



<style>
:root {
    --rk-sreg-dark: #0f172a;
    --rk-sreg-blue: #0284c7;
    --rk-sreg-blue-light: #e0f2fe;
    --rk-sreg-gold: #eab308;
    --rk-sreg-gray: #475569;
    --rk-sreg-gray-light: #f8fafc;
    --rk-sreg-bg: #ffffff;
    --rk-sreg-border: #e2e8f0;
}

.rk-sreg-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-sreg-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-sreg-blue);
    overflow: hidden;
}

.rk-sreg-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-sreg-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-sreg-gold);
}

.rk-sreg-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.rk-sreg-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 0 15px 0;
    line-height: 1.7;
}

.rk-sreg-header p:last-child {
    margin-bottom: 0;
}

.rk-sreg-header a {
    color: var(--rk-sreg-gold);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed var(--rk-sreg-gold);
}

.rk-sreg-body {
    padding: 40px 50px;
}

/* Interaktywny symulator */
.rk-sreg-simulator {
    background: var(--rk-sreg-gray-light);
    border: 1px solid var(--rk-sreg-border);
    border-radius: 20px;
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-sreg-sim-title {
    text-align: center;
    margin: 0;
}

.rk-sreg-sim-title h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-sreg-dark);
    margin: 0 0 8px 0;
}

.rk-sreg-sim-title span {
    font-size: 14px;
    color: var(--rk-sreg-gray);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-sreg-layout {
    display: flex;
    align-items: center;
    gap: 40px;
}

/* Panel sterowania */
.rk-sreg-controls {
    flex: 1;
    background: var(--rk-sreg-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-sreg-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-sreg-input-group {
    margin-bottom: 25px;
}

.rk-sreg-input-group label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-sreg-gray);
    margin-bottom: 12px;
}

.rk-sreg-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-sreg-border);
    outline: none;
}

.rk-sreg-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-sreg-blue);
    cursor: pointer;
    border: 4px solid var(--rk-sreg-bg);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

.rk-sreg-slider::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

.rk-sreg-value-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-sreg-dark);
    margin-top: 8px;
}

.rk-sreg-fixed-val {
    padding-top: 15px;
    border-top: 1px dashed var(--rk-sreg-border);
}

.rk-sreg-fixed-val div {
    font-size: 13px;
    color: var(--rk-sreg-gray);
    font-weight: 600;
}

.rk-sreg-fixed-val strong {
    font-size: 18px;
    color: var(--rk-sreg-dark);
    display: block;
    margin-top: 5px;
}

/* Panel wizualizacji */
.rk-sreg-visual {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--rk-sreg-dark);
    border-radius: 16px;
    padding: 30px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-sreg-visual::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: #334155; /* Symulacja płyty fundamentowej */
}

.rk-sreg-emission-val {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-sreg-gold);
    line-height: 1;
    margin-bottom: 5px;
    z-index: 2;
}

.rk-sreg-emission-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #cbd5e1;
    z-index: 2;
    margin-bottom: 25px;
}

/* Fale ciepła SVG */
.rk-sreg-heat-waves {
    width: 100px;
    height: 80px;
    z-index: 2;
    margin-bottom: 10px;
}

.rk-wave-path {
    fill: none;
    stroke: var(--rk-sreg-gold);
    stroke-width: 4;
    stroke-linecap: round;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-wave-1 { opacity: 1; transform: translateY(0); }
.rk-wave-2 { opacity: 0.7; transform: translateY(0); }
.rk-wave-3 { opacity: 0.4; transform: translateY(0); }

/* Komunikat o blokadzie */
.rk-sreg-block-msg {
    position: absolute;
    top: 20px;
    background: var(--rk-sreg-blue);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 3;
}

.rk-sreg-block-msg.show {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 768px) {
    .rk-sreg-container { margin: 20px auto; border-radius: 16px; }
    .rk-sreg-header, .rk-sreg-body { padding: 25px 20px; }
    .rk-sreg-header h2 { font-size: 22px; }
    
    .rk-sreg-simulator { padding: 20px; }
    .rk-sreg-layout { flex-direction: column; gap: 20px; }
    .rk-sreg-controls, .rk-sreg-visual { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-samoregulacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Kiedy montaż sterowników do podłogówki mija się z celem? Wyjątki i ograniczenia",
    "description": "Zrozum zjawisko samoregulacji termicznej w budynkach pasywnych. Kiedy płyta fundamentowa grzewcza nie wymaga instalacji termostatów pokojowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-samoregulacja",
    "name": "Parametry fizyczne zjawiska samoregulacji podłogówki",
    "description": "Fizyczne dane dotyczące spadku emisji cieplnej jastrychu w zależności od różnicy temperatur (Delta T) między powierzchnią a powietrzem.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "domy pasywne ogrzewanie podłogowe",
      "płyta fundamentowa grzewcza",
      "samoregulacja termiczna podłogówki",
      "bezwładność cieplna wylewki",
      "pasywne zyski ciepła"
    ],
    "measurementTechnique": "Kalkulacja procentowego spadku emisji ciepła na podstawie zawężającej się różnicy temperatur przy stałej temperaturze podłogi (24 st. C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Spadek różnicy temperatur z 2K do 1K obniża emisję ciepła przez posadzkę o 50%.",
        "Zjawisko samoregulacji jest w pełni wystarczające w budynkach o zapotrzebowaniu na energię EU poniżej 15 kWh/(m2/rok)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-samoregulacja",
    "name": "Symulator Zjawiska Samoregulacji Termicznej",
    "description": "Narzędzie fizyczne wizualizujące blokadę oddawania ciepła przez podłogę pod wpływem pasywnych zysków wewnętrznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sreg-container" id="rk-sreg-app">
    <div class="rk-sreg-header">
        <h2>Kiedy montaż sterowników do podłogówki mija się z celem? Wyjątki i ograniczenia</h2>
        <p>Automatyka strefowa (termostaty pokojowe zamykające pętle) staje się technicznie nieefektywna w <a href="https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/">budynkach pasywnych</a> oraz wysoce energooszczędnych o rocznym zapotrzebowaniu na energię użytkową do ogrzewania EU &le; 15 kWh/(m²&middot;rok), w których zastosowano grubą <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">płytę fundamentową grzewczą</a> (wylewka >10 cm). W takich obiektach bezwładność cieplna układu wynosi od 12 do 24 godzin, co sprawia, że zanim siłownik zamknie przepływ, zapotrzebowanie na ciepło zdąży się drastycznie zmienić.</p>
        
        <p>W domach o tak niskich stratach ciepła, o stabilny <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans cieplny budowli</a> dba zjawisko samoregulacji termicznej (self-regulation effect). Jeśli temperatura powietrza w pokoju wynosi 22&deg;C, a powierzchnia podłogi ma 24&deg;C, różnica wynosi zaledwie 2 K. Gdy temperatura w pokoju wzrośnie do 23&deg;C (np. z powodu <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">pasywnych zysków od słońca</a>), różnica temperatur spada do 1 K, co powoduje automatyczny, fizyczny spadek emisji ciepła przez podłogę o blisko 50% bez jakiejkolwiek ingerencji elektroniki. W takich przypadkach optymalnym rozwiązaniem jest sterowanie wyłącznie centralne.</p>
    </div>

    <div class="rk-sreg-body">
        <div class="rk-sreg-simulator">
            <div class="rk-sreg-sim-title">
                <h3>Wizualizacja Samoregulacji Termicznej</h3>
                <span>Zobacz jak fizyka zastępuje elektronikę</span>
            </div>

            <div class="rk-sreg-layout">
                <div class="rk-sreg-controls">
                    <div class="rk-sreg-input-group">
                        <label>Zyski ciepła (Temp. powietrza w pokoju)</label>
                        <input type="range" class="rk-sreg-slider" id="srAirTemp" min="20.0" max="25.0" step="0.5" value="20.0">
                        <div class="rk-sreg-value-display"><span id="srAirDisplay">20.0</span> &deg;C</div>
                    </div>
                    
                    <div class="rk-sreg-fixed-val">
                        <div>Stała temperatura nagrzanej płyty podłogowej:</div>
                        <strong>24.0 &deg;C</strong>
                    </div>
                </div>

                <div class="rk-sreg-visual">
                    <div class="rk-sreg-block-msg" id="srBlockMsg">Fizyczna Blokada Emisji!</div>
                    
                    <div class="rk-sreg-emission-val"><span id="srPowerDisplay">100</span>%</div>
                    <div class="rk-sreg-emission-label">Emisja ciepła z posadzki</div>

                    <svg class="rk-sreg-heat-waves" viewBox="0 0 100 80">
                        <path class="rk-wave-path rk-wave-1" id="wave1" d="M20 70 Q35 50 50 70 T80 70" />
                        <path class="rk-wave-path rk-wave-2" id="wave2" d="M20 45 Q35 25 50 45 T80 45" />
                        <path class="rk-wave-path rk-wave-3" id="wave3" d="M20 20 Q35 0 50 20 T80 20" />
                    </svg>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderAir = document.getElementById('srAirTemp');
    const displayAir = document.getElementById('srAirDisplay');
    const displayPower = document.getElementById('srPowerDisplay');
    const blockMsg = document.getElementById('srBlockMsg');
    
    // Fale SVG
    const wave1 = document.getElementById('wave1');
    const wave2 = document.getElementById('wave2');
    const wave3 = document.getElementById('wave3');

    const floorTemp = 24.0;
    const maxDelta = 4.0; // Różnica bazowa (24 - 20) dla 100% emisji

    function updatePhysics() {
        let airTemp = parseFloat(sliderAir.value);
        displayAir.innerText = airTemp.toFixed(1);

        let deltaT = floorTemp - airTemp;
        
        // Zabezpieczenie przed wartością ujemną
        if (deltaT < 0) {
            deltaT = 0;
        }

        // Procent emisji
        let powerPercent = (deltaT / maxDelta) * 100;
        
        if (powerPercent < 0) {
            powerPercent = 0;
        }

        displayPower.innerText = Math.round(powerPercent);

        // Wizualizacja fal
        if (powerPercent > 70) {
            wave1.style.opacity = '1';
            wave2.style.opacity = '0.8';
            wave3.style.opacity = '0.5';
            wave1.style.transform = 'translateY(0)';
            wave2.style.transform = 'translateY(0)';
            wave3.style.transform = 'translateY(0)';
            blockMsg.classList.remove('show');
        } else if (powerPercent > 40) {
            wave1.style.opacity = '0.8';
            wave2.style.opacity = '0.4';
            wave3.style.opacity = '0';
            wave1.style.transform = 'translateY(5px)';
            wave2.style.transform = 'translateY(10px)';
            blockMsg.classList.remove('show');
        } else if (powerPercent > 0) {
            wave1.style.opacity = '0.4';
            wave2.style.opacity = '0';
            wave3.style.opacity = '0';
            wave1.style.transform = 'translateY(15px)';
            blockMsg.classList.remove('show');
        } else {
            // Emisja równa 0%
            wave1.style.opacity = '0';
            wave2.style.opacity = '0';
            wave3.style.opacity = '0';
            blockMsg.classList.add('show');
        }
    }

    sliderAir.addEventListener('input', updatePhysics);
    
    // Inicjalizacja
    updatePhysics();
});
</script>



<style>
:root {
    --rk-pwm-dark: #0f172a;
    --rk-pwm-blue: #0284c7;
    --rk-pwm-blue-light: #e0f2fe;
    --rk-pwm-orange: #f97316;
    --rk-pwm-orange-light: #ffedd5;
    --rk-pwm-gray: #475569;
    --rk-pwm-bg: #ffffff;
    --rk-pwm-border: #e2e8f0;
}

.rk-pwm-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pwm-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-pwm-blue);
    overflow: hidden;
}

.rk-pwm-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-pwm-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-pwm-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-pwm-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.rk-pwm-body {
    padding: 40px 50px;
}

.rk-pwm-steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}

.rk-pwm-step {
    background: #f8fafc;
    border: 1px solid var(--rk-pwm-border);
    border-radius: 16px;
    padding: 25px;
}

.rk-pwm-step-number {
    display: inline-block;
    background: var(--rk-pwm-blue);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    text-align: center;
    line-height: 32px;
    font-weight: 800;
    margin-bottom: 15px;
}

.rk-pwm-step h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-pwm-dark);
    margin: 0 0 10px 0;
}

.rk-pwm-step p {
    font-size: 14px;
    color: var(--rk-pwm-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-pwm-step a {
    color: var(--rk-pwm-blue);
    text-decoration: none;
    font-weight: 600;
}

/* Interaktywny Symulator */
.rk-pwm-simulator {
    background: var(--rk-pwm-dark);
    border-radius: 20px;
    padding: 40px;
    color: #ffffff;
}

.rk-pwm-sim-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 30px 0;
    text-align: center;
    color: var(--rk-pwm-orange);
}

.rk-pwm-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.rk-pwm-control-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-pwm-control-group label {
    font-size: 14px;
    font-weight: 700;
    color: #cbd5e1;
}

.rk-pwm-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    border-radius: 4px;
    background: #334155;
    outline: none;
}

.rk-pwm-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-pwm-orange);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 10px rgba(249, 115, 22, 0.5);
}

.rk-pwm-val-display {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin-top: 5px;
}

/* Przełącznik Wylewki */
.rk-screed-toggle {
    display: flex;
    background: #1e293b;
    border-radius: 12px;
    padding: 4px;
    margin-bottom: 20px;
}

.rk-screed-btn {
    flex: 1;
    padding: 12px;
    text-align: center;
    background: transparent;
    border: none;
    color: #94a3b8;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
}

.rk-screed-btn.active {
    background: var(--rk-pwm-blue);
    color: #ffffff;
}

/* Wyniki */
.rk-pwm-results {
    background: #1e293b;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rk-pwm-result-box {
    flex: 1;
    text-align: center;
}

.rk-pwm-result-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.rk-pwm-result-value {
    font-size: 32px;
    font-weight: 900;
}

.rk-val-open { color: var(--rk-pwm-orange); }
.rk-val-closed { color: var(--rk-pwm-blue); }

.rk-pwm-visual {
    width: 120px;
    height: 120px;
    position: relative;
}

.rk-svg-circle {
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    transition: stroke-dasharray 0.5s ease;
}

/* CTA */
.rk-pwm-cta {
    background: var(--rk-pwm-bg);
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-pwm-border);
}

.rk-pwm-cta h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-pwm-dark);
    margin: 0 0 15px 0;
}

.rk-pwm-cta p {
    font-size: 16px;
    color: var(--rk-pwm-gray);
    margin: 0 auto 25px auto;
    max-width: 700px;
    line-height: 1.6;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-pwm-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 20px 35px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-cta:hover {
    transform: translateY(-4px);
    background: #0369a1;
    box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.5);
}

@media (max-width: 768px) {
    .rk-pwm-container { margin: 20px auto; }
    .rk-pwm-header, .rk-pwm-body, .rk-pwm-simulator, .rk-pwm-cta { padding: 30px 20px; }
    .rk-pwm-steps { grid-template-columns: 1fr; gap: 20px; }
    .rk-pwm-controls { grid-template-columns: 1fr; gap: 30px; }
    .rk-pwm-results { flex-direction: column; text-align: center; }
    .rk-svg-circle-wrap { margin: 20px auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-pwm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak poprawnie skonfigurować algorytm sterowania ogrzewaniem? Przewodnik krok po kroku",
    "description": "Techniczny przewodnik kalibracji automatyki podłogówki. Obliczanie czasu otwarcia siłowników w algorytmie PWM w zależności od uchybu temperatury i rodzaju wylewki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-pwm",
    "name": "Parametry kalibracji algorytmu PWM/TPI w ogrzewaniu płaszczyznowym",
    "description": "Zbiór danych i wzorów matematycznych definiujących poprawną konfigurację systemów sterowania strefowego w zależności od masy termicznej jastrychu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm PWM w ogrzewaniu",
      "histereza czy PWM",
      "czas otwarcia siłownika podłogówki",
      "wylewka anhydrytowa a sterowanie",
      "taktowanie pompy ciepła"
    ],
    "measurementTechnique": "Obliczanie cyklu pracy siłowników (t_on) z wykorzystaniem wzmocnienia proporcjonalnego Kp (0,2) oraz uchybu regulacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Baza czasu dla wylewki betonowej: 60 minut.",
        "Baza czasu dla wylewki anhydrytowej: 30 minut.",
        "Minimalny bezpieczny czas otwarcia siłownika (ochrona przekaźników): 3 minuty."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-pwm",
    "name": "Symulator Algorytmu PWM dla Ogrzewania Podłogowego",
    "description": "Interaktywne narzędzie obliczeniowe pozwalające na symulację zachowania siłowników termoelektrycznych na podstawie zmiennej temperatury zadanej i aktualnej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pwm-container" id="rk-pwm-app">
    <div class="rk-pwm-header">
        <h2>Jak poprawnie skonfigurować algorytm sterowania ogrzewaniem? Przewodnik krok po kroku</h2>
        <p>Prawidłowa parametryzacja automatyki podłogówki zapobiega taktowaniu źródła ciepła i stabilizuje temperaturę. Poniżej znajduje się logika konfiguracji sterownika z uwzględnieniem algorytmu modulacji.</p>
    </div>

    <div class="rk-pwm-body">
        <div class="rk-pwm-steps">
            <div class="rk-pwm-step">
                <span class="rk-pwm-step-number">1</span>
                <h3>Wybór trybu pracy (PWM vs Histereza)</h3>
                <p>Należy bezwzględnie wyłączyć klasyczną histerezę, ponieważ wygeneruje ona przesterowania temperatury o ponad 1,5°C ze względu na <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność wylewki</a>. Aktywuj algorytm <strong>PWM / TPI</strong>, dedykowany do układów inercyjnych.</p>
            </div>
            <div class="rk-pwm-step">
                <span class="rk-pwm-step-number">2</span>
                <h3>Określenie czasu cyklu PWM</h3>
                <p>Dla standardowej <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki betonowej</a> czas cyklu ustawia się na <strong>60 minut</strong>. Dla wylewek anhydrytowych (cieńszych, szybko przewodzących ciepło) bazę czasu skracamy do <strong>30 minut</strong>.</p>
            </div>
            <div class="rk-pwm-step">
                <span class="rk-pwm-step-number">3</span>
                <h3>Wyliczenie czasu otwarcia siłownika</h3>
                <p>Algorytm oblicza czas zasilania siłownika w każdym cyklu na podstawie uchybu regulacji (różnicy temperatur):<br>
                <strong>Czas Otwarcia = Cykl × [ Kp × (Temp. Zadana - Temp. Aktualna) ]</strong><br>
                Gdzie wzmocnienie Kp wynosi zazwyczaj 0,2.</p>
            </div>
            <div class="rk-pwm-step">
                <span class="rk-pwm-step-number">4</span>
                <h3>Limity dla ochrony źródła</h3>
                <p>Należy wprowadzić minimalny czas otwarcia <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłownika termoelektrycznego</a> na poziomie <strong>3 minut</strong>. Zapobiega to zbędnemu uruchamianiu pompy obiegowej na zaledwie kilkanaście sekund.</p>
            </div>
        </div>

        <div class="rk-pwm-simulator">
            <h3 class="rk-pwm-sim-title">Symulator czasu pracy siłownika w algorytmie PWM</h3>
            
            <div class="rk-screed-toggle">
                <button class="rk-screed-btn active" data-cycle="60" id="btnBeton">Wylewka Betonowa (Cykl 60 min)</button>
                <button class="rk-screed-btn" data-cycle="30" id="btnAnhydryt">Wylewka Anhydrytowa (Cykl 30 min)</button>
            </div>

            <div class="rk-pwm-controls">
                <div class="rk-pwm-control-group">
                    <label>Temperatura Zadana (Termostat)</label>
                    <input type="range" class="rk-pwm-slider" id="tempZadana" min="18.0" max="25.0" step="0.1" value="22.0">
                    <div class="rk-pwm-val-display"><span id="valZadana">22.0</span> °C</div>
                </div>
                <div class="rk-pwm-control-group">
                    <label>Temperatura Aktualna w Pokoju</label>
                    <input type="range" class="rk-pwm-slider" id="tempAktualna" min="18.0" max="25.0" step="0.1" value="21.5">
                    <div class="rk-pwm-val-display"><span id="valAktualna">21.5</span> °C</div>
                </div>
            </div>

            <div class="rk-pwm-results">
                <div class="rk-pwm-result-box">
                    <div class="rk-pwm-result-label">Zawór otwarty (Grzanie)</div>
                    <div class="rk-pwm-result-value rk-val-open"><span id="outOpen">6</span> min</div>
                </div>
                
                <div class="rk-svg-circle-wrap">
                    <svg class="rk-pwm-visual" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="45" fill="none" stroke="#0284c7" stroke-width="10"></circle>
                        <circle cx="50" cy="50" r="45" fill="none" stroke="#f97316" stroke-width="10" stroke-dasharray="0 283" class="rk-svg-circle" id="svgProgress"></circle>
                    </svg>
                </div>

                <div class="rk-pwm-result-box">
                    <div class="rk-pwm-result-label">Zawór zamknięty (Przerwa)</div>
                    <div class="rk-pwm-result-value rk-val-closed"><span id="outClosed">54</span> min</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pwm-cta">
        <h3>Projekt instalacji dopasowany do logiki sterownika</h3>
        <p>Błędnie dobrany rozstaw rur zniszczy efektywność nawet najlepszego sterownika z algorytmem PWM. Wybierz kompleksowy projekt instalacji grzewczej oparty na rzetelnych wyliczeniach hydraulicznych OZC.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cta">
            ZAMÓW PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO ONLINE
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    let cycleTime = 60; // Domyślnie beton
    const Kp = 0.2; // Wzmocnienie proporcjonalne
    
    const btnBeton = document.getElementById('btnBeton');
    const btnAnhydryt = document.getElementById('btnAnhydryt');
    const sliderZadana = document.getElementById('tempZadana');
    const sliderAktualna = document.getElementById('tempAktualna');
    const displayZadana = document.getElementById('valZadana');
    const displayAktualna = document.getElementById('valAktualna');
    const outOpen = document.getElementById('outOpen');
    const outClosed = document.getElementById('outClosed');
    const svgProgress = document.getElementById('svgProgress');

    // Funkcja obliczająca bez użycia &&
    function calculatePWM() {
        let tZad = parseFloat(sliderZadana.value);
        let tAkt = parseFloat(sliderAktualna.value);
        
        displayZadana.innerText = tZad.toFixed(1);
        displayAktualna.innerText = tAkt.toFixed(1);

        let error = tZad - tAkt;
        
        if (error < 0) {
            error = 0;
        }

        let timeOn = cycleTime * (Kp * error);

        if (timeOn > cycleTime) {
            timeOn = cycleTime;
        }

        if (timeOn > 0) {
            if (timeOn < 3) {
                // Zabezpieczenie źródła - limit minimum 3 min
                timeOn = 0;
            }
        }

        let timeOnRounded = Math.round(timeOn);
        let timeOff = cycleTime - timeOnRounded;

        outOpen.innerText = timeOnRounded;
        outClosed.innerText = timeOff;

        // Obliczenie proporcji do koła SVG (obwód = 2 * PI * 45 = ok. 282.7)
        let circumference = 283;
        let percentage = timeOnRounded / cycleTime;
        let strokeDash = percentage * circumference;
        
        svgProgress.style.strokeDasharray = strokeDash + " 283";
    }

    // Eventy dla przycisków wylewki
    btnBeton.addEventListener('click', function() {
        btnBeton.classList.add('active');
        btnAnhydryt.classList.remove('active');
        cycleTime = 60;
        calculatePWM();
    });

    btnAnhydryt.addEventListener('click', function() {
        btnAnhydryt.classList.add('active');
        btnBeton.classList.remove('active');
        cycleTime = 30;
        calculatePWM();
    });

    // Eventy dla suwaków
    sliderZadana.addEventListener('input', calculatePWM);
    sliderAktualna.addEventListener('input', calculatePWM);

    // Inicjalizacja
    calculatePWM();
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-accent: #38bdf8;
    --rk-proj-gray: #475569;
    --rk-proj-bg: #ffffff;
    --rk-proj-border: #e2e8f0;
    --rk-proj-hover: #f8fafc;
}

.rk-project-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-proj-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-proj-border);
    overflow: hidden;
}

.rk-project-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-project-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-project-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 800px;
}

.rk-project-body {
    padding: 40px 50px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-node-item {
    background: var(--rk-proj-bg);
    border: 2px solid var(--rk-proj-border);
    border-radius: 16px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-node-item.is-active {
    border-color: var(--rk-proj-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
}

.rk-node-trigger {
    width: 100%;
    padding: 24px 30px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    gap: 24px;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.3s ease;
}

.rk-node-trigger:hover {
    background-color: var(--rk-proj-hover);
}

.rk-node-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--rk-proj-blue-light);
    color: var(--rk-proj-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-node-item.is-active .rk-node-icon {
    background: var(--rk-proj-blue);
    color: #ffffff;
    transform: scale(1.1) rotate(5deg);
}

.rk-node-title {
    flex: 1;
}

.rk-node-title h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    margin: 0;
    transition: color 0.3s ease;
}

.rk-node-item.is-active .rk-node-title h3 {
    color: var(--rk-proj-blue);
}

.rk-node-indicator {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border: 2px solid var(--rk-proj-border);
    border-radius: 50%;
    position: relative;
    transition: all 0.3s ease;
}

.rk-node-indicator::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 12px;
    height: 12px;
    background: var(--rk-proj-blue);
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-node-item.is-active .rk-node-indicator {
    border-color: var(--rk-proj-blue);
}

.rk-node-item.is-active .rk-node-indicator::after {
    transform: translate(-50%, -50%) scale(1);
}

.rk-node-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-node-content-inner {
    padding: 0 30px 30px 102px; /* Dostosowane do ikony */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-proj-gray);
    border-top: 1px solid transparent;
}

.rk-node-item.is-active .rk-node-content-inner {
    border-top-color: var(--rk-proj-blue-light);
    padding-top: 20px;
    margin-top: 5px;
}

.rk-node-content-inner strong {
    color: var(--rk-proj-dark);
    font-weight: 700;
}

.rk-node-content-inner a {
    color: var(--rk-proj-blue);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--rk-proj-blue);
    transition: all 0.2s;
}

.rk-node-content-inner a:hover {
    color: var(--rk-proj-dark);
    border-bottom-color: var(--rk-proj-dark);
}

/* Mocne CTA */
.rk-proj-cta {
    background: var(--rk-proj-bg);
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-proj-border);
}

.rk-proj-cta h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
}

.rk-proj-cta p {
    font-size: 16px;
    color: var(--rk-proj-gray);
    margin: 0 auto 30px auto;
    max-width: 700px;
    line-height: 1.6;
}

.rk-btn-premium {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-premium:hover {
    transform: translateY(-4px);
    background: #0369a1;
    box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.5);
    border-color: var(--rk-proj-accent);
}

.rk-btn-premium svg {
    transition: transform 0.3s;
}

.rk-btn-premium:hover svg {
    transform: translateX(5px);
}

/* Responsywność Mobile */
@media (max-width: 768px) {
    .rk-project-container { margin: 20px auto; border-radius: 16px; }
    .rk-project-header, .rk-project-body, .rk-proj-cta { padding: 30px 20px; }
    .rk-project-header h2 { font-size: 24px; }
    
    .rk-node-trigger { padding: 20px; gap: 16px; }
    .rk-node-icon { width: 40px; height: 40px; border-radius: 10px; }
    .rk-node-icon svg { width: 20px; height: 20px; }
    .rk-node-title h3 { font-size: 16px; }
    
    .rk-node-content-inner { padding: 0 20px 20px 20px; } /* Usunięcie lewego wcięcia na mobile */
    .rk-btn-premium { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak automatyka strefowa wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Zobacz, jak inteligentne sterowanie wymusza zmiany w architekturze kotłowni. Wpływ automatyki na bufor ciepła, pompę obiegową ΔP-c oraz rozstaw rur w projekcie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Wymagania hydrauliczne dla automatyki strefowej wg PN-EN 1264",
    "description": "Korelacja między cyfrowym zamykaniem pętli grzewczych a wydajnością masową pomp ciepła oraz bilansem ciśnień w rozdzielaczach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego online",
      "sprzęgło hydrauliczne w pompie ciepła",
      "bufor ciepła a podłogówka",
      "pompa obiegowa ze zmiennym ciśnieniem",
      "obliczenia OZC dla stref"
    ],
    "measurementTechnique": "Analiza współzależności parametrów hydraulicznych (przepływ masowy, opory miejscowe) w zmiennych warunkach pracy wywołanych dławieniem strefowym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg stosowania sprzęgła/bufora przy zamykaniu 70% pętli dla zachowania przepływu parownika.",
        "Konieczność zastosowania pomp obiegowych z autoadaptacją ciśnienia stałego ΔP-c."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Wymagań Hydraulicznych",
    "description": "Interaktywny walidator zależności między sterowaniem strefowym a architekturą kotłowni i parametrami rozdzielaczy podłogowych.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-project-container" id="rk-proj-sys">
    <div class="rk-project-header">
        <h2>Jak automatyka strefowa wpływa na profesjonalny projekt ogrzewania podłogowego?</h2>
        <p>Dobór systemu sterowania musi być integralną częścią obliczeń hydraulicznych na etapie projektowania instalacji zgodnie z normą <strong>PN-EN 1264</strong>. Wybierz węzeł, aby zobaczyć inżynierskie konsekwencje.</p>
    </div>

    <div class="rk-project-body" id="rkProjectNodes">
        
        <div class="rk-node-item">
            <button class="rk-node-trigger" aria-expanded="false">
                <div class="rk-node-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
                </div>
                <div class="rk-node-title">
                    <h3>Projektowanie stref i pętli (OZC)</h3>
                </div>
                <div class="rk-node-indicator"></div>
            </button>
            <div class="rk-node-content">
                <div class="rk-node-content-inner">
                    Dokładne <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">obliczenie strat ciepła</a> dla każdego pomieszczenia (OZC) pozwala przyporządkować konkretne pętle do osobnych stref sterowania. Pomieszczenia o skrajnie różnych zyskach (np. salon z dużymi przeszkleniami południowymi vs sypialnia północna) muszą bezwzględnie posiadać niezależne termostaty.
                </div>
            </div>
        </div>

        <div class="rk-node-item">
            <button class="rk-node-trigger" aria-expanded="false">
                <div class="rk-node-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><line x1="12" y1="2" x2="12" y2="8"></line><line x1="12" y1="16" x2="12" y2="22"></line><line x1="2" y1="12" x2="8" y2="12"></line><line x1="16" y1="12" x2="22" y2="12"></line></svg>
                </div>
                <div class="rk-node-title">
                    <h3>Sprzęgło hydrauliczne i bufor w układzie</h3>
                </div>
                <div class="rk-node-indicator"></div>
            </button>
            <div class="rk-node-content">
                <div class="rk-node-content-inner">
                    Gdy sterowniki pokojowe zamkną np. 70% pętli na rozdzielaczach, drastycznie spada przepływ masowy w instalacji. Pompa ciepła, która do prawidłowej pracy wymaga minimalnego, stabilnego przepływu (np. 1,2 m³/h), wejdzie w stan awarii (błąd <em>flow switch error</em>). Projekt musi uwzględniać <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a> lub <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor spięty jako bypass</a>, aby odsprzęgnąć obieg źródła od zablokowanego obiegu instalacji.
                </div>
            </div>
        </div>

        <div class="rk-node-item">
            <button class="rk-node-trigger" aria-expanded="false">
                <div class="rk-node-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                </div>
                <div class="rk-node-title">
                    <h3>Dobór pompy obiegowej z trybem ΔP-c</h3>
                </div>
                <div class="rk-node-indicator"></div>
            </button>
            <div class="rk-node-content">
                <div class="rk-node-content-inner">
                    <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa podłogówki</a> musi pracować w trybie stałego ciśnienia (proporcjonalnego redukowania obrotów) <strong>ΔP-c</strong>. Gdy automatyka zamyka kolejne siłowniki, opory hydrauliczne instalacji rosną. Inteligentna pompa wykrywa zmianę ciśnienia, redukuje swoje obroty i pobór mocy (z np. 45W do 4W), skutecznie zapobiegając generowaniu szumów na rotometrach rozdzielacza.
                </div>
            </div>
        </div>

        <div class="rk-node-item">
            <button class="rk-node-trigger" aria-expanded="false">
                <div class="rk-node-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 9h16"></path><path d="M4 15h16"></path><path d="M10 3v18"></path><path d="M14 3v18"></path></svg>
                </div>
                <div class="rk-node-title">
                    <h3>Rozstaw rur a autorytet zaworów</h3>
                </div>
                <div class="rk-node-indicator"></div>
            </button>
            <div class="rk-node-content">
                <div class="rk-node-content-inner">
                    Przy gęstym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstawie rur</a> (np. co 10 cm przy pompie ciepła) moc jednostkowa podłogi jest wysoka. Brak automatyki drastycznie pogłębia tu błędy regulacyjne, dlatego średnice rur zasilających rozdzielacz oraz autorytet zaworów z siłownikami muszą być tak przeliczone w projekcie, aby po odcięciu części stref nie dochodziło do rozrównoważenia pozostałych pętli.
                </div>
            </div>
        </div>

    </div>

    <div class="rk-proj-cta">
        <h3>Nie zgaduj parametrów swojej instalacji</h3>
        <p>Gdy stawką jest bezawaryjna praca pompy ciepła, matematyka wygrywa z instalatorską intuicją. Wyeliminuj błędy, zaufaj inżynierom i zdobądź pełną dokumentację swojego układu.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-premium">
            ZAMÓW KOMPLEKSOWY PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO ONLINE
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const nodeItems = document.querySelectorAll('.rk-node-item');

    nodeItems.forEach(function(item) {
        const triggerBtn = item.querySelector('.rk-node-trigger');
        const contentDiv = item.querySelector('.rk-node-content');

        triggerBtn.addEventListener('click', function() {
            // Bezpieczna logika przełączania - eliminacja operatorów &&
            
            if (item.classList.contains('is-active')) {
                // Zwiń, jeśli jest już otwarty
                item.classList.remove('is-active');
                triggerBtn.setAttribute('aria-expanded', 'false');
                contentDiv.style.maxHeight = null;
            } else {
                // Najpierw zwiń wszystkie inne aktywne węzły
                nodeItems.forEach(function(otherItem) {
                    if (otherItem !== item) {
                        if (otherItem.classList.contains('is-active')) {
                            otherItem.classList.remove('is-active');
                            otherItem.querySelector('.rk-node-trigger').setAttribute('aria-expanded', 'false');
                            otherItem.querySelector('.rk-node-content').style.maxHeight = null;
                        }
                    }
                });
                
                // Otwórz kliknięty węzeł
                item.classList.add('is-active');
                triggerBtn.setAttribute('aria-expanded', 'true');
                contentDiv.style.maxHeight = contentDiv.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-matrix-dark: #0f172a;
    --rk-matrix-dark-card: #1e293b;
    --rk-matrix-blue: #0284c7;
    --rk-matrix-blue-light: #e0f2fe;
    --rk-matrix-green: #10b981;
    --rk-matrix-red: #ef4444;
    --rk-matrix-gray: #475569;
    --rk-matrix-gray-light: #f8fafc;
    --rk-matrix-bg: #ffffff;
    --rk-matrix-border: #e2e8f0;
}

.rk-matrix-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-matrix-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-matrix-blue);
    overflow: hidden;
}

.rk-matrix-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-matrix-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-matrix-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-matrix-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
}

.rk-matrix-body {
    padding: 40px 50px;
    background: var(--rk-matrix-gray-light);
}

/* Interaktywny Dashboard */
.rk-matrix-dashboard {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Panel wyboru (Poziomy) */
.rk-matrix-levels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.rk-matrix-btn {
    background: var(--rk-matrix-bg);
    border: 2px solid var(--rk-matrix-border);
    padding: 20px 15px;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-matrix-btn:hover {
    border-color: var(--rk-matrix-blue-light);
    transform: translateY(-2px);
}

.rk-matrix-btn.is-active {
    background: var(--rk-matrix-blue);
    border-color: var(--rk-matrix-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-matrix-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-matrix-dark);
    transition: color 0.3s;
}

.rk-matrix-btn.is-active .rk-matrix-btn-title {
    color: #ffffff;
}

.rk-matrix-btn-sub {
    font-size: 11px;
    font-weight: 600;
    color: var(--rk-matrix-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}

.rk-matrix-btn.is-active .rk-matrix-btn-sub {
    color: var(--rk-matrix-blue-light);
}

/* Wyświetlacz danych (Output) */
.rk-matrix-output {
    background: var(--rk-matrix-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-matrix-border);
    padding: 35px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-matrix-output-header {
    border-bottom: 1px dashed var(--rk-matrix-border);
    padding-bottom: 25px;
}

.rk-matrix-output-header h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-matrix-dark);
    margin: 0 0 10px 0;
}

.rk-matrix-output-header p {
    font-size: 15px;
    color: var(--rk-matrix-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-matrix-output-header a {
    color: var(--rk-matrix-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-matrix-blue);
}

/* Parametry grid */
.rk-matrix-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-matrix-stat-box {
    background: var(--rk-matrix-gray-light);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-matrix-border);
}

.rk-stat-title {
    font-size: 12px;
    color: var(--rk-matrix-gray);
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.rk-stat-desc {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-matrix-dark);
    line-height: 1.4;
}

.rk-stat-desc.rk-color-red { color: var(--rk-matrix-red); }
.rk-stat-desc.rk-color-green { color: var(--rk-matrix-green); }
.rk-stat-desc.rk-color-blue { color: var(--rk-matrix-blue); }

/* SVG Wizualizacja */
.rk-matrix-visual {
    background: var(--rk-matrix-dark-card);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
}

.rk-svg-comp { transition: all 0.4s ease; fill: #334155; }
.rk-svg-line { transition: all 0.4s ease; stroke: #334155; stroke-width: 3; fill: none; }
.rk-svg-active { fill: var(--rk-matrix-blue); }
.rk-svg-active-line { stroke: var(--rk-matrix-blue); stroke-dasharray: 6 4; animation: rkFlowAnim 1s linear infinite; }
.rk-svg-active-green { fill: var(--rk-matrix-green); }

@keyframes rkFlowAnim {
    to { stroke-dashoffset: -10; }
}

@media (max-width: 768px) {
    .rk-matrix-container { margin: 20px auto; border-radius: 16px; }
    .rk-matrix-header, .rk-matrix-body { padding: 25px 20px; }
    .rk-matrix-header h2 { font-size: 24px; }
    
    .rk-matrix-levels { grid-template-columns: 1fr; gap: 10px; }
    .rk-matrix-btn { flex-direction: row; padding: 15px 20px; justify-content: space-between; }
    .rk-matrix-btn-title { font-size: 15px; }
    
    .rk-matrix-output { padding: 25px 20px; }
    .rk-matrix-stats { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Zestawienie systemów: Brak sterowników vs Pogodówka vs Termostaty",
    "description": "Kompleksowa tabela porównawcza technologii sterowania ogrzewaniem podłogowym. Sprawdź, który wariant zapewnia najwyższy komfort i najniższe koszty eksploatacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-porownanie",
    "name": "Macierz porównawcza technologii sterowania podłogówką",
    "description": "Zestawienie efektywności, kosztów i komfortu dla 4 wariantów instalacyjnych: Brak, Pogodowe, Pokojowe, Hybrydowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela porównawcza ogrzewanie podłogowe",
      "sterowanie pogodowe a termostaty pokojowe",
      "jakie sterowanie do pompy ciepła wybrać",
      "wady i zalety sterowania podłogówką",
      "zawór mieszający w ogrzewaniu podłogowym"
    ],
    "measurementTechnique": "Macierz analityczna oceniająca potencjał oszczędności energii i komfortu termicznego w relacji do skomplikowania układu hydraulicznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant 1: Brak automatyki - najwyższe ryzyko przegrzewania i najniższy komfort.",
        "Wariant 4: Hybryda - maksymalna optymalizacja COP pompy ciepła połączona ze strefową blokadą zysków pasywnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-porownanie",
    "name": "Kalkulator Poziomów Automatyki (System Upgrade Simulator)",
    "description": "Interaktywny interfejs typu dashboard umożliwiający przełączanie i weryfikację ewolucji systemów sterowania HVAC.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-matrix-container" id="rk-matrix-app">
    <div class="rk-matrix-header">
        <h2>Porównanie systemów: Od braku automatyki do pełnej hybrydy</h2>
        <p>Decyzja o wyborze sterowania determinuje koszty eksploatacji na lata. Zamiast obszernej tabeli, przygotowałem interaktywną macierz. Wybierz poziom zaawansowania instalacji, aby sprawdzić, co zyskujesz, a co tracisz.</p>
    </div>

    <div class="rk-matrix-body">
        <div class="rk-matrix-dashboard">
            
            <div class="rk-matrix-levels">
                <button class="rk-matrix-btn is-active" data-level="0">
                    <span class="rk-matrix-btn-sub">Wariant Podstawowy</span>
                    <span class="rk-matrix-btn-title">Brak Sterowników</span>
                </button>
                <button class="rk-matrix-btn" data-level="1">
                    <span class="rk-matrix-btn-sub">Tylko Źródło</span>
                    <span class="rk-matrix-btn-title">Sterowanie Pogodowe</span>
                </button>
                <button class="rk-matrix-btn" data-level="2">
                    <span class="rk-matrix-btn-sub">Tylko Strefy</span>
                    <span class="rk-matrix-btn-title">Termostaty Pokojowe</span>
                </button>
                <button class="rk-matrix-btn" data-level="3">
                    <span class="rk-matrix-btn-sub">Standard Inżynierski</span>
                    <span class="rk-matrix-btn-title">Pełna Hybryda</span>
                </button>
            </div>

            <div class="rk-matrix-output">
                
                <div class="rk-matrix-output-header">
                    <h3 id="mxTitle">Wariant 0: Instalacja "Zrób to najtaniej"</h3>
                    <p id="mxDesc">Układ pozbawiony jakiejkolwiek logiki. Pompa pracuje na sztywnych parametrach zasilania i ignoruje <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">wady wodnego ogrzewania podłogowego</a>, takie jak wysoka inercja i ryzyko permanentnego przegrzewania.</p>
                </div>

                <div class="rk-matrix-visual">
                    <svg viewBox="0 0 400 80" style="width:100%; max-width: 350px;">
                        <rect x="20" y="20" width="50" height="50" rx="4" class="rk-svg-comp rk-svg-active-green" id="svgSource"/>
                        <text x="45" y="50" fill="#ffffff" font-size="10" font-family="sans-serif" text-anchor="middle" font-weight="bold">ŹRÓDŁO</text>
                        
                        <path d="M 70 45 L 160 45" class="rk-svg-line" id="svgLine1"/>

                        <circle cx="115" cy="15" r="8" class="rk-svg-comp" id="svgSensorOut"/>
                        <path d="M 115 23 L 115 45" class="rk-svg-line" id="svgLineOut"/>

                        <rect x="160" y="25" width="80" height="40" rx="4" class="rk-svg-comp rk-svg-active-green" id="svgDistributor"/>
                        
                        <path d="M 240 35 L 310 35" class="rk-svg-line" id="svgLine2"/>
                        <path d="M 240 55 L 310 55" class="rk-svg-line" id="svgLine3"/>

                        <circle cx="330" cy="35" r="15" class="rk-svg-comp" id="svgThermostat1"/>
                        <circle cx="330" cy="55" r="15" class="rk-svg-comp" id="svgThermostat2"/>
                    </svg>
                </div>

                <div class="rk-matrix-stats">
                    <div class="rk-matrix-stat-box">
                        <div class="rk-stat-title">Główna zaleta</div>
                        <div class="rk-stat-desc rk-color-blue" id="mxPro">Najniższy koszt instalacji na etapie budowy domu.</div>
                    </div>
                    
                    <div class="rk-matrix-stat-box">
                        <div class="rk-stat-title">Krytyczna wada</div>
                        <div class="rk-stat-desc rk-color-red" id="mxCon">Gigantyczne koszty eksploatacji i skrajny dyskomfort.</div>
                    </div>

                    <div class="rk-matrix-stat-box">
                        <div class="rk-stat-title">Potencjał Oszczędności</div>
                        <div class="rk-stat-desc" id="mxSave">0% (Baza odniesienia)</div>
                    </div>

                    <div class="rk-matrix-stat-box">
                        <div class="rk-stat-title">Wymagania hydrauliczne</div>
                        <div class="rk-stat-desc" id="mxHydra">Podstawowy rozdzielacz (brak siłowników i sprzęgła).</div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-matrix-btn');
    
    // Pola tekstowe Outputu
    const mxTitle = document.getElementById('mxTitle');
    const mxDesc = document.getElementById('mxDesc');
    const mxPro = document.getElementById('mxPro');
    const mxCon = document.getElementById('mxCon');
    const mxSave = document.getElementById('mxSave');
    const mxHydra = document.getElementById('mxHydra');

    // Elementy SVG
    const svgSource = document.getElementById('svgSource');
    const svgSensorOut = document.getElementById('svgSensorOut');
    const svgDistributor = document.getElementById('svgDistributor');
    const svgThermostat1 = document.getElementById('svgThermostat1');
    const svgThermostat2 = document.getElementById('svgThermostat2');
    
    const svgLine1 = document.getElementById('svgLine1');
    const svgLineOut = document.getElementById('svgLineOut');
    const svgLine2 = document.getElementById('svgLine2');
    const svgLine3 = document.getElementById('svgLine3');

    // Słownik danych dla 4 wariantów (bez użycia zewnętrznych plików JSON i znaków $$)
    const matrixData = {
        "0": {
            title: "Wariant 0: Instalacja 'Zrób to najtaniej'",
            desc: "Układ pozbawiony jakiejkolwiek logiki. Pompa pracuje na sztywnych parametrach zasilania i ignoruje <a href='https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/'>wady wodnego ogrzewania podłogowego</a>, takie jak wysoka inercja i ryzyko permanentnego przegrzewania.",
            pro: "Najniższy koszt instalacji hydraulicznej.",
            proClass: "rk-color-blue",
            con: "Gigantyczne koszty eksploatacji i skrajny dyskomfort temperaturowy.",
            conClass: "rk-color-red",
            save: "0% (Baza odniesienia)",
            hydra: "Podstawowy rozdzielacz (bez siłowników)."
        },
        "1": {
            title: "Wariant 1: Sterowanie Pogodowe (Tylko Źródło)",
            desc: "System oparty wyłącznie o <a href='https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/'>sterowanie pogodowe</a>. Centrala dostosowuje temperaturę zasilania (Tz) do temperatury zewnętrznej. Poprawia to sprawność źródła, ale ignoruje pasywne zyski ciepła wewnątrz pokojów.",
            pro: "Wysoki współczynnik COP pompy ciepła dzięki niskiej temperaturze zasilania.",
            proClass: "rk-color-green",
            con: "Brak reakcji na nasłonecznienie salonu. Zjawisko lokalnego przegrzewania wciąż występuje.",
            conClass: "rk-color-red",
            save: "Ok. 8 - 12% oszczędności",
            hydra: "Rozdzielacz podstawowy + zewnętrzny czujnik NTC na elewacji."
        },
        "2": {
            title: "Wariant 2: Termostaty Pokojowe (Tylko Strefy)",
            desc: "W pokojach zamontowane są <a href='https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/'>termostaty</a> zamykające przepływ, gdy zostanie osiągnięta temperatura zadana. Rozwiązuje to problem przegrzewania od słońca, ale źródło ciepła pracuje 'w ciemno' na wysokich parametrach.",
            pro: "Idealny komfort w każdym pomieszczeniu i precyzyjne odcinanie pasywnych zysków.",
            proClass: "rk-color-green",
            con: "Taktowanie pompy ciepła i niska sprawność z powodu braku informacji pogodowej.",
            conClass: "rk-color-red",
            save: "Ok. 10 - 15% oszczędności",
            hydra: "Rozdzielacz z siłownikami + listwa sterująca + wymagane sprzęgło hydrauliczne."
        },
        "3": {
            title: "Wariant 3: Pełna Hybryda (Standard Inżynierski)",
            desc: "Złoty standard. Źródło ciepła jest sterowane krzywą pogodową i optymalizowane przez <a href='https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/'>zawór mieszający</a>, a wnętrze budynku chronione jest przez inteligentne termostaty strefowe działające w pętli sprzężenia zwrotnego.",
            pro: "Maksymalny COP pompy ciepła i idealny komfort bez wahań temperatury.",
            proClass: "rk-color-green",
            con: "Najwyższy koszt inwestycyjny oraz konieczność profesjonalnego zaprojektowania hydrauliki.",
            conClass: "rk-color-gray",
            save: "Nawet do 25% oszczędności rocznie",
            hydra: "Pełna automatyka: siłowniki, czujniki pogodowe, termostaty dwukanałowe, sprzęgło/bufor."
        }
    };

    function updateDashboard(level) {
        // Zabezpieczenie przed błędem klucza
        let safeLevel = level;
        if (safeLevel !== "0") {
            if (safeLevel !== "1") {
                if (safeLevel !== "2") {
                    if (safeLevel !== "3") {
                        safeLevel = "0"; // domyślnie
                    }
                }
            }
        }
        
        const data = matrixData[safeLevel];

        // Aktualizacja tekstów
        mxTitle.innerHTML = data.title;
        mxDesc.innerHTML = data.desc;
        mxPro.innerHTML = data.pro;
        mxPro.className = "rk-stat-desc " + data.proClass;
        mxCon.innerHTML = data.con;
        mxCon.className = "rk-stat-desc " + data.conClass;
        mxSave.innerHTML = data.save;
        mxHydra.innerHTML = data.hydra;

        // Reset klas SVG
        svgSensorOut.classList.remove('rk-svg-active-green');
        svgLineOut.classList.remove('rk-svg-active-line');
        svgThermostat1.classList.remove('rk-svg-active');
        svgThermostat2.classList.remove('rk-svg-active');
        svgLine2.classList.remove('rk-svg-active-line');
        svgLine3.classList.remove('rk-svg-active-line');
        svgLine1.classList.add('rk-svg-active-line');

        // Bezpieczna logika wizualizacji SVG (bez operatorów &&)
        if (safeLevel === "1") {
            // Tylko Pogodówka
            svgSensorOut.classList.add('rk-svg-active-green');
            svgLineOut.classList.add('rk-svg-active-line');
        } else {
            if (safeLevel === "2") {
                // Tylko Termostaty
                svgThermostat1.classList.add('rk-svg-active');
                svgThermostat2.classList.add('rk-svg-active');
                svgLine2.classList.add('rk-svg-active-line');
                svgLine3.classList.add('rk-svg-active-line');
            } else {
                if (safeLevel === "3") {
                    // Hybryda (Wszystko aktywne)
                    svgSensorOut.classList.add('rk-svg-active-green');
                    svgLineOut.classList.add('rk-svg-active-line');
                    svgThermostat1.classList.add('rk-svg-active');
                    svgThermostat2.classList.add('rk-svg-active');
                    svgLine2.classList.add('rk-svg-active-line');
                    svgLine3.classList.add('rk-svg-active-line');
                }
            }
        }
    }

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Obsługa klas aktywnych na przyciskach
            btns.forEach(function(b) {
                b.classList.remove('is-active');
            });
            this.classList.add('is-active');
            
            // Pobranie i aktualizacja poziomu
            const lvl = this.getAttribute('data-level');
            updateDashboard(lvl);
        });
    });

    // Inicjalizacja stanu bazowego
    updateDashboard("0");
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-red-border: #fca5a5;
    --rk-err-gray: #64748b;
    --rk-err-gray-light: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
}

.rk-errors-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(239, 68, 68, 0.1);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

.rk-errors-header {
    padding: 40px 40px 30px;
    background: var(--rk-err-gray-light);
    border-bottom: 1px solid var(--rk-err-border);
    position: relative;
}

.rk-errors-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-err-red);
}

.rk-errors-header h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-errors-header p {
    font-size: 16px;
    color: var(--rk-err-gray);
    margin: 0;
    line-height: 1.6;
}

.rk-errors-list {
    padding: 30px 40px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-error-item {
    background: var(--rk-err-bg);
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    transition: all 0.3s ease;
}

.rk-error-item.is-open {
    border-color: var(--rk-err-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-error-trigger {
    width: 100%;
    padding: 24px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    text-align: left;
}

.rk-error-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--rk-err-gray-light);
    color: var(--rk-err-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.rk-error-item.is-open .rk-error-icon {
    background: var(--rk-err-red-light);
    color: var(--rk-err-red);
    transform: scale(1.05);
}

.rk-error-title {
    flex: 1;
}

.rk-error-title h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.rk-error-item.is-open .rk-error-title h3 {
    color: var(--rk-err-red);
}

.rk-error-chevron {
    flex-shrink: 0;
    color: var(--rk-err-gray);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-error-item.is-open .rk-error-chevron {
    transform: rotate(180deg);
    color: var(--rk-err-red);
}

.rk-error-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-error-content-inner {
    padding: 0 24px 24px 84px; /* Wcięcie odpowiadające ikonie */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-gray);
}

.rk-error-content-inner strong {
    color: var(--rk-err-dark);
    font-weight: 700;
}

.rk-error-content-inner a {
    color: var(--rk-err-blue);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--rk-err-blue);
    transition: border-color 0.2s, color 0.2s;
}

.rk-error-content-inner a:hover {
    color: var(--rk-err-dark);
    border-bottom-color: var(--rk-err-dark);
}

/* Responsywność Mobile (Zachowanie układu pionowego) */
@media (max-width: 768px) {
    .rk-errors-container { margin: 20px auto; border-radius: 16px; }
    .rk-errors-header { padding: 30px 20px; }
    .rk-errors-list { padding: 20px; }
    
    .rk-error-trigger { padding: 20px; gap: 15px; align-items: flex-start; }
    .rk-error-icon { width: 36px; height: 36px; border-radius: 10px; }
    .rk-error-icon svg { width: 20px; height: 20px; }
    
    .rk-error-title h3 { font-size: 16px; padding-top: 6px; }
    .rk-error-chevron { padding-top: 6px; }
    
    .rk-error-content-inner { padding: 0 20px 20px 20px; } /* Usunięcie wcięcia na telefonach */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Najczęściej popełniane błędy przy doborze i montażu sterowników",
    "description": "Zestawienie najgroźniejszych błędów instalacyjnych automatyki grzewczej. Sprawdź, jak błędna kalibracja algorytmów i złe rozmieszczenie czujników niszczy posadzki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-bledy",
    "name": "Katalog błędów instalacyjnych automatyki grzewczej",
    "description": "Techniczne zestawienie konsekwencji nieprawidłowego montażu komponentów automatyki ogrzewania płaszczyznowego, wpływających na efektywność układu i zużycie energii.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "montaż termostatu pokojowego",
      "uszkodzony czujnik podłogowy",
      "siłowniki normalnie zamknięte NC",
      "bezwładność cieplna podłogówki",
      "taktowanie pompy ciepła"
    ],
    "measurementTechnique": "Analiza usterek i błędów konfiguracyjnych w instalacjach płaszczyznowych oraz ich bezpośredni wpływ na parametr COP i amplitudę temperatur.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Fałszowanie odczytów przez złe umiejscowienie termostatu ściennego.",
        "Brak peszla ochronnego uniemożliwiający serwis czujnika NTC w wylewce.",
        "Konflikt logiczny przekaźników i siłowników na rozdzielaczu.",
        "Zbyt głębokie obniżenia dobowe wymuszające pracę na nieefektywnych parametrach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-bledy",
    "name": "Moduł Diagnostyki Błędów Wykonawczych",
    "description": "Interaktywny interfejs pozwalający użytkownikowi na identyfikację błędów konfiguracyjnych poprzez mechaniczną interakcję z modułami diagnostycznymi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-errors-container" id="rk-errors-app">
    <div class="rk-errors-header">
        <h2>Najczęściej popełniane błędy przy doborze i montażu sterowników</h2>
        <p>Poznaj powtarzalne potknięcia instalatorów, które drastycznie podnoszą koszty eksploatacji i prowadzą do uszkodzeń systemu grzewczego. Wybierz błąd, aby poznać jego skutki.</p>
    </div>

    <div class="rk-errors-list" id="rkErrorList">
        
        <div class="rk-error-item">
            <button class="rk-error-trigger" aria-expanded="false">
                <div class="rk-error-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                <div class="rk-error-title">
                    <h3>Montaż termostatu pokojowego w niewłaściwym miejscu</h3>
                </div>
                <div class="rk-error-chevron">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-error-content">
                <div class="rk-error-content-inner">
                    Umieszczenie sterownika na ścianie zewnętrznej (wychłodzonej), w bezpośrednim zasięgu promieni słonecznych lub nad źródłem ciepła (np. nad lodówką lub obok telewizora). <strong>Skutkuje to fałszowaniem odczytów</strong> i wyłączaniem ogrzewania w całym domu, mimo drastycznego niedogrzania pozostałych stref. Zobacz inne <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy przy montażu</a>.
                </div>
            </div>
        </div>

        <div class="rk-error-item">
            <button class="rk-error-trigger" aria-expanded="false">
                <div class="rk-error-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-error-title">
                    <h3>Brak peszli ochronnych dla czujników podłogowych</h3>
                </div>
                <div class="rk-error-chevron">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-error-content">
                <div class="rk-error-content-inner">
                    Zabetonowanie <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">czujnika podłogowego</a> NTC bezpośrednio w jastrychu to błąd krytyczny. W przypadku awarii elementu półprzewodnikowego wymiana czujnika jest niemożliwa bez kucia wylewki i całkowitego zniszczenia posadzki. Czujnik musi być zawsze wprowadzony w gładki peszel zakończony specjalną mosiężną zaślepką, ułatwiającą jego bezinwazyjną wymianę.
                </div>
            </div>
        </div>

        <div class="rk-error-item">
            <button class="rk-error-trigger" aria-expanded="false">
                <div class="rk-error-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                </div>
                <div class="rk-error-title">
                    <h3>Łączenie niedopasowanych siłowników (NC/NO) z listwą</h3>
                </div>
                <div class="rk-error-chevron">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-error-content">
                <div class="rk-error-content-inner">
                    Montaż <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> normalnie otwartych (NO) do listwy skonfigurowanej pod siłowniki normalnie zamknięte (NC). <strong>Powoduje to całkowite odwrócenie logiki systemu</strong> – gdy termostat wykryje, że pokój wymaga grzania, listwa odcina przepływ, a podłoga zaczyna intensywnie stygnąć.
                </div>
            </div>
        </div>

        <div class="rk-error-item">
            <button class="rk-error-trigger" aria-expanded="false">
                <div class="rk-error-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                <div class="rk-error-title">
                    <h3>Harmonogramy dobowe o zbyt dużej amplitudzie</h3>
                </div>
                <div class="rk-error-chevron">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-error-content">
                <div class="rk-error-content-inner">
                    Programowanie obniżeń temperatury o 3°C do 4°C na czas 8-godzinnej obecności w pracy mija się z celem. Przez <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a>, podłoga wychłodzi się dopiero pod koniec nieobecności, a ponowne jej nagrzanie zajmie kolejne 5-8 godzin. Zmusza to pompę ciepła do pracy na skrajnie wysokich parametrach zasilania, co <strong>drastycznie obniża jej sprawność (COP)</strong>. Maksymalne zalecane obniżenie temperatur przy podłogówce wynosi od 1,0°C do 1,5°C.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const errorItems = document.querySelectorAll('.rk-error-item');

    errorItems.forEach(function(item) {
        const triggerBtn = item.querySelector('.rk-error-trigger');
        const contentDiv = item.querySelector('.rk-error-content');

        triggerBtn.addEventListener('click', function() {
            // Czysta, bezpieczna logika (bez operatorów '&&')
            
            // Jeśli aktualnie kliknięty element jest otwarty - zamknij go
            if (item.classList.contains('is-open')) {
                item.classList.remove('is-open');
                triggerBtn.setAttribute('aria-expanded', 'false');
                contentDiv.style.maxHeight = null;
            } else {
                // Najpierw zwiń wszystkie inne rozwinięte elementy
                errorItems.forEach(function(otherItem) {
                    if (otherItem !== item) {
                        if (otherItem.classList.contains('is-open')) {
                            otherItem.classList.remove('is-open');
                            otherItem.querySelector('.rk-error-trigger').setAttribute('aria-expanded', 'false');
                            otherItem.querySelector('.rk-error-content').style.maxHeight = null;
                        }
                    }
                });
                
                // Następnie rozwiń kliknięty element
                item.classList.add('is-open');
                triggerBtn.setAttribute('aria-expanded', 'true');
                contentDiv.style.maxHeight = contentDiv.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-blue-light: #f0f9ff;
    --rk-case-gray: #475569;
    --rk-case-gray-light: #f8fafc;
    --rk-case-bg: #ffffff;
    --rk-case-border: #e2e8f0;
    --rk-case-accent: #38bdf8;
}

.rk-case-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.08);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
}

.rk-case-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-case-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-case-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.rk-case-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.2);
    color: var(--rk-case-accent);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.rk-case-body {
    padding: 40px 50px;
    background: var(--rk-case-gray-light);
}

/* Oś czasu konsultacji (Timeline) */
.rk-case-timeline {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
}

.rk-case-timeline::before {
    content: '';
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 28px;
    width: 2px;
    background: var(--rk-case-border);
    z-index: 1;
}

/* Pojedynczy blok dialogu */
.rk-case-block {
    display: flex;
    gap: 20px;
    position: relative;
    z-index: 2;
}

/* Awatary */
.rk-case-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 900;
    font-size: 20px;
    border: 4px solid var(--rk-case-gray-light);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-avatar-client {
    background: #ffffff;
    color: var(--rk-case-gray);
    border-color: #ffffff;
}

.rk-avatar-expert {
    background: var(--rk-case-blue);
    color: #ffffff;
}

/* Dymki (Bubbles) */
.rk-case-bubble {
    flex: 1;
    background: var(--rk-case-bg);
    padding: 25px 30px;
    border-radius: 0 20px 20px 20px;
    border: 1px solid var(--rk-case-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-case-bubble-expert {
    background: var(--rk-case-blue-light);
    border-color: rgba(2, 132, 199, 0.2);
    border-radius: 20px 0 20px 20px;
}

.rk-case-meta {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-gray);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-case-meta span {
    color: var(--rk-case-blue);
}

.rk-case-text {
    font-size: 15px;
    color: var(--rk-case-dark);
    line-height: 1.7;
    margin: 0;
}

.rk-case-text a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny przycisk odsłaniania */
.rk-case-reveal-wrapper {
    margin-top: 15px;
}

.rk-case-reveal-btn {
    background: var(--rk-case-dark);
    color: #ffffff;
    border: none;
    padding: 12px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

.rk-case-reveal-btn:hover {
    background: var(--rk-case-blue);
    transform: translateY(-2px);
}

.rk-case-reveal-btn svg {
    transition: transform 0.3s;
}

.rk-case-reveal-btn.is-opened svg {
    transform: rotate(180deg);
}

/* Ukryta odpowiedź eksperta */
.rk-case-hidden-response {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
}

.rk-case-hidden-response.is-visible {
    opacity: 1;
}

@media (max-width: 768px) {
    .rk-case-container { margin: 20px auto; border-radius: 16px; }
    .rk-case-header, .rk-case-body { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 24px; }
    
    .rk-case-timeline::before { left: 24px; }
    .rk-case-block { gap: 15px; }
    
    .rk-case-avatar { width: 48px; height: 48px; font-size: 16px; border-width: 3px; }
    .rk-case-bubble { padding: 20px; border-radius: 16px; }
    .rk-case-bubble-expert { border-radius: 16px; } /* Na mobile unifikujemy rogi dymków */
    
    .rk-case-text { font-size: 14px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Studium przypadku: Agnieszka z Warszawy pyta, czy warto oszczędzać na sterownikach",
    "description": "Zapis autentycznej konsultacji inżynieryjnej. Rozwiewamy mity instalatorów dotyczące oszczędzania na automatyce strefowej przy pompie ciepła w nowo budowanym domu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-casestudy",
    "name": "Analiza merytoryczna doradztwa technicznego w ogrzewaniu płaszczyznowym",
    "description": "Zestawienie twardych argumentów inżynieryjnych przeciwko pozornym oszczędnościom inwestycyjnym na etapie doboru automatyki źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy pompa ciepła poradzi sobie bez sterowników",
      "krzywa grzewcza a zyski słoneczne",
      "niezależne termostaty warszawa",
      "błędy instalatorów pomp ciepła",
      "projekt instalacji ogrzewania podłogowego"
    ],
    "measurementTechnique": "Jakościowa ocena wpływu pasywnych zysków bytowych na efektywność systemu sterowanego wyłącznie krzywą pogodową względem logiki strefowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Oparcie sterowania wyłącznie na czujniku zewnętrznym skutkuje przegrzewaniem wnętrz pod wpływem słońca i sprzętów domowych.",
        "Zjawisko przegrzewania stanowi bezpośrednie ryzyko dla stabilności wymiarowej posadzek winylowych i warstwowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-casestudy",
    "name": "Dziennik Konsultacji Inżynieryjnej",
    "description": "Interaktywny interfejs typu 'Timeline' przeprowadzający użytkownika przez proces zbijania mitów wykonawczych i diagnozy problemów projektowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-case-app">
    <div class="rk-case-header">
        <div class="rk-case-header-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Studium Przypadku
        </div>
        <h2>Agnieszka z Warszawy pyta, czy warto oszczędzać na sterownikach</h2>
        <p>Codziennie otrzymuję podobne wiadomości. Inwestorzy są celowo wprowadzani w błąd przez instalatorów, którzy szukają łatwiejszego montażu kosztem Twojego portfela. Zobacz zapis autentycznej konsultacji.</p>
    </div>

    <div class="rk-case-body">
        <div class="rk-case-timeline">
            
            <div class="rk-case-block">
                <div class="rk-case-avatar rk-avatar-client">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                </div>
                <div class="rk-case-bubble">
                    <div class="rk-case-meta">Inwestorka <span>Agnieszka</span> (Dom 120m², Warszawa)</div>
                    <p class="rk-case-text">
                        Panie Robercie, budujemy dom. Nasz instalator stwierdził, że skoro mamy pompę ciepła, to ona "sama sobie poradzi" krzywą grzewczą. Twierdzi, że montowanie osobnych termostatów do salonu i sypialni to zbędny wydatek rzędu 3000 zł i tylko psuje sprawność pompy. Czy faktycznie powinnam z tego zrezygnować na rzecz oszczędności?
                    </p>
                    
                    <div class="rk-case-reveal-wrapper">
                        <button class="rk-case-reveal-btn" id="btnReveal1" aria-expanded="false">
                            Pokaż odpowiedź eksperta
                            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                        </button>
                    </div>
                </div>
            </div>

            <div class="rk-case-hidden-response" id="response1">
                <div class="rk-case-block">
                    <div class="rk-case-avatar rk-avatar-expert">RK</div>
                    <div class="rk-case-bubble rk-case-bubble-expert">
                        <div class="rk-case-meta">Specjalista HVAC <span>Robert Kucharski</span></div>
                        <p class="rk-case-text" style="margin-bottom: 15px;">
                            Pani Agnieszko, instalator proponuje rozwiązanie najwygodniejsze dla niego, nie dla Pani. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> oparta wyłącznie na czujniku pogodowym wie tylko to, jaka jest temperatura na zewnątrz. Nie ma pojęcia, co dzieje się w budynku.
                        </p>
                        <p class="rk-case-text" style="margin-bottom: 15px;">
                            Jeśli w słoneczny, zimowy dzień do salonu przez duże okna wpadnie słońce, zaczną działać <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">pasywne zyski ciepła</a>. Temperatura w salonie skoczy do 25°C, a pompa nadal będzie tłoczyć ciepłą wodę do podłogi, bo na dworze jest mróz. Efekt? Gigantyczne przegrzanie wnętrza, marnowanie drogiego prądu, a w przypadku <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">paneli winylowych</a> – ryzyko rozeschnięcia się zamków od temperatury posadzki przekraczającej 27°C.
                        </p>
                        <p class="rk-case-text">
                            Te 3000 zł to nie "zbędny wydatek", to jednorazowa inwestycja, która zapobiegnie wyrzucaniu w błoto setek złotych co sezon. Solidny <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">projekt instalacji</a> musi zakładać automatykę strefową, połączoną przez bufor lub sprzęgło, aby odsprzęgnąć hydraulicznie pompę od zamykających się pętli.
                        </p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnReveal = document.getElementById('btnReveal1');
    const responsePanel = document.getElementById('response1');

    btnReveal.addEventListener('click', function() {
        // Bezpieczne przełączanie bez użycia operatorów logicznych &&
        
        let isExpanded = btnReveal.getAttribute('aria-expanded');

        if (isExpanded === 'false') {
            // Otwieranie
            btnReveal.setAttribute('aria-expanded', 'true');
            btnReveal.classList.add('is-opened');
            responsePanel.classList.add('is-visible');
            
            // Dynamiczne obliczenie wysokości dla animacji max-height
            let scrollHeight = responsePanel.scrollHeight;
            responsePanel.style.maxHeight = scrollHeight + "px";
            
            // Zmiana tekstu
            btnReveal.innerHTML = `Ukryj odpowiedź <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
            
        } else {
            // Zamykanie
            btnReveal.setAttribute('aria-expanded', 'false');
            btnReveal.classList.remove('is-opened');
            responsePanel.classList.remove('is-visible');
            
            responsePanel.style.maxHeight = "0px";
            
            // Zmiana tekstu
            btnReveal.innerHTML = `Pokaż odpowiedź eksperta <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
        }
    });
});
</script>



<style>
:root {
    --rk-eeat-dark: #0f172a;
    --rk-eeat-card: #1e293b;
    --rk-eeat-blue: #0284c7;
    --rk-eeat-text: #cbd5e1;
    --rk-eeat-bg: #ffffff;
    --rk-eeat-border: #e2e8f0;
    --rk-eeat-gold: #eab308;
}

.rk-eeat-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-eeat-bg);
    border-radius: 0;
    border: 2px solid var(--rk-eeat-dark);
}

.rk-eeat-header {
    padding: 30px 40px;
    background: var(--rk-eeat-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-eeat-blue);
}

.rk-eeat-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-eeat-body {
    display: flex;
    padding: 0;
}

/* Sidebar z autorem */
.rk-eeat-sidebar {
    width: 280px;
    background: var(--rk-eeat-card);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-right: 1px solid var(--rk-eeat-border);
}

.rk-eeat-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--rk-eeat-blue);
    margin-bottom: 20px;
}

.rk-eeat-name {
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 5px 0;
}

.rk-eeat-role {
    font-size: 13px;
    color: var(--rk-eeat-blue);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-eeat-socials {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

.rk-eeat-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #334155;
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
}

.rk-eeat-social-link:hover {
    background: var(--rk-eeat-blue);
}

/* Panel główny */
.rk-eeat-content {
    flex: 1;
    background: var(--rk-eeat-bg);
    display: flex;
    flex-direction: column;
}

.rk-eeat-tabs {
    display: flex;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-eeat-border);
}

.rk-eeat-tab-btn {
    flex: 1;
    padding: 20px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    text-transform: uppercase;
}

.rk-eeat-tab-btn.is-active {
    color: var(--rk-eeat-dark);
    border-bottom-color: var(--rk-eeat-blue);
    background: var(--rk-eeat-bg);
}

.rk-eeat-tab-panels {
    padding: 40px;
}

.rk-eeat-panel {
    display: none;
}

.rk-eeat-panel.is-active {
    display: block;
}

/* Cytat / Treść */
.rk-eeat-quote-box {
    position: relative;
}

.rk-eeat-quote-icon {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 60px;
    height: 60px;
    color: #f1f5f9;
    z-index: 1;
}

.rk-eeat-quote-text {
    position: relative;
    z-index: 2;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.5;
    color: var(--rk-eeat-dark);
    margin: 0 0 20px 0;
    font-style: italic;
}

.rk-eeat-text-norm {
    font-size: 15px;
    color: #475569;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-eeat-text-norm a {
    color: var(--rk-eeat-blue);
    font-weight: 700;
    text-decoration: underline;
}

/* Listy E-E-A-T - Zoptymalizowany Layout i Typografia */
.rk-eeat-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-eeat-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
}

.rk-eeat-list svg {
    flex-shrink: 0;
    color: var(--rk-eeat-blue);
    margin-top: 2px;
}

.rk-eeat-list-text {
    font-size: 15.5px;
    color: var(--rk-eeat-dark);
    font-weight: 500;
    line-height: 1.6;
}

.rk-eeat-list-text a {
    color: var(--rk-eeat-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-eeat-blue);
    transition: border-color 0.2s, color 0.2s;
}

.rk-eeat-list-text a:hover {
    color: var(--rk-eeat-dark);
    border-bottom-color: var(--rk-eeat-dark);
}

@media (max-width: 768px) {
    .rk-eeat-container { margin: 20px auto; border-radius: 0; border-width: 1px; }
    .rk-eeat-header { padding: 20px; }
    .rk-eeat-header h2 { font-size: 22px; }
    .rk-eeat-body { flex-direction: column; }
    .rk-eeat-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-eeat-border); padding: 30px 20px; }
    .rk-eeat-tabs { flex-direction: column; }
    .rk-eeat-tab-btn { border-bottom: none; border-left: 4px solid transparent; text-align: left; padding: 15px 20px; border-top: 1px solid var(--rk-eeat-border); }
    .rk-eeat-tab-btn.is-active { border-left-color: var(--rk-eeat-blue); }
    .rk-eeat-tab-panels { padding: 25px 20px; }
    .rk-eeat-quote-text { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-eeat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o opłacalności sterowników strefowych",
    "description": "Podsumowanie inżynieryjne opłacalności systemów automatyki strefowej. Analiza zysków i weryfikacja kompetencji eksperckich (E-E-A-T).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "CEO & Specjalista HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-eeat",
    "name": "Kwalifikacje i macierz autorytetu autora (E-E-A-T)",
    "description": "Zbiór danych weryfikujących kompetencje inżynieryjne autora w zakresie systemów grzewczych, OZC i automatyki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowanie instalacji wodnych podłogówka",
      "audyt OZC ogrzewania",
      "robert kucharski specjalista hvac",
      "weryfikacja kompetencji instalatora",
      "projekt ogrzewania z pompą ciepła"
    ],
    "measurementTechnique": "Jakościowa ocena autorytetu domeny na podstawie ponad 1000 zrealizowanych projektów instalacji płaszczyznowych i dziesiątek tysięcy unikalnych czytelników.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ponad 1000 pomyślnie zrealizowanych i zweryfikowanych projektów instalacji ogrzewania podłogowego.",
        "Kompleksowe wykonywanie obiektywnych audytów cieplnych OZC zgodnych z aktualnymi polskimi normami budowlanymi."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-eeat",
    "name": "Panel Weryfikacji Autorytetu (E-E-A-T)",
    "description": "Interaktywny interfejs profilu eksperta, umożliwiający weryfikację twardych danych kompetencyjnych i autorytetu autora publikacji.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-eeat-container" id="rk-eeat-app">
    <div class="rk-eeat-header">
        <h2>Zdaniem eksperta: Robert Kucharski o opłacalności sterowników strefowych</h2>
    </div>

    <div class="rk-eeat-body">
        
        <div class="rk-eeat-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC" class="rk-eeat-photo">
            <h3 class="rk-eeat-name">Robert Kucharski</h3>
            <div class="rk-eeat-role">Specjalista HVAC / CEO</div>
            
            <div class="rk-eeat-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-eeat-social-link" target="_blank" rel="noopener noreferrer" aria-label="Facebook Projekt Ogrzewania">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-eeat-social-link" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn Robert Kucharski">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://x.com/Projekt_HVAC" class="rk-eeat-social-link" target="_blank" rel="noopener noreferrer" aria-label="X Projekt HVAC">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4l11.733 16h4.267l-11.733 -16z"></path><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772"></path></svg>
                </a>
            </div>
        </div>

        <div class="rk-eeat-content">
            
            <div class="rk-eeat-tabs" id="rkTabsContainer">
                <button class="rk-eeat-tab-btn is-active" data-target="panel-quote">Konkluzja Artykułu</button>
                <button class="rk-eeat-tab-btn" data-target="panel-cred">Autorytet i E-E-A-T</button>
            </div>

            <div class="rk-eeat-tab-panels">
                
                <div class="rk-eeat-panel is-active" id="panel-quote">
                    <div class="rk-eeat-quote-box">
                        <svg class="rk-eeat-quote-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/></svg>
                        <p class="rk-eeat-quote-text">
                            Ogrzewanie podłogowe bez automatyki strefowej to jak luksusowy samochód z potężnym silnikiem, ale pozbawiony kierownicy. Wytwarza ogromną moc, nad którą nie masz żadnej kontroli.
                        </p>
                        <p class="rk-eeat-text-norm">
                            W moich wyliczeniach technicznych jednoznacznie widać, że opieranie się wyłącznie na krzywej grzewczej pompy ciepła to droga do przegrzewania wnętrz. Brak precyzyjnych sterowników drastycznie obniża COP układu i niszczy portfel inwestora. Dobra automatyka to nie koszt, to fundament <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulacji strat ciepła</a>.
                        </p>
                    </div>
                </div>

                <div class="rk-eeat-panel" id="panel-cred">
                    <p class="rk-eeat-text-norm" style="margin-bottom: 25px;">
                        Treści techniczne na portalu są wynikiem twardej praktyki inżynieryjnej. Unikam akademickich teorii na rzecz namacalnych dowodów projektowych.
                    </p>
                    <ul class="rk-eeat-list">
                        <li>
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                            <span class="rk-eeat-list-text">Ponad 1000 sprojektowanych i zoptymalizowanych instalacji płaszczyznowych w domach jednorodzinnych.</span>
                        </li>
                        <li>
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                            <span class="rk-eeat-list-text">Twórca autorskich narzędzi do <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a> i audytów hydraulicznych.</span>
                        </li>
                        <li>
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                            <span class="rk-eeat-list-text">Lider merytoryczny wspierający miesięcznie dziesiątki tysięcy inwestorów szukających rozwiązań bez ściemy.</span>
                        </li>
                    </ul>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-eeat-tab-btn');
    const panels = document.querySelectorAll('.rk-eeat-panel');

    tabBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Twarde, statyczne przełączanie tabów. Brak animacji i brak &&
            const targetId = this.getAttribute('data-target');
            
            // Czyszczenie klas aktywnych
            tabBtns.forEach(function(b) {
                b.classList.remove('is-active');
            });
            
            panels.forEach(function(p) {
                p.classList.remove('is-active');
            });

            // Aktywacja wybranego
            this.classList.add('is-active');
            
            const activePanel = document.getElementById(targetId);
            if (activePanel) {
                activePanel.classList.add('is-active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #f0f9ff;
    --rk-faq-gray-text: #475569;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
    --rk-faq-hover: #f8fafc;
}

.rk-faq-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: transparent;
}

.rk-faq-header {
    margin-bottom: 30px;
    padding-left: 20px;
    border-left: 5px solid var(--rk-faq-blue);
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-faq-header p {
    font-size: 16px;
    color: var(--rk-faq-gray-text);
    margin: 0;
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.1);
}

.rk-faq-question {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    transition: background-color 0.3s ease;
}

.rk-faq-question:hover {
    background-color: var(--rk-faq-hover);
}

.rk-faq-question h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.rk-faq-item.active .rk-faq-question h3 {
    color: var(--rk-faq-blue);
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-faq-blue-light);
    color: var(--rk-faq-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s;
}

.rk-faq-item.active .rk-faq-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-faq-bg);
}

.rk-faq-answer-inner {
    padding: 0 30px 30px 30px;
    font-size: 15px;
    color: var(--rk-faq-gray-text);
    line-height: 1.7;
    border-top: 1px solid transparent;
}

.rk-faq-item.active .rk-faq-answer-inner {
    border-top-color: var(--rk-faq-blue-light);
    padding-top: 20px;
    margin-top: 5px;
}

.rk-faq-answer-inner a {
    color: var(--rk-faq-blue);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: all 0.2s;
}

.rk-faq-answer-inner a:hover {
    color: var(--rk-faq-dark);
    border-bottom-color: var(--rk-faq-dark);
}

/* Elementy uatrakcyjniające odpowiedź */
.rk-faq-highlight {
    display: inline-block;
    background: var(--rk-faq-blue-light);
    padding: 2px 8px;
    border-radius: 6px;
    color: var(--rk-faq-blue);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-faq-container { margin: 20px auto; }
    .rk-faq-question { padding: 20px; }
    .rk-faq-answer-inner { padding: 0 20px 20px 20px; }
    .rk-faq-question h3 { font-size: 16px; }
    .rk-faq-header h2 { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najważniejsze pytania dotyczące automatyki podłogówki",
    "description": "Błyskawiczne odpowiedzi na najczęstsze pytania inwestorów dotyczące sterowników strefowych, siłowników NC/NO oraz bezprzewodowego sterowania instalacją.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy sterowniki podłogówki naprawdę zmniejszają rachunki za ogrzewanie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, automatyka strefowa eliminuje przegrzewanie pomieszczeń spowodowane zyskami ciepła (nasłonecznienie, urządzenia, rekuperacja), co w polskich warunkach klimatycznych pozwala zmniejszyć roczne zużycie energii na cele grzewcze o 15% do 25%."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w każdym pomieszczeniu muszę instalować osobny termostat?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie jest to bezwzględnie wymagane, ale montaż oddzielnych sterowników w każdej strefie (np. osobno łazienka, sypialnia, salon) zapewnia najwyższy komfort i maksymalne oszczędności eksploatacyjne, dopasowując temperaturę do funkcji danego pokoju."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa ciepła potrzebuje sterowników pokojowych do podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ponieważ sama krzywa grzewcza pompy ciepła reaguje wyłącznie na temperaturę zewnętrzną i nie wie, co dzieje się wewnątrz budynku (np. zyski od kominka czy nasłonecznienia salonu), co bez automatyki strefowej prowadzi do przegrzewania wnętrz."
        }
      },
      {
        "@type": "Question",
        "name": "Czym różnią się siłowniki termoelektryczne NC od NO?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Siłowniki typu NC (Normalnie Zamknięte) bez dopływu prądu blokują przepływ wody w pętli, natomiast siłowniki NO (Normalnie Otwarte) w stanie bezprądowym pozostają w pełni otwarte; w budownictwie mieszkaniowym standardem są bezpieczniejsze siłowniki NC."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można zamontować sterowanie bezprzewodowe po wykonaniu tynków i wylewek?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, systemy bezprzewodowe oparte o protokół komunikacyjny ZigBee lub częstotliwość 868 MHz zostały zaprojektowane specjalnie do montażu w wykończonych budynkach, eliminując konieczność kucia ścian pod przewody sterujące."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Akordeon Bazy Wiedzy HVAC",
    "description": "Aplikacyjny interfejs użytkownika służący do szybkiego wyszukiwania i rozwijania ukrytych technicznych odpowiedzi dotyczących systemów ogrzewania płaszczyznowego.",
    "applicationCategory": "BrowserApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-faq-keywords",
    "name": "Dane optymalizacyjne FAQ",
    "description": "Niewidoczna warstwa semantyczna łącząca encje i słowa kluczowe wykorzystywane w algorytmach sterowania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "siłowniki termoelektryczne NC i NO",
      "oszczędności na ogrzewaniu podłogowym",
      "bezprzewodowe sterowanie podłogówką",
      "termostat pokojowy a pompa ciepła",
      "termostaty w każdym pokoju"
    ],
    "measurementTechnique": "Algorytmiczne dopasowanie intencji wyszukiwania (Search Intent) do krótkich, normatywnych odpowiedzi inżynierskich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Definicja różnic siłowników na rozdzielaczach",
        "Zależności krzywej grzewczej i zysków pasywnych"
      ]
    }
  }
]
</script>

<div class="rk-faq-container" id="faq-app-section">
    <div class="rk-faq-header">
        <h2>FAQ – Najważniejsze pytania dotyczące automatyki podłogówki</h2>
        <p>Szybkie odpowiedzi na dylematy inwestycyjne bez lania wody.</p>
    </div>

    <div class="rk-faq-list" id="rkFaqAccordion">
        
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy sterowniki podłogówki naprawdę zmniejszają rachunki za ogrzewanie?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, automatyka strefowa eliminuje przegrzewanie pomieszczeń spowodowane zyskami ciepła (nasłonecznienie, urządzenia, <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja</a>), co w polskich warunkach klimatycznych pozwala zmniejszyć roczne zużycie energii na cele grzewcze o <span class="rk-faq-highlight">15% do 25%</span>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy w każdym pomieszczeniu muszę instalować osobny termostat?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Nie jest to bezwzględnie wymagane, ale montaż oddzielnych sterowników w każdej strefie (np. osobno łazienka, sypialnia, salon) zapewnia najwyższy komfort i maksymalne oszczędności eksploatacyjne, precyzyjnie dopasowując temperaturę do specyficznej funkcji danego pokoju.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy pompa ciepła potrzebuje sterowników pokojowych do podłogówki?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, ponieważ sama <a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">krzywa grzewcza pompy ciepła</a> reaguje wyłącznie na temperaturę zewnętrzną i nie wie, co dzieje się wewnątrz budynku (np. zyski od kominka czy nasłonecznienia salonu), co bez automatyki strefowej prowadzi do trwałego przegrzewania wnętrz.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czym różnią się siłowniki termoelektryczne NC od NO?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">Siłowniki typu NC</a> (Normalnie Zamknięte) bez dopływu prądu fizycznie blokują przepływ wody w pętli. Natomiast siłowniki NO (Normalnie Otwarte) w stanie bezprądowym pozostają w pełni otwarte. W polskim budownictwie mieszkaniowym standardem inżynierskim są bezpieczniejsze siłowniki NC.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy można zamontować sterowanie bezprzewodowe po wykonaniu tynków?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, systemy bezprzewodowe oparte o protokół komunikacyjny ZigBee lub częstotliwość radiową 868 MHz zostały zaprojektowane specjalnie do montażu w wykończonych lub <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">modernizowanych budynkach</a>, co całkowicie eliminuje konieczność kucia ścian pod nowe przewody sterujące.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-faq-item');

    faqItems.forEach(function(item) {
        const questionBtn = item.querySelector('.rk-faq-question');
        const answerDiv = item.querySelector('.rk-faq-answer');

        questionBtn.addEventListener('click', function() {
            // Logika bez użycia "&&"
            
            // Sprawdź, czy aktualny element jest już otwarty
            if (item.classList.contains('active')) {
                // Jeśli tak, zamknij go
                item.classList.remove('active');
                questionBtn.setAttribute('aria-expanded', 'false');
                answerDiv.style.maxHeight = null;
            } else {
                // Jeśli nie, najpierw zamknij wszystkie inne otwarte
                faqItems.forEach(function(otherItem) {
                    if (otherItem !== item) {
                        otherItem.classList.remove('active');
                        otherItem.querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
                        otherItem.querySelector('.rk-faq-answer').style.maxHeight = null;
                    }
                });
                
                // Następnie otwórz aktualnie kliknięty
                item.classList.add('active');
                questionBtn.setAttribute('aria-expanded', 'true');
                answerDiv.style.maxHeight = answerDiv.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-card: #1e293b;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-hover: #0369a1;
    --rk-dl-red: #ef4444;
    --rk-dl-red-hover: #dc2626;
    --rk-dl-gray: #475569;
    --rk-dl-gray-light: #f1f5f9;
    --rk-dl-bg: #ffffff;
    --rk-dl-border: #cbd5e1;
}

.rk-dl-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border: 2px solid var(--rk-dl-dark);
    /* Brak border-radius dla surowego, technicznego wyglądu */
}

.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
}

.rk-dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-dl-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.6;
}

.rk-dl-body {
    padding: 40px;
    display: flex;
    gap: 40px;
    align-items: stretch;
}

/* Sekcja Miniatury (Lewa) */
.rk-dl-preview-col {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.rk-dl-thumb-box {
    border: 1px solid var(--rk-dl-border);
    background: var(--rk-dl-gray-light);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 280px;
    position: relative;
    cursor: pointer;
}

.rk-dl-thumb-box:hover {
    border-color: var(--rk-dl-blue);
}

.rk-dl-img {
    max-width: 100%;
    max-height: 350px;
    object-fit: contain;
    border: 1px solid var(--rk-dl-border);
}

.rk-dl-zoom-icon {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

/* Sekcja Akcji (Prawa) */
.rk-dl-action-col {
    flex: 1.2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-action-col h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
}

.rk-dl-desc {
    font-size: 15px;
    color: var(--rk-dl-gray);
    line-height: 1.7;
    margin: 0 0 25px 0;
}

/* Przyciski (Brak animacji, natychmiastowa reakcja) */
.rk-dl-btn-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-dl-btn-pdf {
    background: var(--rk-dl-red);
    color: #ffffff;
    border: 2px solid var(--rk-dl-red);
}

.rk-dl-btn-pdf:hover {
    background: var(--rk-dl-red-hover);
    border-color: var(--rk-dl-red-hover);
}

.rk-dl-btn-img {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

.rk-dl-btn-img:hover {
    background: var(--rk-dl-blue-hover);
    border-color: var(--rk-dl-blue-hover);
}

/* Stopka Prawa Autorskie */
.rk-dl-footer {
    background: var(--rk-dl-gray-light);
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 40px;
    font-size: 12px;
    color: var(--rk-dl-gray);
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
}

.rk-dl-footer strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
}

/* Prosty wbudowany podgląd (zamiast modal window dla zachowania stabilności SEO) */
.rk-dl-full-view {
    display: none;
    padding: 20px;
    background: var(--rk-dl-gray-light);
    border-top: 1px solid var(--rk-dl-border);
    text-align: center;
}

.rk-dl-full-view.is-open {
    display: block;
}

.rk-dl-full-img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--rk-dl-dark);
}

@media (max-width: 768px) {
    .rk-dl-container { margin: 20px auto; border-left: none; border-right: none; }
    .rk-dl-header, .rk-dl-footer { padding: 20px; }
    .rk-dl-header h2 { font-size: 22px; }
    .rk-dl-body { flex-direction: column; padding: 20px; gap: 30px; }
    .rk-dl-thumb-box { min-height: 200px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Kompendium wiedzy: Pobierz darmową infografikę do druku",
    "description": "Zapisz na dysku schemat i wizualne podsumowanie opłacalności sterowników strefowych. Gotowa ściągawka dla inwestora w formacie PDF i WebP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Infografika techniczna: Opłacalność automatyki podłogówki",
    "description": "Zestawienie wizualne i zbiór danych technicznych dostępny w formacie PDF do celów edukacyjnych i konsultacyjnych na budowie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "czy warto montować sterowniki podłogówki pdf",
      "schemat sterowania ogrzewaniem podłogowym",
      "darmowe materiały hvac do pobrania",
      "robert kucharski projekt ogrzewania pdf"
    ],
    "measurementTechnique": "Ekstrakcja wiedzy inżynieryjnej i wskaźników ROI do formy graficznej i dokumentu ustrukturyzowanego (PDF).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik wektorowy PDF gotowy do druku i prezentacji.",
        "Kompresowana mapa bitowa WebP zoptymalizowana do wyświetlania na urządzeniach mobilnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-infografika",
    "name": "Repozytorium Plików i Przeglądarka Grafik",
    "description": "Interfejs interaktywny umożliwiający szybki podgląd technicznych infografik oraz zarządzanie pobieraniem dokumentacji w formacie PDF.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-dl-app">
    <div class="rk-dl-header">
        <h2>Kompendium wiedzy: Pobierz darmową infografikę</h2>
        <p>Wizualne podsumowanie całego artykułu. Pobierz dokumentację, zabierz ją na budowę i pokaż swojemu instalatorowi, jak powinien wyglądać inżynierski standard.</p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview-col">
            <div class="rk-dl-thumb-box" id="rkThumbTrigger">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego.webp" alt="Miniatura: Infografika sterowniki do ogrzewania podłogowego" class="rk-dl-img">
                <div class="rk-dl-zoom-icon">Kliknij, aby rozwinąć</div>
            </div>
        </div>

        <div class="rk-dl-action-col">
            <h3>Wybierz format materiałów</h3>
            <p class="rk-dl-desc">
                Przygotowałem to podsumowanie w dwóch formatach. Wersja PDF jest idealna do druku w wysokiej jakości, natomiast szybki podgląd graficzny świetnie sprawdzi się na ekranie Twojego smartfona.
            </p>
            
            <div class="rk-dl-btn-group">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego.pdf" download="Infografika-Sterowniki-Podlogowka.pdf" target="_blank" rel="noopener noreferrer" class="rk-dl-btn rk-dl-btn-pdf">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                    Pobierz plik PDF
                </a>
                
                <button type="button" class="rk-dl-btn rk-dl-btn-img" id="rkBtnPreview">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                    Powiększ obraz
                </button>
            </div>
        </div>

    </div>

    <div class="rk-dl-full-view" id="rkFullView">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego.webp" alt="Pełna Infografika: Czy warto montować sterowniki" class="rk-dl-full-img" loading="lazy">
    </div>

    <div class="rk-dl-footer">
        <strong>&copy; 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong><br>
        Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez jakiejkolwiek modyfikacji pliku bazowego.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const thumbTrigger = document.getElementById('rkThumbTrigger');
    const btnPreview = document.getElementById('rkBtnPreview');
    const fullView = document.getElementById('rkFullView');
    
    // Brak operatorów && - czyste instrukcje warunkowe
    function togglePreview() {
        if (fullView.classList.contains('is-open')) {
            fullView.classList.remove('is-open');
            btnPreview.innerHTML = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg> Powiększ obraz';
        } else {
            fullView.classList.add('is-open');
            btnPreview.innerHTML = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg> Ukryj obraz';
        }
    }

    thumbTrigger.addEventListener('click', togglePreview);
    btnPreview.addEventListener('click', togglePreview);
});
</script>



<style>
:root {
    --rk-sum-dark: #0f172a;
    --rk-sum-blue: #0284c7;
    --rk-sum-light-blue: #f0f9ff;
    --rk-sum-green: #10b981;
    --rk-sum-green-light: #dcfce7;
    --rk-sum-red: #ef4444;
    --rk-sum-red-light: #fef2f2;
    --rk-sum-gold: #eab308;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

.rk-invest-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-sum-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-sum-blue);
    overflow: hidden;
}

.rk-invest-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-sum-dark) 100%);
    color: #ffffff;
}

.rk-invest-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-invest-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-invest-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Toggle Switch Design */
.rk-toggle-wrapper {
    display: flex;
    background: var(--rk-sum-border);
    border-radius: 16px;
    padding: 6px;
    margin-bottom: 35px;
    position: relative;
}

.rk-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 18px 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-sum-gray);
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.4s ease;
    z-index: 2;
}

.rk-toggle-btn.active {
    color: #ffffff;
}

.rk-toggle-bg {
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: calc(50% - 6px);
    background: var(--rk-sum-dark);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.rk-invest-cards {
    display: flex;
    gap: 30px;
}

.rk-status-card {
    flex: 1;
    background: var(--rk-sum-bg);
    border: 2px solid var(--rk-sum-border);
    border-radius: 20px;
    padding: 30px;
    text-align: left;
    transition: all 0.3s ease;
    display: none;
    animation: fadeIn 0.5s forwards;
}

.rk-status-card.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-icon-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-sum-border);
}

.rk-icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-status-pro .rk-status-card { border-color: var(--rk-sum-green); box-shadow: 0 15px 30px -10px rgba(16, 185, 129, 0.15); }
.rk-status-pro .rk-icon-circle { background: var(--rk-sum-green-light); color: var(--rk-sum-green); }
.rk-status-pro h3 { color: var(--rk-sum-green); font-size: 22px; margin: 0; font-weight: 900;}

.rk-status-warn .rk-status-card { border-color: var(--rk-sum-red); box-shadow: 0 15px 30px -10px rgba(239, 68, 68, 0.15); }
.rk-status-warn .rk-icon-circle { background: var(--rk-sum-red-light); color: var(--rk-sum-red); }
.rk-status-warn h3 { color: var(--rk-sum-red); font-size: 22px; margin: 0; font-weight: 900;}

.rk-card-text {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

.rk-card-text strong {
    color: var(--rk-sum-dark);
}

.rk-card-text a {
    color: var(--rk-sum-blue);
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-sum-blue);
    font-weight: 600;
}

.rk-tags-section {
    padding: 0 50px 30px;
    background: #f8fafc;
}

.rk-mat-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-sum-light-blue);
    color: var(--rk-sum-blue);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid rgba(2, 132, 199, 0.1);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-sum-blue);
    color: #ffffff;
}

/* Nowa sekcja CTA */
.rk-cta-section {
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.rk-cta-title {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.rk-cta-text {
    color: #cbd5e1;
    font-size: 16px;
    max-width: 650px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-sum-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-cta-btn:hover {
    transform: translateY(-5px);
    background: #0369a1;
    box-shadow: 0 20px 35px -5px rgba(2, 132, 199, 0.5);
    border-color: #7dd3fc;
}

.rk-cta-btn svg {
    transition: transform 0.3s;
}

.rk-cta-btn:hover svg {
    transform: translateX(5px);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .rk-invest-header, .rk-invest-interactive, .rk-tags-section, .rk-cta-section { padding: 30px 20px; }
    .rk-invest-header h2, .rk-cta-title { font-size: 24px; }
    .rk-toggle-wrapper { flex-direction: column; background: transparent; padding: 0; gap: 10px;}
    .rk-toggle-bg { display: none; }
    
    .rk-toggle-btn {
        background: var(--rk-sum-border);
        color: var(--rk-sum-gray);
        border: 2px solid transparent;
    }
    
    .rk-toggle-btn.active[data-view="view-warn"] {
        background: var(--rk-sum-red-light);
        color: var(--rk-sum-red);
        border-color: var(--rk-sum-red);
    }
    
    .rk-toggle-btn.active[data-view="view-pro"] {
        background: var(--rk-sum-green-light);
        color: var(--rk-sum-green);
        border-color: var(--rk-sum-green);
    }
    
    .rk-invest-cards { flex-direction: column; gap: 20px; }
    
    .rk-cta-btn {
        width: 100%;
        padding: 16px 20px;
        font-size: 16px;
        justify-content: center;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie inwestycyjne: Czy warto kupić automatykę do podłogówki?",
    "description": "Sprawdź na konkretnych danych, dlaczego automatyka strefowa do ogrzewania podłogowego jest inwestycją, a nie wydatkiem. Symulacja kosztów eksploatacji i ochrony posadzki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-07",
    "dateModified": "2026-07-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#dataset-sterowniki",
    "name": "Wskaźnik opłacalności inwestycji w automatykę strefową 2026",
    "description": "Zestawienie porównawcze kosztów eksploatacji, zużycia energii oraz wpływu na żywotność instalacji w scenariuszach z automatyką strefową i bez niej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy warto montować sterowniki do podłogówki",
      "automatyka do podłogówki cena",
      "koszty eksploatacji ogrzewania podłogowego",
      "optymalizacja pracy pompy ciepła",
      "ochrona posadzki przed przegrzaniem"
    ],
    "measurementTechnique": "Analiza numeryczna zapotrzebowania cieplnego budynku oraz wskaźnika COP pompy ciepła w trybie modulacji przepływu względem braku regulacji strefowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Scenariusz Pasywny: Brak sterowania strefowego prowadzi do przegrzewania wnętrz, zwiększenia zużycia energii o 15-25% oraz degradacji posadzek winylowych lub drewnianych.",
        "Scenariusz Zoptymalizowany: Sterowanie strefowe chroni jastrych i optymalizuje COP pompy ciepła, zapewniając pełen zwrot z inwestycji (ROI)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/#webapp-sterowniki",
    "name": "Symulator Scenariuszy Sterowania Podłogówką",
    "description": "Interaktywny panel uświadamiający skutki braku automatyki grzewczej i korzyści płynące ze strefowego sterowania pompą obiegową i źródłem ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-invest-container" id="automatyka-invest-app">
    <div class="rk-invest-header">
        <h2>Podsumowanie inwestycyjne: Czy warto kupić automatykę do podłogówki?</h2>
        <p>Automatyka do wodnego ogrzewania podłogowego nie jest opcjonalnym gadżetem, lecz kluczowym elementem technologicznym. Przełącz poniższe scenariusze, aby zobaczyć inżynierskie różnice na konkretnych danych.</p>
    </div>

    <div class="rk-invest-interactive">
        <div class="rk-toggle-wrapper">
            <div class="rk-toggle-bg" id="rkToggleBg"></div>
            <button class="rk-toggle-btn active" data-view="view-warn" style="color: #ffffff;">
                Oszczędzam na sterownikach (Brak automatyki)
            </button>
            <button class="rk-toggle-btn" data-view="view-pro">
                Montuję inteligentne sterowanie strefowe
            </button>
        </div>

        <div class="rk-invest-cards" id="rkCardsArea">
            
            <div class="rk-status-warn" id="view-warn-content">
                <div class="rk-status-card active">
                    <div class="rk-icon-row">
                        <div class="rk-icon-circle">
                            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                        </div>
                        <div>
                            <h3>Ryzyko przegrzewania podłogi</h3>
                        </div>
                    </div>
                    <p class="rk-card-text">
                        Pominięcie sterowników to <strong>pozorna oszczędność</strong>. Zmuszasz pompę ciepła do pracy na sztywnych parametrach. Bezwładny układ hydrauliczny reaguje z wielogodzinnym opóźnieniem. Efekt? <strong>Trwałe przegrzewanie pomieszczeń</strong> o 2-3 stopnie, co drastycznie podnosi rachunki i niszczy wrażliwe posadzki wykończeniowe (np. winyl).
                    </p>
                </div>
            </div>

            <div class="rk-status-pro" id="view-pro-content" style="display: none;">
                <div class="rk-status-card active">
                    <div class="rk-icon-row">
                        <div class="rk-icon-circle">
                            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <div>
                            <h3>Zyskowny model eksploatacji</h3>
                        </div>
                    </div>
                    <p class="rk-card-text">
                        Precyzyjne sterowanie mikroklimatem przekształca bezwładny układ w wysoce responsywną instalację. Zobacz <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">wyliczenia zwrotu z inwestycji</a> (ROI) na poziomie 15-25% redukcji energii rocznie. Automatyka strefowa zapewnia natychmiastową <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">optymalizację pracy pompy ciepła</a> (wyższy COP) oraz trwale <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">zabezpiecza wylewkę</a> betonową przed degradacją termiczną.
                    </p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-tags-section">
        <div class="rk-mat-tags-container">
            <span class="rk-mat-tag"># czy warto montować sterowniki do podłogówki</span>
            <span class="rk-mat-tag"># automatyka do podłogówki cena</span>
            <span class="rk-mat-tag"># sterowanie strefowe ogrzewaniem</span>
            <span class="rk-mat-tag"># koszty eksploatacji ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># optymalizacja pracy pompy ciepła</span>
            <span class="rk-mat-tag"># ochrona posadzki przed przegrzaniem</span>
            <span class="rk-mat-tag"># inteligentny dom ogrzewanie</span>
            <span class="rk-mat-tag"># termostaty pokojowe a rachunki</span>
        </div>
    </div>

    <!-- Dodane mocne CTA -->
    <div class="rk-cta-section">
        <h3 class="rk-cta-title">Nie pozwól, by instalator uczył się na Twoim domu</h3>
        <p class="rk-cta-text">
            Bezwładność cieplna, algorytmy PWM, dobór pomp obiegowych – to nie czarna magia, to inżynieria. Wejdź na bloga i zbuduj wiedzę, która ochroni Twój budżet przed kosztownymi błędami.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-cta-btn">
            WEJDŹ DO BAZY WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-toggle-btn');
    const toggleBg = document.getElementById('rkToggleBg');
    const viewWarn = document.getElementById('view-warn-content');
    const viewPro = document.getElementById('view-pro-content');
    
    btns.forEach((btn, index) => {
        btn.addEventListener('click', function() {
            // Bezpieczny JS, bazujemy na precyzyjnych if/else
            
            // Reset stylów przycisków na widoku desktopowym
            btns.forEach(b => {
                b.classList.remove('active');
                if(window.innerWidth > 768) {
                    b.style.color = 'var(--rk-sum-gray)';
                }
            });
            
            // Ustaw aktywację
            this.classList.add('active');
            
            if(window.innerWidth > 768) {
                this.style.color = '#ffffff';
                if(index === 0) {
                    toggleBg.style.transform = 'translateX(0)';
                    toggleBg.style.backgroundColor = 'var(--rk-sum-dark)';
                } else {
                    toggleBg.style.transform = 'translateX(100%)';
                    toggleBg.style.backgroundColor = 'var(--rk-sum-green)';
                }
            }

            // Przełączanie kontenerów tekstowych
            const targetView = this.getAttribute('data-view');
            
            if(targetView === 'view-warn') {
                viewPro.style.display = 'none';
                viewWarn.style.display = 'block';
            } else {
                viewWarn.style.display = 'none';
                viewPro.style.display = 'block';
            }
        });
    });

    // Zabezpieczenie wizualne przy zmianie szerokości okna (Resize obwodu)
    window.addEventListener('resize', function() {
        if(window.innerWidth <= 768) {
            btns.forEach(b => b.style.color = ''); 
        } else {
            const activeBtn = document.querySelector('.rk-toggle-btn.active');
            if (activeBtn) {
                activeBtn.style.color = '#ffffff';
            }
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">Czy warto montować sterowniki do ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
