<?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 Ogrzewanie elektryczne - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/ogrzewanie-elektryczne/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-elektryczne/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 05 Oct 2026 20:50:19 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Ogrzewanie elektryczne - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-elektryczne/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla lub maty potrzeba.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 05 Oct 2026 20:50:17 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kable grzewcze]]></category>
		<category><![CDATA[Kalkulatory HVAC]]></category>
		<category><![CDATA[Maty grzewcze]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie]]></category>
		<category><![CDATA[Ogrzewanie budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie elektryczne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[długość kabla grzewczego]]></category>
		<category><![CDATA[dobór maty grzewczej]]></category>
		<category><![CDATA[elektryczne ogrzewanie podłogowe]]></category>
		<category><![CDATA[ile kabla grzewczego]]></category>
		<category><![CDATA[jaka mata grzewcza]]></category>
		<category><![CDATA[kabel grzewczy]]></category>
		<category><![CDATA[kabel grzewczy do podłogi]]></category>
		<category><![CDATA[kalkulator maty i kabla grzewczego]]></category>
		<category><![CDATA[kalkulator ogrzewania podłogowego]]></category>
		<category><![CDATA[mata grzewcza]]></category>
		<category><![CDATA[mata grzewcza do łazienki]]></category>
		<category><![CDATA[moc maty grzewczej]]></category>
		<category><![CDATA[moc w/m²]]></category>
		<category><![CDATA[ogrzewanie elektryczne]]></category>
		<category><![CDATA[rozstaw kabla grzewczego]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=7823</guid>

					<description><![CDATA[<p>Dobór elektrycznego ogrzewania podłogowego nie powinien sprowadzać się wyłącznie do sprawdzenia powierzchni pomieszczenia i zakupu pierwszego dostępnego zestawu. Kalkulator maty i kabla grzewczego pozwala uporządkować najważniejsze parametry: dostępną powierzchnię podłogi, moc W/m², całkowitą moc zestawu, długość przewodu grzejnego oraz jego przybliżony rozstaw. Dzięki temu można porównać różne warianty i sprawdzić, jak zmiana powierzchni lub mocy wpływa na wynik. Narzędzie pomaga również odróżnić moc maty od mocy przypadającej na rzeczywistą strefę grzewczą i pokazuje, które parametry nadal wymagają weryfikacji w dokumentacji konkretnego systemu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/">Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla lub maty potrzeba.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>

#rk-electric-guide{--rk-navy:#0b2536;--rk-cyan:#29c4d7;--rk-orange:#ff6846;--rk-ink:#10283a;--rk-copy:#3c5668;--rk-muted:#526c7c;--rk-line:#d3e2e8;--rk-soft:#f3f8fa;--rk-green:#168267;--rk-red:#a83d2d;font-family:Arial,Helvetica,sans-serif;color:var(--rk-ink);font-size:16px;line-height:1.65;max-width:1360px;width:100%;margin:0 auto;overflow-wrap:anywhere}
#rk-electric-guide,#rk-electric-guide *{box-sizing:border-box;min-width:0}
#rk-electric-guide [hidden]{display:none!important}
#rk-electric-guide h2,#rk-electric-guide h3,#rk-electric-guide h4{font-family:Arial,Helvetica,sans-serif;color:var(--rk-ink);font-weight:900}
#rk-electric-guide a{color:#06728d;text-decoration:underline;text-underline-offset:3px}
#rk-electric-guide a:hover{color:#b43f25}
#rk-electric-guide button,#rk-electric-guide input,#rk-electric-guide select{font:inherit}
#rk-electric-guide button{cursor:pointer}
#rk-electric-guide :is(a,button,input,select,summary):focus-visible{outline:3px solid #078fb3;outline-offset:4px}
#rk-electric-guide input:focus-visible{outline-color:#0b2536}
#rk-electric-guide img{display:block;max-width:100%;height:auto}
#rk-electric-guide .rk-el-shell{background:#fff;border:1px solid var(--rk-line);box-shadow:0 22px 65px rgb(13 41 57 / 12%);overflow:hidden}
#rk-electric-guide .rk-el-hero{position:relative;padding:58px 58px 48px;background:radial-gradient(circle at 93% 115%,rgb(41 196 215 / 22%) 0 20%,transparent 20.2%),linear-gradient(120deg,#0b2536 0%,#143e52 65%,#0d6576 100%);color:#fff}
#rk-electric-guide .rk-el-kicker{display:flex;align-items:center;gap:13px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#89edf5;font-weight:900;margin:0 0 20px}
#rk-electric-guide .rk-el-kicker:before{content:'';width:12px;height:12px;flex:0 0 12px;background:#ff6846;border-radius:50%;box-shadow:0 0 0 7px rgb(255 104 70 / 16%)}
#rk-electric-guide .rk-el-visual-title{font-size:clamp(2.3rem,5.8vw,4.95rem);line-height:1.07;font-weight:900;letter-spacing:-.035em;margin:0;max-width:1160px;color:#fff}
#rk-electric-guide .rk-el-visual-title span{color:#81ebf3}
#rk-electric-guide .rk-el-hero-lead{font-size:clamp(1.05rem,1.8vw,1.32rem);line-height:1.65;color:#e4f0f4;max-width:1110px;margin:24px 0 0}
#rk-electric-guide .rk-el-tags,#rk-electric-guide .rk-el-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
#rk-electric-guide .rk-el-tags span{font-size:.82rem;font-weight:800;color:#fff;padding:7px 13px;border:1px solid #527384;background:rgb(255 255 255 / 7%);border-radius:999px}
#rk-electric-guide .rk-el-meta{gap:12px 25px;font-size:.83rem;color:#c9dfe6}
#rk-electric-guide .rk-el-meta strong{color:#fff}
#rk-electric-guide .rk-el-hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
#rk-electric-guide .rk-el-hero-point{border:1px solid #527384;border-radius:14px;padding:16px;background:rgb(255 255 255 / 5%);color:#dcecf1;font-size:.88rem}
#rk-electric-guide .rk-el-hero-point strong{display:block;color:#fff;font-size:1rem;margin-bottom:5px}
#rk-electric-guide .rk-el-nav{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:23px 32px;border-bottom:1px solid var(--rk-line);background:#fff}
#rk-electric-guide .rk-el-nav-label{font-size:.73rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-right:4px;color:#10283a}
#rk-electric-guide .rk-el-nav a{background:#f0f6f8;border-radius:999px;color:#10283a;text-decoration:none;font-size:.77rem;font-weight:800;padding:7px 12px;line-height:1.3}
#rk-electric-guide .rk-el-nav a:hover{background:#def7fa;color:#075f78}
#rk-electric-guide .rk-el-section{padding:59px 58px;scroll-margin-top:24px}
#rk-electric-guide .rk-el-section+.rk-el-section{border-top:1px solid var(--rk-line)}
#rk-electric-guide .rk-el-soft{background:var(--rk-soft)}
#rk-electric-guide .rk-el-dark{background:#0b2536;color:#fff}
#rk-electric-guide .rk-el-eyebrow{display:block;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#06728d;margin-bottom:12px}
#rk-electric-guide .rk-el-section-title{font-size:clamp(1.9rem,3.8vw,3.4rem);line-height:1.12;letter-spacing:-.03em;margin:0;max-width:1110px;color:#10283a}
#rk-electric-guide .rk-el-lead{font-size:1.15rem;color:#3c5668;line-height:1.75;margin:22px 0 0;max-width:1120px}
#rk-electric-guide .rk-el-copy{color:#3c5668;margin:20px 0 0}
#rk-electric-guide .rk-el-dark .rk-el-eyebrow{color:#89edf5}
#rk-electric-guide .rk-el-dark .rk-el-section-title{color:#fff}
#rk-electric-guide .rk-el-dark>.rk-el-lead,#rk-electric-guide .rk-el-dark>.rk-el-copy{color:#d6e7ec}
#rk-electric-guide .rk-el-answer{background:linear-gradient(135deg,#e6fafd,#f8fcfd);border:1px solid #9cdfe8;border-left:7px solid #29c4d7;border-radius:17px;padding:25px 28px;margin-top:27px;color:#3c5668}
#rk-electric-guide .rk-el-answer strong{display:block;font-size:1.2rem;line-height:1.5;color:#10283a}
#rk-electric-guide .rk-el-answer p{margin:10px 0 0}
#rk-electric-guide .rk-el-grid-2,#rk-electric-guide .rk-el-grid-3{display:grid;gap:18px;margin-top:28px}
#rk-electric-guide .rk-el-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#rk-electric-guide .rk-el-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
#rk-electric-guide .rk-el-card{background:#fff;border:1px solid var(--rk-line);border-radius:16px;padding:23px;color:#3c5668}
#rk-electric-guide .rk-el-card h3{font-size:1.14rem;line-height:1.35;margin:0 0 10px;color:#10283a}
#rk-electric-guide .rk-el-card p{margin:0;color:#3c5668}
#rk-electric-guide .rk-el-number{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 9px;background:#def7fa;border-radius:10px;color:#07677f;font-weight:900;margin-bottom:14px}
#rk-electric-guide .rk-el-note{border-left:6px solid #f2b526;border-radius:14px;background:#fff6e2;color:#5b4a1d;margin-top:25px;padding:19px 22px}
#rk-electric-guide .rk-el-note p{margin:0;color:inherit}
#rk-electric-guide .rk-el-note strong{color:inherit}
#rk-electric-guide .rk-el-note-good{background:#e9faf5;border-color:#2fcda1;color:#145e4d}
#rk-electric-guide .rk-el-note-stop{background:#fff0ec;border-color:#ff6846;color:#713426}
#rk-electric-guide .rk-el-table-wrap{overflow-x:auto;margin-top:29px}
#rk-electric-guide table{border-collapse:separate;border-spacing:0;width:100%;min-width:700px;color:#3c5668;font-size:.94rem}
#rk-electric-guide caption{text-align:left;font-size:.88rem;color:#526c7c;margin-bottom:12px}
#rk-electric-guide th{padding:14px 16px;background:#0b2536;color:#fff;text-align:left;font-size:.77rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid #31576a}
#rk-electric-guide th:first-child{border-radius:13px 0 0 0}
#rk-electric-guide th:last-child{border-radius:0 13px 0 0}
#rk-electric-guide td{padding:16px;background:#fff;border-bottom:1px solid var(--rk-line);vertical-align:top;color:#3c5668}
#rk-electric-guide td strong{color:#10283a}
#rk-electric-guide td:first-child{border-left:1px solid var(--rk-line)}
#rk-electric-guide td:last-child{border-right:1px solid var(--rk-line)}
#rk-electric-guide .rk-el-formula{background:#edf8fa;border:1px solid #b4e1e7;border-radius:13px;padding:16px 19px;color:#08667d;font-family:Consolas,Monaco,monospace;font-size:1rem;font-weight:700;margin-top:20px}
#rk-electric-guide .rk-el-bullets,#rk-electric-guide .rk-el-steps{color:#3c5668;padding-left:23px;margin:20px 0 0}
#rk-electric-guide li+li{margin-top:8px}
#rk-electric-guide .rk-el-subtitle{font-size:1.4rem;line-height:1.35;margin:30px 0 0;color:#10283a}
#rk-electric-guide .rk-el-calc{margin-top:30px;padding:28px;background:#102f42;border:1px solid #315a70;border-radius:22px;color:#fff}
#rk-electric-guide .rk-el-calc-head{padding-bottom:21px;border-bottom:1px solid #315a70}
#rk-electric-guide .rk-el-calc-head h3{font-size:clamp(1.45rem,2.8vw,2.1rem);line-height:1.25;margin:0;color:#fff}
#rk-electric-guide .rk-el-calc-head p{color:#d3e5eb;margin:10px 0 0;font-size:.95rem}
#rk-electric-guide .rk-el-mode-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
#rk-electric-guide .rk-el-mode-tabs button{flex:1 1 210px;background:#173e51;border:1px solid #55798c;color:#fff;border-radius:11px;padding:12px 16px;font-weight:900;min-height:49px}
#rk-electric-guide .rk-el-mode-tabs button[aria-pressed=true]{background:#29c4d7;border-color:#29c4d7;color:#082c3c}
#rk-electric-guide .rk-el-stage{padding:23px;background:#17394b;border:1px solid #40697e;border-radius:16px;margin-top:19px;color:#fff}
#rk-electric-guide .rk-el-stage-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}
#rk-electric-guide .rk-el-stage-head .rk-el-number{background:#29c4d7;color:#082c3c;flex:0 0 38px;height:38px;margin:0}
#rk-electric-guide .rk-el-stage-head h4{font-size:1.12rem;line-height:1.35;margin:0;color:#fff}
#rk-electric-guide .rk-el-stage-head p{color:#d0e3ea;margin:5px 0 0;font-size:.89rem}
#rk-electric-guide .rk-el-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#rk-electric-guide .rk-el-field{display:block;color:#eaf6f8}
#rk-electric-guide .rk-el-field>span{display:block;font-size:.84rem;font-weight:800;color:#eaf6f8;margin-bottom:7px}
#rk-electric-guide .rk-el-field input,#rk-electric-guide .rk-el-field select{display:block;width:100%;min-height:48px;border:1px solid #b8ccd5;border-radius:9px;background:#fff;color:#10283a;padding:10px 12px;box-shadow:none;opacity:1;-webkit-text-fill-color:#10283a}
#rk-electric-guide .rk-el-field input[aria-invalid=true]{border:3px solid #ed765d}
#rk-electric-guide .rk-el-field small{display:block;font-size:.78rem;line-height:1.5;margin-top:7px;color:#d0e3ea}
#rk-electric-guide .rk-el-field-wide{grid-column:1/-1}
#rk-electric-guide .rk-el-optional{margin-top:19px;border:1px solid #537487;border-radius:13px;color:#eaf6f8;background:#153649}
#rk-electric-guide .rk-el-optional summary{padding:15px 19px;font-size:.92rem;font-weight:800;cursor:pointer;color:#fff}
#rk-electric-guide .rk-el-optional-body{padding:0 20px 21px}
#rk-electric-guide .rk-el-optional-body>p{font-size:.86rem;color:#d0e3ea;margin:0 0 17px}
#rk-electric-guide .rk-el-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:21px}
#rk-electric-guide .rk-el-primary,#rk-electric-guide .rk-el-secondary{border-radius:10px;padding:11px 17px;min-height:47px;font-weight:900;border:1px solid #6c8b9c}
#rk-electric-guide .rk-el-primary{background:#ff6846;color:#10283a;border-color:#ff6846}
#rk-electric-guide .rk-el-primary:hover{background:#ff896e}
#rk-electric-guide .rk-el-secondary{background:#17394b;color:#fff}
#rk-electric-guide .rk-el-secondary:hover{background:#25516a}
#rk-electric-guide .rk-el-example-label{color:#d0e3ea;font-size:.8rem;margin:14px 0 0}
#rk-electric-guide .rk-el-errors{margin-top:18px;background:#fff0ec;border-left:6px solid #ff6846;color:#713426;padding:18px 21px;border-radius:12px}
#rk-electric-guide .rk-el-errors p{margin:0;color:#713426;font-weight:800}
#rk-electric-guide .rk-el-errors ul{margin:10px 0 0;padding-left:20px;color:#713426}
#rk-electric-guide .rk-el-result{margin-top:24px;background:#fff;border:1px solid #cbdfe7;border-left:7px solid #f2b526;border-radius:17px;padding:25px;color:#10283a}
#rk-electric-guide .rk-el-result.is-stop{border-left-color:#ff6846}
#rk-electric-guide .rk-el-result.is-checked{border-left-color:#2fcda1}
#rk-electric-guide .rk-el-result h3{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.3;color:#10283a;margin:0}
#rk-electric-guide .rk-el-result-intro{color:#3c5668;margin:9px 0 0}
#rk-electric-guide .rk-el-metrics{display:grid;gap:13px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:21px}
#rk-electric-guide .rk-el-metrics-four{grid-template-columns:repeat(4,minmax(0,1fr))}
#rk-electric-guide .rk-el-metric{background:#f2f7f9;border:1px solid #d3e3e9;border-radius:13px;padding:16px;color:#10283a}
#rk-electric-guide .rk-el-metric>span{display:block;color:#526c7c;font-size:.72rem;line-height:1.5;text-transform:uppercase;letter-spacing:.03em;font-weight:900}
#rk-electric-guide .rk-el-metric>strong{display:block;color:#10283a!important;font-size:1.28rem;line-height:1.4;margin-top:7px;-webkit-text-fill-color:#10283a}
#rk-electric-guide .rk-el-metric small{display:block;color:#526c7c;font-size:.77rem;margin-top:5px}
#rk-electric-guide .rk-el-result h4{font-size:1.02rem;color:#10283a;margin:24px 0 0}
#rk-electric-guide .rk-el-result-extra{background:#edf8fa;border:1px solid #b4e1e7;color:#154d60;border-radius:12px;padding:15px 18px;margin-top:16px;font-size:.94rem}
#rk-electric-guide .rk-el-result-extra p{margin:0;color:#154d60}
#rk-electric-guide .rk-el-result-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}
#rk-electric-guide .rk-el-result-column{background:#f6fafb;border:1px solid #d3e3e9;border-radius:13px;padding:18px;color:#3c5668}
#rk-electric-guide .rk-el-result-column h4{margin:0;font-size:.94rem;color:#10283a}
#rk-electric-guide .rk-el-result-column ul{margin:10px 0 0;padding-left:19px;color:#3c5668;font-size:.88rem}
#rk-electric-guide .rk-el-disclaimer{font-size:.8rem;line-height:1.6;color:#526c7c;margin:17px 0 0}
#rk-electric-guide .rk-el-check-panel{background:#edf8fa;border:1px solid #b4e1e7;border-left:6px solid #29c4d7;border-radius:17px;padding:27px;margin-top:29px;color:#3c5668}
#rk-electric-guide .rk-el-check-panel h3{font-size:1.45rem;line-height:1.35;margin:0;color:#10283a}
#rk-electric-guide .rk-el-check-panel p{margin:12px 0 0;color:#3c5668}
#rk-electric-guide .rk-el-chart{margin-top:28px;padding:27px;background:#fff;border:1px solid var(--rk-line);border-radius:18px;color:#10283a}
#rk-electric-guide .rk-el-chart h3{font-size:1.38rem;line-height:1.35;color:#10283a;margin:0}
#rk-electric-guide .rk-el-chart>p{color:#3c5668;margin:12px 0 0}
#rk-electric-guide .rk-el-chart-legend{display:flex;flex-wrap:wrap;gap:12px 21px;margin-top:21px;font-size:.81rem;color:#3c5668}
#rk-electric-guide .rk-el-chart-legend span{display:flex;align-items:center;gap:8px}
#rk-electric-guide .rk-el-swatch{width:23px;height:4px;display:inline-block;background:#078fb3;border-radius:3px}
#rk-electric-guide .rk-el-swatch-ideal{background:#0b2536}
#rk-electric-guide .rk-el-swatch-set{background:#e05a3a}
#rk-electric-guide .rk-el-swatch-limit{background:#bd4c3b}
#rk-electric-guide .rk-el-chart-holder{margin-top:19px;width:100%;background:#f8fcfd;border-radius:13px;border:1px solid #d3e3e9;padding:8px}
#rk-electric-guide .rk-el-chart-svg{width:100%;height:auto;display:block;touch-action:pan-y}
#rk-electric-guide .rk-el-chart-slider{display:block;margin-top:20px;color:#10283a;font-size:.9rem;font-weight:800}
#rk-electric-guide .rk-el-chart-slider input{width:100%;display:block;accent-color:#078fb3;margin:13px 0 0;min-height:32px}
#rk-electric-guide .rk-el-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}
#rk-electric-guide .rk-el-preview>div{padding:14px;background:#edf8fa;border:1px solid #b4e1e7;border-radius:12px;color:#10283a}
#rk-electric-guide .rk-el-preview span{display:block;font-size:.74rem;color:#526c7c;font-weight:800}
#rk-electric-guide .rk-el-preview strong{display:block;color:#10283a!important;font-size:1.1rem;margin-top:5px}
#rk-electric-guide .rk-el-preview-status{font-size:.87rem;background:#fff6e2;border-left:4px solid #f2b526;border-radius:10px;padding:14px 17px;color:#5b4a1d;margin-top:16px}
#rk-electric-guide .rk-el-preview-status.is-stop{background:#fff0ec;border-color:#ff6846;color:#713426}
#rk-electric-guide .rk-el-preview-status.is-checked{background:#e9faf5;border-color:#2fcda1;color:#145e4d}
#rk-electric-guide .rk-el-chart-empty{padding:23px;color:#3c5668;background:#f3f8fa;border-radius:13px;margin-top:20px}
#rk-electric-guide .rk-el-faq{display:grid;gap:12px;margin-top:29px}
#rk-electric-guide .rk-el-faq details{background:#fff;border:1px solid var(--rk-line);border-radius:13px;overflow:hidden}
#rk-electric-guide .rk-el-faq summary{list-style:none;position:relative;padding:18px 52px 18px 20px;font-weight:900;color:#10283a;cursor:pointer}
#rk-electric-guide .rk-el-faq summary::-webkit-details-marker{display:none}
#rk-electric-guide .rk-el-faq summary:after{content:'+';position:absolute;right:20px;top:10px;color:#06728d;font-size:1.65rem}
#rk-electric-guide .rk-el-faq details[open] summary:after{content:'−'}
#rk-electric-guide .rk-el-faq-answer{padding:18px 20px;border-top:1px solid var(--rk-line);color:#3c5668}
#rk-electric-guide .rk-el-faq-answer p{margin:0;color:#3c5668}
#rk-electric-guide .rk-el-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:28px}
#rk-electric-guide .rk-el-source-card{background:#f2f7f9;border:1px solid #cfe0e7;border-radius:15px;padding:21px;color:#3c5668}
#rk-electric-guide .rk-el-source-card a{font-weight:900;color:#06728d}
#rk-electric-guide .rk-el-source-card p{color:#3c5668;margin:10px 0 0;font-size:.91rem}
#rk-electric-guide .rk-el-author-layout{display:grid;grid-template-columns:290px minmax(0,1fr);background:#fff;border:1px solid #cbdde5;border-radius:21px;overflow:hidden;margin-top:29px}
#rk-electric-guide .rk-el-author-side{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 25px;background:#0b2536;color:#fff}
#rk-electric-guide .rk-el-author-photo{width:158px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid #58788a;background:#fff}
#rk-electric-guide .rk-el-author-photo img{width:100%;height:100%;object-fit:cover}
#rk-electric-guide .rk-el-author-name{color:#fff;font-size:1.25rem;font-weight:900;margin-top:19px}
#rk-electric-guide .rk-el-author-role{color:#c5dce5;font-size:.83rem;margin:8px 0 0}
#rk-electric-guide .rk-el-author-social{display:flex;gap:10px;margin-top:20px}
#rk-electric-guide .rk-el-author-social a{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #66889b;border-radius:50%;color:#fff;text-decoration:none;font-weight:800}
#rk-electric-guide .rk-el-author-social a:hover{background:#29c4d7;color:#082c3c}
#rk-electric-guide .rk-el-author-main{padding:34px;color:#3c5668}
#rk-electric-guide .rk-el-author-main p{color:#3c5668;margin:18px 0 0}
#rk-electric-guide .rk-el-author-note{border-left:6px solid #29c4d7;border-radius:13px;background:#f2f9fb;color:#10283a;padding:21px;font-size:1.08rem;font-weight:800;line-height:1.65}
#rk-electric-guide .rk-el-author-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:23px}
#rk-electric-guide .rk-el-author-facts div{background:#eef7f9;border:1px solid #d2e4e9;border-radius:12px;padding:14px;font-size:.83rem;color:#3c5668}
#rk-electric-guide .rk-el-author-facts strong{display:block;color:#06728d;font-size:.73rem;margin-bottom:5px;text-transform:uppercase}
@media(max-width:1050px){#rk-electric-guide .rk-el-metrics-four,#rk-electric-guide .rk-el-preview{grid-template-columns:repeat(2,minmax(0,1fr))}#rk-electric-guide .rk-el-result-columns{grid-template-columns:1fr}}
@media(max-width:820px){#rk-electric-guide .rk-el-hero,#rk-electric-guide .rk-el-section{padding-left:28px;padding-right:28px}#rk-electric-guide .rk-el-hero-points,#rk-electric-guide .rk-el-grid-3{grid-template-columns:1fr}#rk-electric-guide .rk-el-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#rk-electric-guide .rk-el-author-layout{grid-template-columns:1fr}#rk-electric-guide .rk-el-author-side{padding:28px}#rk-electric-guide .rk-el-nav{padding:21px}}
@media(max-width:640px){#rk-electric-guide .rk-el-hero{padding-top:43px;padding-bottom:37px}#rk-electric-guide .rk-el-section{padding-top:44px;padding-bottom:44px}#rk-electric-guide .rk-el-grid-2,#rk-electric-guide .rk-el-fields,#rk-electric-guide .rk-el-source-grid,#rk-electric-guide .rk-el-author-facts{grid-template-columns:1fr}#rk-electric-guide .rk-el-calc,#rk-electric-guide .rk-el-chart{padding:17px;border-radius:16px}#rk-electric-guide .rk-el-stage,#rk-electric-guide .rk-el-result{padding:18px}#rk-electric-guide .rk-el-metrics,#rk-electric-guide .rk-el-metrics-four{grid-template-columns:1fr}#rk-electric-guide .rk-el-optional-body{padding-left:15px;padding-right:15px}#rk-electric-guide .rk-el-actions{display:grid;grid-template-columns:1fr}#rk-electric-guide .rk-el-preview{grid-template-columns:repeat(2,minmax(0,1fr))}#rk-electric-guide .rk-el-preview>div{padding:11px}#rk-electric-guide .rk-el-preview strong{font-size:1rem}#rk-electric-guide .rk-el-chart-holder{padding:3px}#rk-electric-guide .rk-el-author-main{padding:25px 20px}#rk-electric-guide .rk-el-table-wrap{overflow:visible}#rk-electric-guide table,#rk-electric-guide tbody,#rk-electric-guide tr,#rk-electric-guide td{display:block;width:100%;min-width:0}#rk-electric-guide thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#rk-electric-guide tbody{display:grid;gap:13px}#rk-electric-guide tr{border:1px solid var(--rk-line);border-radius:13px;overflow:hidden}#rk-electric-guide td,#rk-electric-guide td:first-child,#rk-electric-guide td:last-child{border:0;border-bottom:1px solid #e1ebef;padding:13px 15px}#rk-electric-guide td:last-child{border-bottom:0}#rk-electric-guide td:before{content:attr(data-label);display:block;color:#06728d;font-size:.69rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;margin-bottom:5px}}
@media(max-width:430px){#rk-electric-guide .rk-el-hero,#rk-electric-guide .rk-el-section{padding-left:18px;padding-right:18px}#rk-electric-guide .rk-el-visual-title{font-size:2.15rem}#rk-electric-guide .rk-el-section-title{font-size:1.85rem}#rk-electric-guide .rk-el-nav{padding:17px 14px}#rk-electric-guide .rk-el-nav-label{flex:1 0 100%}#rk-electric-guide .rk-el-nav a{flex:1 1 calc(50% - 9px);text-align:center}#rk-electric-guide .rk-el-answer,#rk-electric-guide .rk-el-check-panel{padding:21px}#rk-electric-guide .rk-el-calc{padding:13px}#rk-electric-guide .rk-el-stage{padding:16px}#rk-electric-guide .rk-el-result{padding:16px}}
@media(prefers-reduced-motion:reduce){#rk-electric-guide *,#rk-electric-guide *:before,#rk-electric-guide *:after{scroll-behavior:auto;transition:none;animation:none}}
@media print{#rk-electric-guide{max-width:none;font-size:11pt}#rk-electric-guide .rk-el-nav,#rk-electric-guide .rk-el-actions{display:none}#rk-electric-guide .rk-el-section{padding:25px 15px}#rk-electric-guide .rk-el-shell{box-shadow:none}#rk-electric-guide .rk-el-card,#rk-electric-guide .rk-el-metric{break-inside:avoid}}

</style>

<article id="rk-electric-guide" aria-labelledby="rk-el-visual-title"><div class="rk-el-shell">
<header class="rk-el-hero"><span class="rk-el-kicker">Dobór zestawu · moc i powierzchnia</span><div class="rk-el-visual-title" id="rk-el-visual-title">Mata czy kabel grzewczy? <span>Policz moc, metraż i rozstaw</span></div><p class="rk-el-hero-lead">Kalkulator maty i kabla grzewczego pokazuje, ile W/m² i ile czynnego kabla wynika z Twoich założeń. Porównaj powierzchnię maty z dostępną strefą, przelicz kompletny zestaw kablowy i sprawdź ograniczenia z instrukcji.</p><div class="rk-el-tags" aria-label="Zakres poradnika"><span>maty grzewcze</span><span>oporowe zestawy kablowe</span><span>W/m² i W/m</span><span>powierzchnia dostępna</span><span>interaktywny wykres</span></div><div class="rk-el-meta"><span>Autor: <strong>Robert Kucharski</strong></span><span>Publikacja: <strong><time datetime="2026-10-05">5 października 2026 r.</time></strong></span><span>Czas czytania: <strong>około 21 minut</strong></span></div><div class="rk-el-hero-points"><div class="rk-el-hero-point"><strong>Powierzchnia do ułożenia</strong>Wyłączenia i kształt podłogi zmieniają wielkość zestawu.</div><div class="rk-el-hero-point"><strong>Cała długość czynna</strong>Kalkulator przelicza kompletny zestaw; przewód zimny ma osobną funkcję.</div><div class="rk-el-hero-point"><strong>Moc ≠ potwierdzenie komfortu</strong>Podłoga musi jeszcze spełnić wymagania cieplne i montażowe.</div></div></header>
<nav class="rk-el-nav" aria-label="Na skróty — wszystkie sekcje artykułu"><span class="rk-el-nav-label">Na skróty</span><a href="#rk-el-answer">Szybka odpowiedź</a><a href="#rk-el-units">W/m² i W/m</a><a href="#rk-el-area">Powierzchnia</a><a href="#rk-el-calc">Kalkulatory</a><a href="#rk-el-density">Ile W/m²?</a><a href="#rk-el-mat">Dobór maty</a><a href="#rk-el-cable">Długość kabla</a><a href="#rk-el-spacing">Wykres rozstawu</a><a href="#rk-el-heat">Ogrzewanie pokoju</a><a href="#rk-el-example">Przykład łazienki</a><a href="#rk-el-floor">Okładzina</a><a href="#rk-el-control">Sterowanie i obwód</a><a href="#rk-el-errors">Błędy</a><a href="#rk-el-checklist">Checklista</a><a href="#rk-el-sources">Źródła</a><a href="#rk-el-faq">FAQ</a><a href="#rk-el-author">Autor</a></nav><section class="rk-el-section " id="rk-el-answer"><span class="rk-el-eyebrow">Odpowiedź w 60 sekund</span><h2 class="rk-el-section-title">Jak obliczyć matę i kabel grzewczy?</h2>
<p class="rk-el-lead"><strong>Najpierw wyznacz powierzchnię, na której można rzeczywiście ułożyć ogrzewanie.</strong> Następnie połącz ją z mocą powierzchniową przyjętą dla danego zastosowania i parametrami konkretnego zestawu.</p>
<div class="rk-el-answer"><strong>Dla maty moc wynika z jej powierzchni i W/m². Dla kabla długość wynika z powierzchni, przyjętych W/m² i znamionowych W/m.</strong><p>Obliczona długość jest punktem odniesienia do wyboru kompletnego zestawu. Po wyborze rzeczywistej długości trzeba ponownie sprawdzić moc na m² oraz przybliżony rozstaw.</p></div>
<div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Powierzchnia dostępna</h3><p>Odlicz miejsca i odstępy wyłączone według dokumentacji systemu. Mata do pomieszczenia 10 m² nie musi mieć 10 m².</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Parametry zestawu</h3><p>Użyj mocy i wymiarów dla właściwego napięcia znamionowego. W/m przewodu i W/m² maty opisują różne wielkości.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Weryfikacja podłogi</h3><p>Wynik elektryczny trzeba zestawić z instrukcją, okładziną i konstrukcją. Pokrycie strat ciepła wymaga odrębnego sprawdzenia.</p></div></div><p class="rk-el-copy">Jeżeli dopiero wybierasz technologię, zobacz porównanie <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/">wodnego i elektrycznego ogrzewania podłogowego</a>. Tutaj obliczamy parametry mat oraz oporowych zestawów kablowych do wnętrz.</p></section>
<section class="rk-el-section rk-el-soft" id="rk-el-units"><span class="rk-el-eyebrow">Porządek w jednostkach</span><h2 class="rk-el-section-title">W/m², W/m, W i kWh — co oznaczają te wartości?</h2><p class="rk-el-lead">Ta sama liczba W/m² może odnosić się do całego pokoju, dostępnej strefy układania albo powierzchni samej maty. Zawsze sprawdź, przez jaką powierzchnię podzielono moc.</p><div class="rk-el-table-wrap"><table><thead><tr><th scope="col">Parametr</th><th scope="col">Co opisuje</th><th scope="col">Jak go użyć</th></tr></thead><tbody><tr><td data-label="Parametr"><strong>W/m² pomieszczenia</strong></td><td data-label="Co opisuje">Wskaźnik obciążenia cieplnego odniesiony do powierzchni pokoju.</td><td data-label="Jak go użyć">Nie zastępuje parametrów elektrycznych maty ani kabla.</td></tr><tr><td data-label="Parametr"><strong>W/m² maty</strong></td><td data-label="Co opisuje">Znamionowa moc elektryczna na jednostkę powierzchni produktu.</td><td data-label="Jak go użyć">Pomnóż przez powierzchnię wybranego zestawu.</td></tr><tr><td data-label="Parametr"><strong>W/m² strefy kabla</strong></td><td data-label="Co opisuje">Moc całego zestawu podzielona przez strefę jego ułożenia.</td><td data-label="Jak go użyć">Użyj do porównania wariantów i ograniczeń systemowych.</td></tr><tr><td data-label="Parametr"><strong>W/m kabla</strong></td><td data-label="Co opisuje">Znamionowa moc jednego metra czynnego przewodu.</td><td data-label="Jak go użyć">Pomnóż przez długość grzejną; przewód zimny licz osobno.</td></tr><tr><td data-label="Parametr"><strong>W oraz kW</strong></td><td data-label="Co opisuje">Moc chwilowa lub znamionowa; 1000 W = 1 kW.</td><td data-label="Jak go użyć">Służy do oceny zestawu i obciążenia elektrycznego.</td></tr><tr><td data-label="Parametr"><strong>kWh</strong></td><td data-label="Co opisuje">Energia pobrana w czasie.</td><td data-label="Jak go użyć">Zależy od rzeczywistej pracy i sterowania, a nie tylko mocy z etykiety.</td></tr></tbody></table></div><div class="rk-el-note "><p>Przykład: mata 5,5 m² o mocy 150 W/m² ma 825 W. W strefie dostępnej o powierzchni 6 m² oznacza to średnio 137,5 W/m² tej strefy — nadal 150 W/m² samej maty. Są to dwa różne odniesienia.</p></div><p class="rk-el-copy">Rachunki i energię omawia osobny <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">kalkulator kosztów ogrzewania elektrycznego i wodnego</a>. Moc pomnożona przez wszystkie godziny miesiąca nie jest prognozą zużycia instalacji sterowanej termostatem.</p></section>
<section class="rk-el-section " id="rk-el-area"><span class="rk-el-eyebrow">Najpierw rzut pomieszczenia</span><h2 class="rk-el-section-title">Jak policzyć powierzchnię pod matę lub kabel?</h2>
<p class="rk-el-lead">Powierzchnia do ułożenia wynika z planu podłogi i wymagań wybranego systemu. Uwzględnij zabudowę, wymagane odstępy oraz miejsca niedopuszczone do montażu. Nie dodawaj procentowego zapasu elementu grzejnego.</p>
<div class="rk-el-formula">A<sub>dostępna</sub> = A<sub>pomieszczenia</sub> − A<sub>wyłączeń</sub></div>
<div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Zaznacz wyłączenia</h3><p>Na rzucie zaznacz stałą zabudowę, urządzenia i odległości wymagane w instrukcji. Nakładających się powierzchni wyłączeń nie odejmuj dwukrotnie.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Sprawdź geometrię</h3><p>Wąski pas, wnęka i przejście mogą utrudnić ułożenie maty mimo odpowiedniej sumy m². Szerokość produktu oraz nawroty trzeba sprawdzić na planie.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Rozdziel dwie powierzchnie</h3><p>Dostępna strefa to górna granica obszaru do wykorzystania. Powierzchnia kupionej maty może być mniejsza; wzór dla kabla dotyczy strefy, w której faktycznie go rozłożysz.</p></div></div><div class="rk-el-note "><p>Nie każda przestrzeń pod meblem ma identyczne warunki oddawania ciepła. Decyzja zależy od konstrukcji zabudowy, prześwitu i instrukcji systemu. Uwzględnij także późniejsze dywany i dodatkowe warstwy mogące utrudnić odprowadzanie ciepła.</p></div><p class="rk-el-copy">W kalkulatorze możesz wpisać powierzchnię bezpośrednio albo obliczyć ją z powierzchni pomieszczenia i sumy wyłączeń. Wybierasz jedną metodę, dzięki czemu wyłączenia nie są automatycznie odejmowane drugi raz.</p></section>
<section class="rk-el-section rk-el-dark" id="rk-el-calc"><span class="rk-el-eyebrow">Narzędzia przed zakupem</span><h2 class="rk-el-section-title">Kalkulator maty i kabla grzewczego</h2>
<p class="rk-el-lead">Poniżej znajdziesz dwa niezależne kalkulatory: najpierw maty, następnie kabla. Każdy ma własną powierzchnię, parametry i wyniki. Wpisuj dane z rzutu, specyfikacji i instrukcji. Wartości początkowe tworzą przykład edukacyjny; nie stanowią doboru mocy do Twojego pomieszczenia.</p>
<div class="rk-el-calc" id="rk-el-mat-calculator" role="region" aria-labelledby="rk-el-mat-calculator-title">
 <div class="rk-el-calc-head"><h3 id="rk-el-mat-calculator-title">1. Kalkulator maty grzewczej</h3><p>Obliczamy moc znamionową i geometrię. Nie wyznaczamy temperatury podłogi, rachunku za prąd ani zgodności całej instalacji elektrycznej.</p></div>
 <form id="rk-el-mat-form" novalidate="" aria-labelledby="rk-el-mat-calculator-title">
  <div class="rk-el-stage"><div class="rk-el-stage-head"><span class="rk-el-number" aria-hidden="true">1</span><div><h4>Powierzchnia do ułożenia</h4><p>Nie odejmuj ponownie wyłączeń od powierzchni już pomniejszonej.</p></div></div>
   <div class="rk-el-fields">
    <label class="rk-el-field"><span>Jak podajesz powierzchnię?</span><select id="rk-el-mat-area-method"><option value="net">Znam powierzchnię dostępną</option><option value="subtract">Pomieszczenie minus wyłączenia</option></select></label>
    <label class="rk-el-field"><span>Rola ogrzewania</span><select id="rk-el-mat-purpose"><option value="comfort">Komfort powierzchni podłogi</option><option value="main">Ogrzewanie podstawowe pomieszczenia</option></select><small>Wybór nie ustawia automatycznie W/m².</small></label>
    <label class="rk-el-field" id="rk-el-mat-net-wrap"><span>Dostępna powierzchnia [m²]</span><input id="rk-el-mat-net-area" type="text" inputmode="decimal" value="6" aria-describedby="rk-el-mat-net-help"><small id="rk-el-mat-net-help">Strefa, na której można ułożyć matę z zachowaniem wymaganych odstępów.</small></label>
    <div id="rk-el-mat-subtract-wrap" class="rk-el-fields rk-el-field-wide" hidden="">
     <label class="rk-el-field"><span>Powierzchnia pomieszczenia [m²]</span><input id="rk-el-mat-gross-area" type="text" inputmode="decimal" value="10"></label>
     <label class="rk-el-field"><span>Łączna powierzchnia wyłączeń [m²]</span><input id="rk-el-mat-excluded-area" type="text" inputmode="decimal" value="4"><small>Uwzględnij odstępy i zabudowę bez podwójnego liczenia.</small></label>
    </div>
   </div>
  </div>
  <div class="rk-el-stage" id="rk-el-mat-fields"><div class="rk-el-stage-head"><span class="rk-el-number" aria-hidden="true">2</span><div><h4>Parametry rozważanej maty</h4><p>Użyj powierzchni oraz mocy tego samego zestawu i napięcia znamionowego.</p></div></div>
   <div class="rk-el-fields">
    <label class="rk-el-field"><span>Moc znamionowa maty [W/m²]</span><input id="rk-el-mat-density" type="text" inputmode="decimal" value="150"><small>Wartość z karty produktu, nie uniwersalna moc do łazienki.</small></label>
    <label class="rk-el-field"><span>Powierzchnia rozważanej maty [m²]</span><input id="rk-el-mat-area" type="text" inputmode="decimal" value="5,5"><small>Porównujemy wybrany zestaw; nie zaokrąglamy dostępnej powierzchni w górę.</small></label>
    <label class="rk-el-field"><span>Szerokość pasa maty [m] — opcjonalnie</span><input id="rk-el-mat-width" type="text" inputmode="decimal" value="0,5"><small>Pozwala obliczyć długość pasa. To nie jest długość kabla w macie.</small></label>
   </div>
  </div>
  <details class="rk-el-optional" id="rk-el-mat-limits"><summary>Sprawdź ograniczenia z instrukcji — opcjonalnie</summary><div class="rk-el-optional-body"><p>Puste pole oznacza brak weryfikacji tego ograniczenia. Wpisana granica musi dotyczyć wybranego zestawu i konkretnej konstrukcji podłogi.</p><div class="rk-el-fields">
   <label class="rk-el-field"><span>Maksymalna dopuszczalna moc powierzchniowa [W/m²]</span><input id="rk-el-mat-max-density" type="text" inputmode="decimal" value="" placeholder="Wpisz z dokumentacji"><small>Sprawdzamy moc na m² maty.</small></label>
  </div></div></details>
  <div class="rk-el-actions"><button class="rk-el-primary" type="submit">Oblicz matę</button><button class="rk-el-secondary" type="button" id="rk-el-mat-reset">Przywróć przykład maty</button></div>
  <p class="rk-el-example-label" id="rk-el-mat-example-context">Przykład startowy: strefa 6 m², mata 5,5 m² i 150 W/m². Brak przyjętych ograniczeń montażowych.</p>
  <div class="rk-el-errors" id="rk-el-mat-validation" role="alert" hidden=""><p>Popraw dane przed interpretacją wyniku.</p><ul id="rk-el-mat-errors-list"></ul></div>
 </form>
 <noscript><div class="rk-el-errors"><p>Do działania kalkulatora potrzebny jest JavaScript. Wzory i przykłady poniżej pozwalają wykonać obliczenia ręcznie.</p></div></noscript>
 <div class="rk-el-result" id="rk-el-mat-result"><h3 id="rk-el-mat-result-title" tabindex="-1" role="status" aria-live="polite">Wynik pojawi się po uruchomieniu kalkulatora</h3><p class="rk-el-result-intro" id="rk-el-mat-result-intro">Wartości odnoszą się do wskazanego zestawu i wpisanych założeń.</p>
  <div id="rk-el-mat-results"><div class="rk-el-metrics">
   <div class="rk-el-metric"><span>Dostępna powierzchnia</span><strong id="rk-el-out-mat-net">—</strong><small>Strefa możliwa do wykorzystania.</small></div>
   <div class="rk-el-metric"><span>Powierzchnia maty</span><strong id="rk-el-out-mat-area">—</strong><small>Wymiar kupowanego zestawu.</small></div>
   <div class="rk-el-metric"><span>Moc elektryczna maty</span><strong id="rk-el-out-mat-power">—</strong><small>Przy warunkach znamionowych.</small></div>
   <div class="rk-el-metric"><span>Moc na m² maty</span><strong id="rk-el-out-mat-density">—</strong><small>Nie na m² całego pokoju.</small></div>
   <div class="rk-el-metric"><span>Udział w dostępnej strefie</span><strong id="rk-el-out-mat-coverage">—</strong><small>Porównanie powierzchni, nie plan ułożenia.</small></div>
   <div class="rk-el-metric"><span>Pozostała powierzchnia</span><strong id="rk-el-out-mat-remaining">—</strong><small id="rk-el-out-mat-remaining-help">Różnica względem dostępnej strefy.</small></div>
  </div><div class="rk-el-result-extra"><p id="rk-el-out-mat-strip">Długość pasa maty zostanie obliczona po podaniu szerokości.</p></div></div>
  <div class="rk-el-result-columns"><div class="rk-el-result-column"><h4>Ocena wpisanych danych</h4><ul id="rk-el-mat-findings"><li>Oczekiwanie na obliczenia.</li></ul></div><div class="rk-el-result-column"><h4>Co nadal trzeba sprawdzić</h4><ul id="rk-el-mat-checks"><li>Instrukcję zestawu, plan ułożenia i konstrukcję podłogi.</li></ul></div></div>
  <p class="rk-el-disclaimer">Wynik dotyczy mocy znamionowej i uproszczonej geometrii. Nie potwierdza mocy użytecznej oddawanej do pokoju, temperatury powierzchni ani bezpieczeństwa całego obwodu. Dobór zabezpieczeń, zasilania i wykonanie pomiarów wymagają oceny właściwego specjalisty.</p>
 </div>
</div>
<div class="rk-el-calc" id="rk-el-cable-calculator" role="region" aria-labelledby="rk-el-cable-calculator-title">
 <div class="rk-el-calc-head"><h3 id="rk-el-cable-calculator-title">2. Kalkulator kabla grzewczego</h3><p>Obliczamy moc znamionową i geometrię. Nie wyznaczamy temperatury podłogi, rachunku za prąd ani zgodności całej instalacji elektrycznej.</p></div>
 <form id="rk-el-cable-form" novalidate="" aria-labelledby="rk-el-cable-calculator-title">
  <div class="rk-el-stage"><div class="rk-el-stage-head"><span class="rk-el-number" aria-hidden="true">1</span><div><h4>Powierzchnia do ułożenia</h4><p>Nie odejmuj ponownie wyłączeń od powierzchni już pomniejszonej.</p></div></div>
   <div class="rk-el-fields">
    <label class="rk-el-field"><span>Jak podajesz powierzchnię?</span><select id="rk-el-cable-area-method"><option value="net">Znam powierzchnię dostępną</option><option value="subtract">Pomieszczenie minus wyłączenia</option></select></label>
    <label class="rk-el-field"><span>Rola ogrzewania</span><select id="rk-el-cable-purpose"><option value="comfort">Komfort powierzchni podłogi</option><option value="main">Ogrzewanie podstawowe pomieszczenia</option></select><small>Wybór nie ustawia automatycznie W/m².</small></label>
    <label class="rk-el-field" id="rk-el-cable-net-wrap"><span>Dostępna powierzchnia [m²]</span><input id="rk-el-cable-net-area" type="text" inputmode="decimal" value="6" aria-describedby="rk-el-cable-net-help"><small id="rk-el-cable-net-help">Dla kabla: strefa, w której rzeczywiście go ułożysz.</small></label>
    <div id="rk-el-cable-subtract-wrap" class="rk-el-fields rk-el-field-wide" hidden="">
     <label class="rk-el-field"><span>Powierzchnia pomieszczenia [m²]</span><input id="rk-el-cable-gross-area" type="text" inputmode="decimal" value="10"></label>
     <label class="rk-el-field"><span>Łączna powierzchnia wyłączeń [m²]</span><input id="rk-el-cable-excluded-area" type="text" inputmode="decimal" value="4"><small>Uwzględnij odstępy i zabudowę bez podwójnego liczenia.</small></label>
    </div>
   </div>
  </div>
  <div class="rk-el-stage" id="rk-el-cable-fields"><div class="rk-el-stage-head"><span class="rk-el-number" aria-hidden="true">2</span><div><h4>Założenie i kompletny zestaw kabla</h4><p>Najpierw wynik teoretyczny, następnie przeliczenie rzeczywistej długości.</p></div></div>
   <div class="rk-el-fields">
    <label class="rk-el-field"><span>Przyjęta moc powierzchniowa [W/m²]</span><input id="rk-el-target-density" type="text" inputmode="decimal" value="125"><small>Założenie do porównania wariantów. Kalkulator nie dobiera go z metrażu.</small></label>
    <label class="rk-el-field"><span>Znamionowa moc liniowa kabla [W/m]</span><input id="rk-el-linear-power" type="text" inputmode="decimal" value="10"><small>Dla czynnego przewodu przy właściwym napięciu znamionowym.</small></label>
    <label class="rk-el-field rk-el-field-wide"><span>Długość czynna rozważanego zestawu [m] — opcjonalnie</span><input id="rk-el-set-length" type="text" inputmode="decimal" value="" placeholder="Np. 80"><small>Bez przewodu zimnego. Długości kabla dwużyłowego nie podwajamy. Puste pole pozostawia wynik teoretyczny.</small></label>
   </div>
  </div>
  <details class="rk-el-optional" id="rk-el-cable-limits"><summary>Sprawdź ograniczenia z instrukcji — opcjonalnie</summary><div class="rk-el-optional-body"><p>Puste pole oznacza brak weryfikacji tego ograniczenia. Wpisana granica musi dotyczyć wybranego zestawu i konkretnej konstrukcji podłogi.</p><div class="rk-el-fields">
   <label class="rk-el-field" id="rk-el-min-spacing-wrap"><span>Minimalny dopuszczalny rozstaw osiowy [cm]</span><input id="rk-el-min-spacing" type="text" inputmode="decimal" value="" placeholder="Wpisz z instrukcji"><small>Sprawdzamy wynik średni; plan musi zachować wymagane odległości również lokalnie.</small></label>
   <label class="rk-el-field"><span>Maksymalna dopuszczalna moc powierzchniowa [W/m²]</span><input id="rk-el-cable-max-density" type="text" inputmode="decimal" value="" placeholder="Wpisz z dokumentacji"><small>Sprawdzamy moc na m² strefy ułożenia kabla.</small></label>
  </div></div></details>
  <div class="rk-el-actions"><button class="rk-el-primary" type="submit">Oblicz kabel</button><button class="rk-el-secondary" type="button" id="rk-el-cable-reset">Przywróć przykład kabla</button><button class="rk-el-secondary" type="button" id="rk-el-example-cable">Sprawdź przykład kabla 80 m</button></div>
  <p class="rk-el-example-label" id="rk-el-cable-example-context">Przykład startowy: strefa 6 m², założenie 125 W/m² i kabel 10 W/m. Długość zestawu i ograniczenia pozostają do uzupełnienia.</p>
  <div class="rk-el-errors" id="rk-el-cable-validation" role="alert" hidden=""><p>Popraw dane przed interpretacją wyniku.</p><ul id="rk-el-cable-errors-list"></ul></div>
 </form>
 <noscript><div class="rk-el-errors"><p>Do działania kalkulatora potrzebny jest JavaScript. Wzory i przykłady poniżej pozwalają wykonać obliczenia ręcznie.</p></div></noscript>
 <div class="rk-el-result" id="rk-el-cable-result"><h3 id="rk-el-cable-result-title" tabindex="-1" role="status" aria-live="polite">Wynik pojawi się po uruchomieniu kalkulatora</h3><p class="rk-el-result-intro" id="rk-el-cable-result-intro">Wartości odnoszą się do wskazanego zestawu i wpisanych założeń.</p>
  <div id="rk-el-cable-results"><h4>Wynik teoretyczny dla przyjętych W/m²</h4><div class="rk-el-metrics rk-el-metrics-four">
   <div class="rk-el-metric"><span>Strefa ułożenia</span><strong id="rk-el-out-cable-area">—</strong></div>
   <div class="rk-el-metric"><span>Przyjęta moc elektryczna</span><strong id="rk-el-out-ideal-power">—</strong></div>
   <div class="rk-el-metric"><span>Teoretyczna długość czynna</span><strong id="rk-el-out-ideal-length">—</strong></div>
   <div class="rk-el-metric"><span>Przybliżony rozstaw osiowy</span><strong id="rk-el-out-ideal-spacing">—</strong></div>
  </div><h4>Parametry rozważanego kompletnego zestawu</h4><div class="rk-el-metrics rk-el-metrics-four">
   <div class="rk-el-metric"><span>Długość czynna zestawu</span><strong id="rk-el-out-set-length">—</strong></div>
   <div class="rk-el-metric"><span>Moc elektryczna zestawu</span><strong id="rk-el-out-set-power">—</strong></div>
   <div class="rk-el-metric"><span>Moc na m² strefy</span><strong id="rk-el-out-set-density">—</strong></div>
   <div class="rk-el-metric"><span>Przybliżony rozstaw zestawu</span><strong id="rk-el-out-set-spacing">—</strong></div>
  </div><div class="rk-el-result-extra"><p id="rk-el-out-cable-comparison">Podaj rzeczywistą długość, aby porównać kompletny zestaw z założeniem.</p></div></div>
  <div class="rk-el-result-columns"><div class="rk-el-result-column"><h4>Ocena wpisanych danych</h4><ul id="rk-el-cable-findings"><li>Oczekiwanie na obliczenia.</li></ul></div><div class="rk-el-result-column"><h4>Co nadal trzeba sprawdzić</h4><ul id="rk-el-cable-checks"><li>Instrukcję zestawu, plan ułożenia i konstrukcję podłogi.</li></ul></div></div>
  <p class="rk-el-disclaimer">Wynik dotyczy mocy znamionowej i uproszczonej geometrii. Nie potwierdza mocy użytecznej oddawanej do pokoju, temperatury powierzchni ani bezpieczeństwa całego obwodu. Dobór zabezpieczeń, zasilania i wykonanie pomiarów wymagają oceny właściwego specjalisty.</p>
 </div>
</div>
<div class="rk-el-check-panel"><h3>Zanim kupisz zestaw, sprawdź te pięć danych</h3><p><strong>Powierzchnia, wymiary strefy, moc znamionowa, ograniczenia montażowe i zgodność warstw podłogi.</strong> Sam wynik w watach nie zastępuje rozrysowania maty lub kabla. Porównaj parametry dokładnego zestawu z jego dokumentacją, zanim zamówisz materiał.</p></div>
</section>
<section class="rk-el-section " id="rk-el-density"><span class="rk-el-eyebrow">Moc wynika z zastosowania</span><h2 class="rk-el-section-title">Ile W/m² potrzebuje elektryczne ogrzewanie podłogowe?</h2><p class="rk-el-lead">Wartości 100, 150 czy 200 W/m² spotykane w ofertach opisują określone produkty. Nie są samodzielnym doborem ogrzewania do dowolnego pokoju. Najpierw określ rolę systemu i dopuszczony układ warstw.</p><div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Komfort podłogi</h3><p>Celem może być przyjemna temperatura płytek poza sezonem. Liczą się sterowanie, bezwładność, dostępna strefa i dopuszczalna temperatura, nie wyłącznie straty całego pomieszczenia.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Ogrzewanie podstawowe</h3><p>Potrzebne jest projektowe obciążenie cieplne pokoju i sprawdzenie zdolności oddawania ciepła przez podłogę. Gdy strefa grzejna jest mała, samo zwiększenie W/m² może przekroczyć ograniczenia.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Konstrukcja podłogi</h3><p>Położenie kabla, grubość warstw, izolacja w dół i opór okładziny zmieniają warunki pracy. Identyczna moc elektryczna nie oznacza identycznego czasu nagrzewania ani strumienia ciepła w górę.</p></div></div><div class="rk-el-note "><p><strong>Kalkulator nie przypisuje automatycznej mocy do nazwy pomieszczenia.</strong> W kalkulatorze maty podajesz parametr produktu. W kalkulatorze kabla wpisujesz założenie do obliczeń, które musi być sprawdzone dla wybranego zastosowania.</p></div><p class="rk-el-copy">Początek doboru ogrzewania podstawowego wyjaśnia poradnik <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">jak oblicza się straty cieplne w budynkach</a>. Wskaźnik dla całego domu nie zastępuje obciążenia konkretnej łazienki lub pokoju.</p></section>
<section class="rk-el-section " id="rk-el-mat"><span class="rk-el-eyebrow">Powierzchnia produktu i kształt podłogi</span><h2 class="rk-el-section-title">Jak dobrać powierzchnię maty grzewczej?</h2>
<p class="rk-el-lead">Mata ma fabrycznie określoną powierzchnię, moc i geometrię przewodu. Porównuj cały zestaw z dostępną strefą. Zakup większej maty, aby „mieć zapas”, może uniemożliwić prawidłowe ułożenie.</p>
<div class="rk-el-formula">P<sub>maty</sub> [W] = A<sub>maty</sub> [m²] × q<sub>maty</sub> [W/m²]</div>
<div class="rk-el-formula">Długość pasa [m] = A<sub>maty</sub> [m²] ÷ szerokość pasa [m]</div>
<div class="rk-el-table-wrap"><table><thead><tr><th scope="col">Co porównać</th><th scope="col">Dlaczego to ważne</th></tr></thead><tbody><tr><td data-label="Co porównać"><strong>Powierzchnia maty i strefy</strong></td><td data-label="Dlaczego to ważne">Mata nie może być dopasowana przez nakładanie na siebie elementów grzejnych. Sama zgodność m² nie potwierdza geometrii.</td></tr><tr><td data-label="Co porównać"><strong>Szerokość pasa</strong></td><td data-label="Dlaczego to ważne">Decyduje, czy pas zmieści się między przeszkodami i jak zaplanować zmiany kierunku.</td></tr><tr><td data-label="Co porównać"><strong>Moc W/m² maty</strong></td><td data-label="Dlaczego to ważne">Musi być dopuszczona w konkretnym układzie warstw i pod danym wykończeniem.</td></tr><tr><td data-label="Co porównać"><strong>Sposób zmiany kierunku</strong></td><td data-label="Dlaczego to ważne">Ewentualne przecięcie samej siatki i obracanie pasa wykonuje się tylko w sposób opisany w instrukcji. Przewód grzejny pozostaje nienaruszony.</td></tr><tr><td data-label="Co porównać"><strong>Połączenia i przewód zimny</strong></td><td data-label="Dlaczego to ważne">Ich położenie oraz sposób zatopienia i prowadzenia również wymagają zaplanowania.</td></tr></tbody></table></div><div class="rk-el-note rk-el-note-good"><p>Dla maty 5,5 m² o szerokości 0,5 m długość pasa wynosi 11 m. Nie oznacza to 11 m kabla grzejnego. Długość przewodu zależy od konstrukcji maty i danych konkretnego wyrobu.</p></div></section>
<section class="rk-el-section rk-el-soft" id="rk-el-cable"><span class="rk-el-eyebrow">Długość czynna i średni rozstaw</span><h2 class="rk-el-section-title">Ile metrów kabla potrzeba i jaki będzie rozstaw?</h2>
<p class="rk-el-lead">Dla oporowego zestawu kablowego przyjmujemy znamionową moc liniową z dokumentacji. Wzory porządkują zależność między mocą, długością i powierzchnią; rzeczywisty plan musi jeszcze uwzględnić nawroty oraz wymagane odległości.</p>
<div class="rk-el-formula">P [W] = A [m²] × q [W/m²]</div>
<div class="rk-el-formula">L [m] = P [W] ÷ p<sub>l</sub> [W/m]</div>
<div class="rk-el-formula">s [cm] ≈ 100 × A [m²] ÷ L [m]</div>
<p class="rk-el-copy">A oznacza strefę ułożenia, q przyjętą moc powierzchniową, p<sub>l</sub> moc liniową, L długość czynną, a s przybliżony rozstaw osiowy. Dla kabla o mocy 10 W/m teoretyczna ilość na 1 m² wynosi q ÷ 10. Przy założeniu 125 W/m² będzie to 12,5 m kabla na m².</p>
<div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Cały zestaw oporowy</h3><p>Nie traktuj długości obliczeniowej jako polecenia skrócenia kupionego zestawu. Zmiana długości oporowego elementu zmienia jego właściwości; dopuszczone działania określa dokumentacja.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Czynny i zimny odcinek</h3><p>Przewód doprowadzający zasilanie nie jest dodatkową długością grzejną. Sprawdź, czy deklarowany metraż obejmuje część grzejną czy sumę różnych odcinków.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Kabel dwużyłowy</h3><p>Dwie żyły nie oznaczają podwojenia długości rozłożonego przewodu. W kalkulatorze podaj metraż czynnego zestawu wskazany w jego specyfikacji.</p></div></div><div class="rk-el-note "><p>Artykuł i kalkulator dotyczą znamionowych oporowych zestawów do ogrzewania podłogi. Kabli samoregulujących, przewodów docinanych według odrębnej procedury i instalacji przeciwoblodzeniowych nie dobieramy tym modelem.</p></div><p class="rk-el-copy">Rozstaw liczony z A/L jest wartością średnią. Nie potwierdza zachowania lokalnych odległości między przewodami, promieni gięcia, odstępów od ścian ani poprawnego przejścia przez nieregularną strefę.</p></section>
<section class="rk-el-section " id="rk-el-spacing"><span class="rk-el-eyebrow">Interaktywny wykres edukacyjny</span><h2 class="rk-el-section-title">Jak rozstaw kabla wpływa na W/m²?</h2>
<p class="rk-el-lead">Przy tej samej mocy liniowej mniejszy rozstaw oznacza więcej kabla i większą moc elektryczną na m². Wykres przedstawia tę zależność algebraiczną. Nie symuluje temperatury ani szybkości nagrzewania.</p>
<div class="rk-el-formula">q [W/m²] ≈ 100 × p<sub>l</sub> [W/m] ÷ s [cm]</div>
<div class="rk-el-chart" id="rk-el-chart"><h3 id="rk-el-chart-title">Rozstaw a zainstalowana moc powierzchniowa</h3><p id="rk-el-chart-help">Wykres korzysta wyłącznie z danych kalkulatora kabla. Wskazuj punkty wykresu lub użyj suwaka. Podgląd wariantu nie zmienia danych kupowanego zestawu.</p>
 <div class="rk-el-chart-empty" id="rk-el-chart-empty">Wykres wymaga poprawnych danych w kalkulatorze kabla.</div>
 <div id="rk-el-chart-active" hidden="">
  <div class="rk-el-chart-legend"><span><i class="rk-el-swatch" aria-hidden="true"></i>Zależność dla wpisanych W/m</span><span><i class="rk-el-swatch rk-el-swatch-ideal" aria-hidden="true"></i>Założenie teoretyczne</span><span><i class="rk-el-swatch rk-el-swatch-set" aria-hidden="true"></i>Rozważany zestaw</span><span><i class="rk-el-swatch rk-el-swatch-limit" aria-hidden="true"></i>Wpisane ograniczenia</span></div>
  <div class="rk-el-chart-holder" id="rk-el-chart-holder"><svg class="rk-el-chart-svg" id="rk-el-chart-svg" viewBox="0 0 800 340" role="img" aria-labelledby="rk-el-chart-title rk-el-chart-desc"><desc id="rk-el-chart-desc">Krzywa q równa się 100 razy moc liniowa podzielona przez rozstaw. Ograniczenia odnoszą się wyłącznie do wartości wpisanych z instrukcji.</desc></svg></div>
  <label class="rk-el-chart-slider" for="rk-el-spacing-slider">Rozstaw badanego wariantu <input type="range" id="rk-el-spacing-slider" min="5" max="25" step="0.1" value="10" aria-describedby="rk-el-chart-help"></label>
  <div class="rk-el-preview"><div><span>Rozstaw osiowy</span><strong id="rk-el-preview-spacing">—</strong></div><div><span>Moc powierzchniowa</span><strong id="rk-el-preview-density">—</strong></div><div><span>Teoretyczna długość</span><strong id="rk-el-preview-length">—</strong></div><div><span>Moc elektryczna</span><strong id="rk-el-preview-power">—</strong></div></div>
  <div class="rk-el-preview-status" id="rk-el-preview-status">Brak oceny ograniczeń.</div>
  <p class="rk-el-disclaimer" id="rk-el-chart-context">Zakres osi służy badaniu wariantów. Nie jest zalecanym zakresem montażu. Zacieniowane fragmenty oznaczają przekroczenie podanej granicy; pozostały obszar nie potwierdza zgodności całej instalacji.</p>
 </div>
</div>
</section>
<section class="rk-el-section rk-el-soft" id="rk-el-heat"><span class="rk-el-eyebrow">Moc elektryczna i ciepło w pomieszczeniu</span><h2 class="rk-el-section-title">Czy mata lub kabel mogą ogrzać całe pomieszczenie?</h2>
<p class="rk-el-lead">Mogą pełnić funkcję ogrzewania podstawowego, jeśli cały układ zapewni wymagane ciepło w warunkach projektowych. Do potwierdzenia potrzebne są obciążenie pomieszczenia i charakterystyka rzeczywistej podłogi.</p>
<div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Moc zainstalowana</h3><p>To moc elektryczna zestawu przy warunkach znamionowych. Ciepło rozchodzi się w konstrukcji, a część może płynąć w kierunku nieużytecznym dla ogrzewanego pokoju.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Moc oddawana w górę</h3><p>Zależy od warstw, izolacji, temperatury oraz sterowania. Limity okładziny i podłogi mogą ograniczać pracę mimo większej mocy przewodu.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Straty konkretnego pokoju</h3><p>Ogrzewanie musi pokryć obciążenie przy obliczeniowych warunkach zewnętrznych. Dobre samopoczucie przy ciepłych płytkach nie potwierdza pokrycia tego obciążenia.</p></div></div><div class="rk-el-note "><p><strong>Nie stosujemy automatycznej oceny „wystarczy”, gdy moc kabla jest większa od strat pokoju.</strong> Trzeba jeszcze potwierdzić możliwą moc użyteczną, dopuszczalne temperatury i warunki montażu. Powiększanie W/m² bez tej oceny może prowadzić do niewłaściwego doboru.</p></div><p class="rk-el-copy">Dla instalacji pomocniczej najpierw opisz oczekiwany komfort i harmonogram. Dla ogrzewania podstawowego zacznij od obliczeń pomieszczenia, a następnie sprawdź, czy dostępna strefa podłogi może spełnić to zadanie.</p></section>
<section class="rk-el-section " id="rk-el-example"><span class="rk-el-eyebrow">Przykład bez uniwersalnej mocy</span><h2 class="rk-el-section-title">Dobór do łazienki krok po kroku</h2>
<p class="rk-el-lead">Poniższe liczby są hipotetycznym przykładem obliczeń. Nie oznaczają, że każda łazienka powinna mieć 125 albo 150 W/m² ani minimalny rozstaw 8 cm.</p>
<ol class="rk-el-steps"><li>Powierzchnia pomieszczenia wynosi <strong>10 m²</strong>.</li><li>Suma wyłączeń i odstępów z planu wynosi <strong>4 m²</strong>.</li><li>Do montażu pozostaje <strong>6 m²</strong>, których kształt trzeba sprawdzić na rzucie.</li><li>Porównujemy matę <strong>5,5 m² × 150 W/m² = 825 W</strong>. Zajmuje 91,7% dostępnej strefy.</li><li>W wariancie kabla przyjmujemy edukacyjnie <strong>125 W/m² i 10 W/m</strong>. Wynik teoretyczny to 750 W, 75 m i rozstaw około 8 cm.</li><li>Sprawdzamy parametry faktycznego zestawu, a następnie porównujemy je z instrukcją.</li></ol>
<div class="rk-el-table-wrap"><table><caption>Hipotetyczne warianty: tabela nie potwierdza dostępności zestawów ani dopuszczenia montażu.</caption><thead><tr><th scope="col">Wariant kabla</th><th scope="col">Moc elektryczna</th><th scope="col">Moc na 6 m²</th><th scope="col">Rozstaw przybliżony</th></tr></thead><tbody><tr><td data-label="Wariant kabla">70 m przy 10 W/m</td><td data-label="Moc elektryczna">700 W</td><td data-label="Moc na 6 m²">116,7 W/m²</td><td data-label="Rozstaw przybliżony">8,57 cm</td></tr><tr><td data-label="Wariant kabla">75 m przy 10 W/m — wynik teoretyczny</td><td data-label="Moc elektryczna">750 W</td><td data-label="Moc na 6 m²">125,0 W/m²</td><td data-label="Rozstaw przybliżony">8,00 cm</td></tr><tr><td data-label="Wariant kabla">80 m przy 10 W/m</td><td data-label="Moc elektryczna">800 W</td><td data-label="Moc na 6 m²">133,3 W/m²</td><td data-label="Rozstaw przybliżony">7,50 cm</td></tr></tbody></table></div><div class="rk-el-note rk-el-note-stop"><p>Jeśli dokumentacja analizowanego systemu wymagałaby minimum 8 cm, zestaw 80 m na strefie 6 m² nie mieściłby się w tym uproszczonym sprawdzeniu. Nie rozwiązuje się tego przez skrócenie zestawu ani układanie przewodu w niedopuszczonych miejscach.</p></div><p class="rk-el-copy">Przycisk „Sprawdź przykład kabla 80 m” wczytuje właśnie ten przypadek oraz hipotetyczne ograniczenia: minimum 8 cm i maksimum 150 W/m². Przed użyciem własnych danych zastąp je wymaganiami swojego systemu albo usuń, jeżeli jeszcze ich nie znasz.</p></section>
<section class="rk-el-section rk-el-soft" id="rk-el-floor"><span class="rk-el-eyebrow">Zgodność całego układu warstw</span><h2 class="rk-el-section-title">Płytki, panele i drewno — co sprawdzić przed zakupem?</h2>
<p class="rk-el-lead">Dobór dotyczy nie tylko przewodu. Sprawdź, czy element grzejny, podłoże, masa montażowa, hydroizolacja i wykończenie są przewidziane do wspólnej pracy w takim układzie.</p>
<div class="rk-el-table-wrap"><table><thead><tr><th scope="col">Wykończenie</th><th scope="col">Najważniejsze sprawdzenie</th><th scope="col">Błędne uproszczenie</th></tr></thead><tbody><tr><td data-label="Wykończenie"><strong>Płytki</strong></td><td data-label="Najważniejsze sprawdzenie">Dopuszczony sposób zatopienia elementu i kompatybilność kleju, podłoża oraz hydroizolacji.</td><td data-label="Błędne uproszczenie">„Pod płytkami każda moc jest dopuszczalna”.</td></tr><tr><td data-label="Wykończenie"><strong>Panele i winyl</strong></td><td data-label="Najważniejsze sprawdzenie">Dopuszczenie produktu do konkretnego ogrzewania, ograniczenia temperatury i wymagane warstwy.</td><td data-label="Błędne uproszczenie">„Symbol ogrzewania podłogowego potwierdza każdy sposób montażu”.</td></tr><tr><td data-label="Wykończenie"><strong>Drewno</strong></td><td data-label="Najważniejsze sprawdzenie">Wymagania dotyczące temperatury, wilgotności, stabilności i rodzaju układu grzewczego.</td><td data-label="Błędne uproszczenie">„Wystarczy obniżyć nastawę termostatu”.</td></tr><tr><td data-label="Wykończenie"><strong>Dywan i dodatkowe warstwy</strong></td><td data-label="Najważniejsze sprawdzenie">Wpływ na oddawanie ciepła oraz dopuszczenie pokrywania ogrzewanej strefy.</td><td data-label="Błędne uproszczenie">„Wyposażenie ustawione po odbiorze nie ma znaczenia”.</td></tr></tbody></table></div><p class="rk-el-copy">Parametr materiałowy wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%C2%B2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporze cieplnym R wykończenia podłogi</a>. Jego wyliczenie pomaga ocenić warstwy, ale samo R nie potwierdza dopuszczenia maty lub kabla do montażu.</p><div class="rk-el-note rk-el-note-good"><p>Nie przenoś automatycznie na ogrzewanie elektryczne wszystkich liczb używanych w projektowaniu podłogówki wodnej. Granice temperatury, mocy i sposób wykonania należy ustalić dla konkretnego układu.</p></div></section>
<section class="rk-el-section " id="rk-el-control"><span class="rk-el-eyebrow">Sterowanie i sprawdzenie obwodu</span><h2 class="rk-el-section-title">Termostat, czujnik i instalacja elektryczna</h2>
<p class="rk-el-lead">Kalkulator podaje moc elektryczną zestawu. Na tej podstawie elektryk może rozpocząć weryfikację obwodu, obciążenia regulatora i wymaganych środków ochrony. Sam wynik w watach nie dobiera zabezpieczenia.</p>
<div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Sterowanie temperaturą</h3><p>Dobierz regulator i wymagane czujniki do zastosowania. Przy wrażliwym wykończeniu kontrola temperatury podłogi ma inne zadanie niż samo utrzymanie temperatury powietrza.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Obciążenie i ochrona</h3><p>Sprawdź parametry regulatora, sposób przełączania, zasilanie, obwód i środki ochrony przeciwporażeniowej. Łazienka wymaga także uwzględnienia warunków dla pomieszczenia z wanną lub prysznicem.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Odbiór i pomiary</h3><p>Przewidź oględziny, pomiary wymagane dla instalacji i zapisy parametrów zestawu na etapach robót. Rezystancja elementu, izolacja i ciągłość ochronna opisują różne sprawdzenia.</p></div></div><div class="rk-el-note rk-el-note-stop"><p>Nie uruchamiaj zestawu w sposób wykluczony przez instrukcję, w tym na zwiniętym kręgu. Pierwsze grzanie zatopionego układu musi uwzględniać wymagany czas i procedurę dla zastosowanych materiałów.</p></div><p class="rk-el-copy">Zakres sprawdzeń elektrycznych i wartości pomiarowe ustala się dla konkretnego układu. Nie podajemy tu jednej rezystancji właściwej dla wszystkich mat, uniwersalnego przekroju przewodu ani schematu samodzielnego podłączenia.</p></section>
<section class="rk-el-section rk-el-soft" id="rk-el-errors"><span class="rk-el-eyebrow">Pomyłki zmieniające dobór</span><h2 class="rk-el-section-title">Najczęstsze błędy przy doborze maty i kabla</h2><div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Powierzchnia brutto</h3><p>Kupowanie maty z metrażu pokoju bez wyłączeń może dać zestaw, którego nie da się prawidłowo rozłożyć.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Zapas przewodu</h3><p>Dodatkowe metry oporowego zestawu nie są zapasem do odcięcia. Trzeba przeliczyć jego moc i rozstaw dla całej długości.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Pomylenie W/m i W/m²</h3><p>Moc liniowa nie jest mocą powierzchniową. Rozstaw decyduje o ilości kabla na m².</p></div><div class="rk-el-card"><span class="rk-el-number">04</span><h3>Podwójna długość</h3><p>Kabel dwużyłowy nie wymaga mnożenia metrażu przez dwa. Przewód zimny również nie jest czynnym elementem grzejnym.</p></div><div class="rk-el-card"><span class="rk-el-number">05</span><h3>Moc jako diagnoza komfortu</h3><p>Więcej watów z etykiety nie naprawia niewłaściwej konstrukcji, ograniczeń temperatury lub zbyt małej strefy.</p></div><div class="rk-el-card"><span class="rk-el-number">06</span><h3>Pomijanie geometrii</h3><p>Średni rozstaw z kalkulatora nie chroni przed lokalnym zbliżeniem przewodów, krzyżowaniem ani niewłaściwymi nawrotami.</p></div><div class="rk-el-card"><span class="rk-el-number">07</span><h3>Brak danych ograniczeń</h3><p>Wynik bez znanego minimalnego rozstawu i dopuszczonej mocy pozostaje obliczeniem wymagającym dalszego sprawdzenia.</p></div><div class="rk-el-card"><span class="rk-el-number">08</span><h3>Waty jako rachunek</h3><p>Zainstalowana moc nie jest miesięczną energią. Harmonogram i termostat zmieniają rzeczywisty czas załączenia.</p></div><div class="rk-el-card"><span class="rk-el-number">09</span><h3>Brak dokumentacji robót</h3><p>Po zakryciu podłogi trudniej odtworzyć trasę i ustalić moment uszkodzenia bez zdjęć oraz zapisów pomiarów.</p></div></div></section>
<section class="rk-el-section " id="rk-el-checklist"><span class="rk-el-eyebrow">Dane dla wykonawcy i odbioru</span><h2 class="rk-el-section-title">Checklista przed zakupem i zakryciem ogrzewania</h2><p class="rk-el-lead">Zachowaj parametry zestawu oraz wynik obliczeń, ale dołącz też rzut. Dokumentacja powinna pozwolić odtworzyć, gdzie znajduje się ogrzewanie i jakie warunki przyjęto.</p><div class="rk-el-grid-3"><div class="rk-el-card"><span class="rk-el-number">01</span><h3>Określ rolę ogrzewania</h3><p>Ustal, czy podłoga zapewnia komfort powierzchni, czy jest ogrzewaniem podstawowym pomieszczenia.</p></div><div class="rk-el-card"><span class="rk-el-number">02</span><h3>Wyznacz strefę montażu</h3><p>Zaznacz wyłączenia i wymagane odstępy na rzucie, a następnie oblicz rzeczywistą powierzchnię.</p></div><div class="rk-el-card"><span class="rk-el-number">03</span><h3>Zapisz parametry zestawu</h3><p>Odczytaj moc, powierzchnię maty albo długość czynną i moc liniową kabla dla właściwego napięcia znamionowego.</p></div><div class="rk-el-card"><span class="rk-el-number">04</span><h3>Oblicz i porównaj warianty</h3><p>Policz moc, długość teoretyczną i przybliżony rozstaw; dla rzeczywistego zestawu wykonaj ponowne przeliczenie.</p></div><div class="rk-el-card"><span class="rk-el-number">05</span><h3>Sprawdź ograniczenia i warstwy</h3><p>Porównaj wynik z instrukcją, dopuszczonym wykończeniem, temperaturami i rzeczywistym planem ułożenia.</p></div><div class="rk-el-card"><span class="rk-el-number">06</span><h3>Zweryfikuj obwód i udokumentuj montaż</h3><p>Przekaż dane elektrykowi, przewidź wymagane pomiary i zachowaj zdjęcia oraz protokoły przed zakryciem.</p></div></div>
<div class="rk-el-check-panel"><h3>Co przekazać elektrykowi przed montażem?</h3><p>Plan strefy, moc i napięcie znamionowe zestawu, długość czynną lub powierzchnię maty, instrukcję montażu, dane regulatora i czujników oraz układ warstw podłogi. Wskaż rolę ogrzewania i ograniczenia wykończenia.</p><p>Przed zakryciem zachowaj zdjęcia tras i połączeń oraz wyniki wymaganych pomiarów. Jeżeli coś nie pasuje do dokumentacji, wyjaśnij to przed kolejnym etapem robót.</p></div></section>
<section class="rk-el-section rk-el-soft" id="rk-el-sources"><span class="rk-el-eyebrow">Oficjalne i edukacyjne podstawy</span><h2 class="rk-el-section-title">Źródła i zakres obliczeń</h2><p class="rk-el-lead">Odwołania poniżej prowadzą do instytucji normalizacyjnej i otwartego podręcznika akademickiego. W artykule nie wskazujemy marek ani sklepów. Wymagania szczegółowe trzeba sprawdzić w pełnej dokumentacji właściwej dla zastosowania.</p><div class="rk-el-source-grid"><div class="rk-el-source-card"><a href="https://webstore.iec.ch/en/publication/1909" target="_blank" rel="nofollow noopener noreferrer">IEC 60364-7-753:2014 — elektryczne ogrzewanie powierzchniowe</a><p>Oficjalna karta zakresu dotyczącego kabli grzejnych i wbudowanych systemów ogrzewania elektrycznego. Nie jest tabelą uniwersalnej mocy do każdej łazienki.</p></div><div class="rk-el-source-card"><a href="https://webstore.iec.ch/en/publication/114479" target="_blank" rel="nofollow noopener noreferrer">IEC 60800:2021+AMD1:2026 — oporowe kable grzejne</a><p>Oficjalna karta aktualnej wersji skonsolidowanej, obejmującej oporowe kable i zestawy do zastosowań niskotemperaturowych. Montaż i zestawianie elementów odnoszą się do instrukcji systemu.</p></div><div class="rk-el-source-card"><a href="https://webstore.iec.ch/en/publication/24656" target="_blank" rel="nofollow noopener noreferrer">IEC 60364-6:2016 — sprawdzanie instalacji</a><p>Oficjalna karta dotycząca sprawdzania początkowego i okresowego instalacji elektrycznej. Publiczny opis nie zastępuje pełnej procedury ani protokołu pomiarowego.</p></div><div class="rk-el-source-card"><a href="https://webstore.iec.ch/en/publication/28906" target="_blank" rel="nofollow noopener noreferrer">IEC 60364-7-701:2019 — pomieszczenia z wanną lub prysznicem</a><p>Oficjalna karta zakresu szczególnych wymagań dla instalacji w miejscach, w których przewidziano wannę albo prysznic.</p></div><div class="rk-el-source-card"><a href="https://openstax.org/books/university-physics-volume-2/pages/9-5-electrical-energy-and-power" target="_blank" rel="nofollow noopener noreferrer">OpenStax / Rice University — energia i moc elektryczna</a><p>Otwarty podręcznik akademicki wyjaśniający moc obwodu oraz przemianę energii w elemencie oporowym. Wzory powierzchni i długości w kalkulatorze są jawnymi zależnościami wymiarowymi.</p></div></div><div class="rk-el-note "><p>Publiczne karty norm potwierdzają tytuł, wydanie i zakres dokumentów. Nie zastępują ich pełnej treści. Normy IEC nie są automatycznie deklaracją spełnienia wszystkich aktualnych wymagań krajowych; właściwe dokumenty i instrukcje trzeba ustalić dla konkretnej instalacji.</p></div><div class="rk-el-note rk-el-note-stop"><p><strong>Zakres narzędzia:</strong> moc znamionowa, porównanie powierzchni, teoretyczna długość czynna i średni rozstaw. Kalkulator nie wyznacza OZC, mocy użytecznej podłogi, temperatury powierzchni, zużycia energii, zabezpieczenia obwodu ani dopuszczenia produktu. Wynik wymaga sprawdzenia geometrii, warstw i dokumentacji.</p></div></section>
<section class="rk-el-section " id="rk-el-faq"><span class="rk-el-eyebrow">Pytania przed zakupem</span><h2 class="rk-el-section-title">FAQ — kalkulator maty i kabla grzewczego</h2><div class="rk-el-faq"><details><summary>Ile kabla grzewczego potrzeba na 1 m²?</summary><div class="rk-el-faq-answer"><p>Teoretyczna długość na 1 m² wynosi przyjęta moc powierzchniowa W/m² podzielona przez moc liniową W/m. Dla 125 W/m² i 10 W/m daje to 12,5 m na m². Jest to przykład obliczenia, nie uniwersalne zalecenie. Rzeczywisty zestaw i rozstaw wymagają sprawdzenia w dokumentacji.</p></div></details><details><summary>Jak obliczyć rozstaw kabla grzewczego?</summary><div class="rk-el-faq-answer"><p>Przybliżony średni rozstaw osiowy w centymetrach wynosi 100 razy powierzchnia strefy w m² podzielona przez długość czynną w metrach. Wzór nie sprawdza lokalnych odległości, nawrotów i przeszkód; trzeba je uwzględnić na planie.</p></div></details><details><summary>Jak dużą matę kupić do łazienki?</summary><div class="rk-el-faq-answer"><p>Dobierz ją do powierzchni rzeczywiście dostępnej po uwzględnieniu wyłączeń i odstępów z instrukcji. Porównaj również szerokość pasa i kształt strefy. Sama suma metrów kwadratowych nie potwierdza, że mata da się prawidłowo ułożyć.</p></div></details><details><summary>Czy powierzchnię pod wanną i zabudową trzeba odjąć?</summary><div class="rk-el-faq-answer"><p>Odlicza się miejsca wyłączone z montażu przez dokumentację konkretnego systemu oraz wymagane odstępy. Rodzaj zabudowy i możliwość oddawania ciepła mają znaczenie. Nie odejmuj tego samego fragmentu podłogi dwukrotnie.</p></div></details><details><summary>Czy mata 150 W/m² wystarczy do ogrzewania pomieszczenia?</summary><div class="rk-el-faq-answer"><p>Sama moc znamionowa nie daje takiej odpowiedzi. Potrzebne są straty ciepła pomieszczenia, powierzchnia maty oraz ocena mocy użytecznej rzeczywistej podłogi przy dopuszczalnych temperaturach i zastosowanej okładzinie.</p></div></details><details><summary>Czy większa moc oznacza większe zużycie prądu?</summary><div class="rk-el-faq-answer"><p>Większa moc oznacza większy pobór podczas załączenia przy warunkach znamionowych. Zużycie energii zależy również od czasu pracy, strat, nastaw i sterowania. Nie można z samej mocy zestawu wyznaczyć wiarygodnego miesięcznego rachunku.</p></div></details><details><summary>Czy można skrócić kabel grzewczy?</summary><div class="rk-el-faq-answer"><p>Fabrycznego oporowego zestawu o określonej długości nie dopasowuje się przez dowolne odcinanie czynnego przewodu. Dopuszczone działania określa dokumentacja. Kalkulator nie obejmuje odrębnego doboru kabli samoregulujących ani przewodów przeznaczonych do docinania.</p></div></details><details><summary>Czy można przeciąć siatkę maty?</summary><div class="rk-el-faq-answer"><p>Jeżeli instrukcja dopuszcza zmianę kierunku przez przecięcie siatki, wykonuje się ją zgodnie z opisem systemu, bez uszkadzania kabla. Nie oznacza to zgody na skrócenie przewodu grzejnego.</p></div></details><details><summary>Czy przewód zimny wlicza się do długości grzejnej?</summary><div class="rk-el-faq-answer"><p>Nie. W obliczeniu mocy i rozstawu używa się czynnej długości grzejnej. Odcinek doprowadzający zasilanie oraz połączenia należy uwzględnić osobno w planie montażu.</p></div></details><details><summary>Czy kabel dwużyłowy liczy się podwójnie?</summary><div class="rk-el-faq-answer"><p>Nie. Podajesz długość czynnego zestawu wskazaną w specyfikacji. Liczba żył nie podwaja metrażu przewodu rozkładanego na podłodze.</p></div></details><details><summary>Czy kabel może się krzyżować lub stykać?</summary><div class="rk-el-faq-answer"><p>Nie planuj krzyżowania ani stykania przewodów wbrew instrukcji zestawu. Zachowaj wymagane odległości lokalne i sposób prowadzenia. Wyliczony średni rozstaw nie jest kontrolą każdego miejsca ułożenia.</p></div></details><details><summary>Czy matę można zamontować pod panelami albo drewnem?</summary><div class="rk-el-faq-answer"><p>Tylko w układzie dopuszczonym dla danego elementu grzejnego, wykończenia i pozostałych warstw. Sprawdź ograniczenia temperatury, mocy i sposób montażu. Ogólny symbol ogrzewania podłogowego nie potwierdza zgodności każdego systemu.</p></div></details><details><summary>Co zrobić, gdy długość teoretyczna nie odpowiada dostępnym zestawom?</summary><div class="rk-el-faq-answer"><p>Porównaj kompletne zestawy, ponownie obliczając moc, W/m² i rozstaw dla ich rzeczywistych długości. Dobór może wymagać zmiany zestawu lub założenia, zgodnie z dokumentacją. Nie rozwiązuj różnicy przez dowolne skracanie przewodu.</p></div></details><details><summary>Czy kalkulator dobiera termostat i zabezpieczenie elektryczne?</summary><div class="rk-el-faq-answer"><p>Nie. Podaje moc znamionową zestawu. Dobór zasilania, obwodu, zabezpieczeń, regulatora i wymaganych środków ochrony oraz sprawdzenie instalacji wymagają osobnej oceny.</p></div></details><details><summary>Czy z mocy maty można obliczyć miesięczny rachunek?</summary><div class="rk-el-faq-answer"><p>Można wyliczyć energię dla jawnie przyjętego czasu załączenia, ale nie będzie to prognoza rzeczywistej pracy termostatu. Rachunek wymaga znajomości zużycia energii i ceny, a nie tylko mocy w watach.</p></div></details><details><summary>Jakie pomiary wykonać przed zakryciem ogrzewania?</summary><div class="rk-el-faq-answer"><p>Zakres ustala się według instrukcji zestawu i wymagań instalacji. Należy przewidzieć właściwe oględziny oraz pomiary elementu, izolacji i ochrony, a także dokumentowanie ich na etapach robót. Pomiary oraz ich interpretację powierz osobie z odpowiednimi kwalifikacjami.</p></div></details></div></section>
<section class="rk-el-section rk-el-soft" id="rk-el-author"><span class="rk-el-eyebrow">Autor i metoda opracowania</span><h2 class="rk-el-section-title">Autor i opracowanie merytoryczne</h2>
<div class="rk-el-author-layout"><aside class="rk-el-author-side"><div class="rk-el-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji grzewczych i specjalista HVAC" width="400" height="400" loading="lazy" decoding="async"></div><div class="rk-el-author-name">Robert Kucharski</div><p class="rk-el-author-role">CEO portalu<br>specjalista HVAC i ogrzewania podłogowego</p><div class="rk-el-author-social" aria-label="Profile autora i portalu"><a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego">in</a><a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Facebook Projekt Ogrzewania">f</a><a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt HVAC w serwisie X">X</a></div></aside>
<div class="rk-el-author-main"><div class="rk-el-author-note">Powierzchnia, moc i długość muszą odnosić się do tego samego zestawu i tej samej strefy podłogi. Obliczenia są początkiem weryfikacji, a plan i dokumentacja pozwalają ocenić możliwość montażu.</div><p>Robert Kucharski opracowuje projekty instalacji grzewczych, obliczenia cieplne i hydrauliczne oraz materiały edukacyjne dla inwestorów i wykonawców. W poradnikach wyjaśnia różnicę między parametrem katalogowym, założeniem obliczeniowym i warunkami rzeczywistej instalacji.</p><p>W tym materiale zakres kalkulatora obejmuje moc znamionową oraz zależności geometryczne mat i oporowych zestawów kablowych. Ocena instalacji elektrycznej, dobór środków ochrony i wykonanie pomiarów stanowią odrębny zakres wymagający właściwych kompetencji.</p><p>Publikuje również w portalach <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> i <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. <a href="https://projekt-ogrzewania.pl/author/admin3399/">Zobacz pozostałe artykuły Roberta Kucharskiego w serwisie Projekt-Ogrzewania.pl</a>.</p><div class="rk-el-author-facts"><div><strong>Zakres</strong>HVAC, ogrzewanie podłogowe i obliczenia instalacji</div><div><strong>Metoda</strong>jawne wzory, dokumentacja i sprawdzenie ograniczeń</div><div><strong>Publikacja</strong>5 października 2026 r.</div></div></div></div>
</section></div></article>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski-image"
      },
      "jobTitle": "Projektant instalacji grzewczych i specjalista HVAC",
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "obliczenia cieplne",
        "hydraulika instalacji grzewczych",
        "moc instalacji grzewczych"
      ],
      "worksFor": [
        {
          "@id": "https://projekt-ogrzewania.pl/#organization"
        },
        {
          "@id": "https://remont.biz.pl/#organization"
        },
        {
          "@id": "https://sobir.pl/#organization"
        }
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski-image",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "width": 400,
      "height": 400,
      "caption": "Robert Kucharski — projektant instalacji grzewczych i specjalista HVAC"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-electric-breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Poradniki",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla potrzeba",
          "item": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#webpage",
      "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/",
      "name": "Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla potrzeba",
      "description": "Kalkulator powierzchni maty, mocy elektrycznej, długości kabla grzewczego i rozstawu z jawnymi ograniczeniami obliczeń.",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-electric-breadcrumb"
      },
      "datePublished": "2026-10-05",
      "dateModified": "2026-10-05",
      "inLanguage": "pl-PL",
      "mainEntity": {
        "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#article"
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#article",
      "headline": "Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla potrzeba",
      "description": "Jak obliczyć matę i oporowy zestaw kablowy: powierzchnia dostępna, W/m², W/m, długość czynna i średni rozstaw.",
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#webpage"
      },
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#robert-kucharski"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "datePublished": "2026-10-05",
      "dateModified": "2026-10-05",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "about": [
        "maty grzewcze",
        "oporowe kable grzejne",
        "elektryczne ogrzewanie podłogowe",
        "moc powierzchniowa",
        "rozstaw kabla grzewczego"
      ],
      "keywords": "kalkulator maty i kabla grzewczego, kable grzewcze kalkulator, ile kabla grzewczego na m², rozstaw kabla grzewczego",
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#calculator"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#howto"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#faq-schema"
        }
      ],
      "citation": [
        "https://webstore.iec.ch/en/publication/1909",
        "https://webstore.iec.ch/en/publication/114479",
        "https://webstore.iec.ch/en/publication/24656",
        "https://webstore.iec.ch/en/publication/28906",
        "https://openstax.org/books/university-physics-volume-2/pages/9-5-electrical-energy-and-power"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#calculator",
      "name": "Kalkulator maty i kabla grzewczego",
      "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-calc",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Nowoczesna przeglądarka internetowa",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#webpage"
      },
      "description": "Dwa niezależne kalkulatory: mocy maty oraz długości i rozstawu oporowego kabla. Porównanie kompletnego zestawu, kontrola wpisanych ograniczeń i wykres mocy względem rozstawu."
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#howto",
      "name": "Jak sprawdzić matę lub kabel grzewczy przed zakupem",
      "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist",
      "inLanguage": "pl-PL",
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Określ rolę ogrzewania",
          "text": "Ustal, czy podłoga zapewnia komfort powierzchni, czy jest ogrzewaniem podstawowym pomieszczenia.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Wyznacz strefę montażu",
          "text": "Zaznacz wyłączenia i wymagane odstępy na rzucie, a następnie oblicz rzeczywistą powierzchnię.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Zapisz parametry zestawu",
          "text": "Odczytaj moc, powierzchnię maty albo długość czynną i moc liniową kabla dla właściwego napięcia znamionowego.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Oblicz i porównaj warianty",
          "text": "Policz moc, długość teoretyczną i przybliżony rozstaw; dla rzeczywistego zestawu wykonaj ponowne przeliczenie.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Sprawdź ograniczenia i warstwy",
          "text": "Porównaj wynik z instrukcją, dopuszczonym wykończeniem, temperaturami i rzeczywistym planem ułożenia.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Zweryfikuj obwód i udokumentuj montaż",
          "text": "Przekaż dane elektrykowi, przewidź wymagane pomiary i zachowaj zdjęcia oraz protokoły przed zakryciem.",
          "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-checklist"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#faq-schema",
      "url": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#rk-el-faq",
      "inLanguage": "pl-PL",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/#webpage"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Ile kabla grzewczego potrzeba na 1 m²?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Teoretyczna długość na 1 m² wynosi przyjęta moc powierzchniowa W/m² podzielona przez moc liniową W/m. Dla 125 W/m² i 10 W/m daje to 12,5 m na m². Jest to przykład obliczenia, nie uniwersalne zalecenie. Rzeczywisty zestaw i rozstaw wymagają sprawdzenia w dokumentacji."
          }
        },
        {
          "@type": "Question",
          "name": "Jak obliczyć rozstaw kabla grzewczego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Przybliżony średni rozstaw osiowy w centymetrach wynosi 100 razy powierzchnia strefy w m² podzielona przez długość czynną w metrach. Wzór nie sprawdza lokalnych odległości, nawrotów i przeszkód; trzeba je uwzględnić na planie."
          }
        },
        {
          "@type": "Question",
          "name": "Jak dużą matę kupić do łazienki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Dobierz ją do powierzchni rzeczywiście dostępnej po uwzględnieniu wyłączeń i odstępów z instrukcji. Porównaj również szerokość pasa i kształt strefy. Sama suma metrów kwadratowych nie potwierdza, że mata da się prawidłowo ułożyć."
          }
        },
        {
          "@type": "Question",
          "name": "Czy powierzchnię pod wanną i zabudową trzeba odjąć?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Odlicza się miejsca wyłączone z montażu przez dokumentację konkretnego systemu oraz wymagane odstępy. Rodzaj zabudowy i możliwość oddawania ciepła mają znaczenie. Nie odejmuj tego samego fragmentu podłogi dwukrotnie."
          }
        },
        {
          "@type": "Question",
          "name": "Czy mata 150 W/m² wystarczy do ogrzewania pomieszczenia?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sama moc znamionowa nie daje takiej odpowiedzi. Potrzebne są straty ciepła pomieszczenia, powierzchnia maty oraz ocena mocy użytecznej rzeczywistej podłogi przy dopuszczalnych temperaturach i zastosowanej okładzinie."
          }
        },
        {
          "@type": "Question",
          "name": "Czy większa moc oznacza większe zużycie prądu?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Większa moc oznacza większy pobór podczas załączenia przy warunkach znamionowych. Zużycie energii zależy również od czasu pracy, strat, nastaw i sterowania. Nie można z samej mocy zestawu wyznaczyć wiarygodnego miesięcznego rachunku."
          }
        },
        {
          "@type": "Question",
          "name": "Czy można skrócić kabel grzewczy?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Fabrycznego oporowego zestawu o określonej długości nie dopasowuje się przez dowolne odcinanie czynnego przewodu. Dopuszczone działania określa dokumentacja. Kalkulator nie obejmuje odrębnego doboru kabli samoregulujących ani przewodów przeznaczonych do docinania."
          }
        },
        {
          "@type": "Question",
          "name": "Czy można przeciąć siatkę maty?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Jeżeli instrukcja dopuszcza zmianę kierunku przez przecięcie siatki, wykonuje się ją zgodnie z opisem systemu, bez uszkadzania kabla. Nie oznacza to zgody na skrócenie przewodu grzejnego."
          }
        },
        {
          "@type": "Question",
          "name": "Czy przewód zimny wlicza się do długości grzejnej?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. W obliczeniu mocy i rozstawu używa się czynnej długości grzejnej. Odcinek doprowadzający zasilanie oraz połączenia należy uwzględnić osobno w planie montażu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy kabel dwużyłowy liczy się podwójnie?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Podajesz długość czynnego zestawu wskazaną w specyfikacji. Liczba żył nie podwaja metrażu przewodu rozkładanego na podłodze."
          }
        },
        {
          "@type": "Question",
          "name": "Czy kabel może się krzyżować lub stykać?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie planuj krzyżowania ani stykania przewodów wbrew instrukcji zestawu. Zachowaj wymagane odległości lokalne i sposób prowadzenia. Wyliczony średni rozstaw nie jest kontrolą każdego miejsca ułożenia."
          }
        },
        {
          "@type": "Question",
          "name": "Czy matę można zamontować pod panelami albo drewnem?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tylko w układzie dopuszczonym dla danego elementu grzejnego, wykończenia i pozostałych warstw. Sprawdź ograniczenia temperatury, mocy i sposób montażu. Ogólny symbol ogrzewania podłogowego nie potwierdza zgodności każdego systemu."
          }
        },
        {
          "@type": "Question",
          "name": "Co zrobić, gdy długość teoretyczna nie odpowiada dostępnym zestawom?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Porównaj kompletne zestawy, ponownie obliczając moc, W/m² i rozstaw dla ich rzeczywistych długości. Dobór może wymagać zmiany zestawu lub założenia, zgodnie z dokumentacją. Nie rozwiązuj różnicy przez dowolne skracanie przewodu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy kalkulator dobiera termostat i zabezpieczenie elektryczne?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Podaje moc znamionową zestawu. Dobór zasilania, obwodu, zabezpieczeń, regulatora i wymaganych środków ochrony oraz sprawdzenie instalacji wymagają osobnej oceny."
          }
        },
        {
          "@type": "Question",
          "name": "Czy z mocy maty można obliczyć miesięczny rachunek?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Można wyliczyć energię dla jawnie przyjętego czasu załączenia, ale nie będzie to prognoza rzeczywistej pracy termostatu. Rachunek wymaga znajomości zużycia energii i ceny, a nie tylko mocy w watach."
          }
        },
        {
          "@type": "Question",
          "name": "Jakie pomiary wykonać przed zakryciem ogrzewania?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Zakres ustala się według instrukcji zestawu i wymagań instalacji. Należy przewidzieć właściwe oględziny oraz pomiary elementu, izolacji i ochrony, a także dokumentowanie ich na etapach robót. Pomiary oraz ich interpretację powierz osobie z odpowiednimi kwalifikacjami."
          }
        }
      ]
    }
  ]
}
</script>
<script>
(function () {
  "use strict";
  var guide = document.getElementById("rk-electric-guide");
  if (!guide) { return; }
  if (guide.getAttribute("data-rk-ready") === "true") { return; }
  guide.setAttribute("data-rk-ready", "true");
  var rootGuide = guide;
  function format(value, digits) {
    return value.toLocaleString("pl-PL", {minimumFractionDigits:digits, maximumFractionDigits:digits});
  }
  function powerText(value) { return format(value, 0) + " W"; }
  function calculate(data) {
    var m = {mode:data.mode, area:data.area, purpose:data.purpose, maxDensity:data.maxDensity, minSpacing:data.minSpacing};
    if (data.mode === "mat") {
      m.matArea = data.matArea;
      m.matDensity = data.matDensity;
      m.power = data.matArea * data.matDensity;
      m.coverage = data.matArea / data.area * 100;
      m.remaining = data.area - data.matArea;
      m.stripLength = null;
      if (data.matWidth !== null) { m.stripLength = data.matArea / data.matWidth; }
    } else {
      m.linear = data.linear;
      m.targetDensity = data.targetDensity;
      m.idealPower = data.area * data.targetDensity;
      m.idealLength = m.idealPower / data.linear;
      m.idealSpacing = 100 * data.area / m.idealLength;
      m.setLength = data.setLength;
      m.setPower = null;
      m.setDensity = null;
      m.setSpacing = null;
      if (data.setLength !== null) {
        m.setPower = data.linear * data.setLength;
        m.setDensity = m.setPower / data.area;
        m.setSpacing = 100 * data.area / data.setLength;
      }
    }
    return m;
  }
  function evaluate(m) {
    var stops = [];
    var findings = [];
    var checks = [];
    var incomplete = false;
    var eps = 0.00000001;
    if (m.mode === "mat") {
      if (m.matArea > m.area + eps) {
        stops.push("Powierzchnia maty przekracza dostępną strefę o " + format(m.matArea - m.area, 2) + " m². Wybierz inny kompletny zestaw i sprawdź plan.");
      } else {
        findings.push("Powierzchnia maty nie przekracza wpisanej dostępnej strefy. Jej dopasowanie geometryczne nadal wymaga planu.");
      }
      if (m.maxDensity !== null) {
        if (m.matDensity > m.maxDensity + eps) {
          stops.push("Moc na m² maty przekracza podane maksimum " + format(m.maxDensity, 1) + " W/m².");
        } else { findings.push("Moc na m² maty mieści się w wpisanym ograniczeniu."); }
      } else {
        incomplete = true;
        checks.push("Ustal maksymalną moc powierzchniową dopuszczoną dla maty w danym układzie warstw.");
      }
      checks.push("Rozrysuj pasy maty: szerokość, zmiany kierunku, odstępy i położenie połączeń.");
    } else {
      findings.push("Wynik teoretyczny: " + format(m.idealLength, 2) + " m czynnego kabla i około " + format(m.idealSpacing, 2) + " cm rozstawu dla przyjętych W/m².");
      if (m.minSpacing !== null) {
        if (m.idealSpacing + eps < m.minSpacing) {
          stops.push("Założenie teoretyczne wymaga rozstawu mniejszego niż podane minimum " + format(m.minSpacing, 2) + " cm.");
        } else { findings.push("Średni rozstaw teoretyczny nie jest mniejszy od wpisanej granicy."); }
        if (m.setLength !== null) {
          if (m.setSpacing + eps < m.minSpacing) {
            stops.push("Rozważany zestaw ma średni rozstaw " + format(m.setSpacing, 2) + " cm, poniżej podanego minimum " + format(m.minSpacing, 2) + " cm.");
          } else { findings.push("Średni rozstaw rozważanego zestawu mieści się w wpisanym ograniczeniu."); }
        }
      } else {
        incomplete = true;
        checks.push("Ustal minimalny rozstaw osiowy wymagany przez instrukcję kabla.");
      }
      if (m.maxDensity !== null) {
        if (m.targetDensity > m.maxDensity + eps) {
          stops.push("Przyjęte W/m² przekraczają wpisaną maksymalną moc powierzchniową.");
        } else { findings.push("Przyjęta moc powierzchniowa mieści się w wpisanym maksimum."); }
        if (m.setLength !== null) {
          if (m.setDensity > m.maxDensity + eps) {
            stops.push("Rozważany zestaw ma " + format(m.setDensity, 1) + " W/m², powyżej podanego maksimum " + format(m.maxDensity, 1) + " W/m².");
          } else { findings.push("Moc na m² rozważanego zestawu mieści się w wpisanym maksimum."); }
        }
      } else {
        incomplete = true;
        checks.push("Ustal dopuszczoną moc na m² strefy dla wybranego kabla i konstrukcji podłogi.");
      }
      if (m.setLength === null) {
        incomplete = true;
        checks.push("Wybierz kompletny zestaw i wpisz jego rzeczywistą długość czynną, aby przeliczyć moc oraz rozstaw.");
      }
      checks.push("Na planie sprawdź lokalne rozstawy, nawroty, promienie gięcia i wymagane odstępy. Średnia z A/L nie kontroluje geometrii.");
    }
    if (m.purpose === "main") {
      checks.push("Dla ogrzewania podstawowego porównaj obciążenie cieplne pomieszczenia z mocą użyteczną rzeczywistej podłogi. Sama moc elektryczna tego nie potwierdza.");
    } else {
      checks.push("Dla komfortu powierzchni zweryfikuj temperaturę, sterowanie i układ warstw dla oczekiwanego sposobu użytkowania.");
    }
    checks.push("Sprawdź zgodność wykończenia i wszystkich warstw, napięcie znamionowe oraz dokumentację konkretnego zestawu.");
    checks.push("Przekaż dane do weryfikacji obwodu i regulatora; zachowaj plan, zdjęcia oraz wymagane wyniki pomiarów.");
    var status = "Obliczenia mieszczą się we wpisanych ograniczeniach";
    var intro = "Sprawdzono wyłącznie podane granice. To nie jest potwierdzenie możliwości montażu ani pokrycia strat ciepła.";
    var kind = "checked";
    if (stops.length > 0) {
      status = "Przekroczono powierzchnię lub wpisane ograniczenie";
      intro = "Sprawdź pozycje poniżej. Zmień założenie lub kompletny zestaw przed planowaniem montażu.";
      kind = "stop";
    } else {
      if (incomplete) {
        status = "Obliczenia wykonane — weryfikacja pozostaje niepełna";
        intro = "Brakujące ograniczenia lub dane zestawu trzeba uzupełnić. Brak wykrytego przekroczenia nie oznacza akceptacji instalacji.";
        kind = "check";
      }
    }
    return {kind:kind,status:status,intro:intro,findings:stops.concat(findings),checks:checks,stops:stops};
  }
  function initCalculator(mode) {
    var guide = rootGuide.querySelector("#rk-el-" + mode + "-calculator");
    if (!guide) { return; }
    var timer = null;
    var lastModel = null;
    var chartState = null;
    var previewSpacing = null;
    var ns = "http://www.w3.org/2000/svg";
    var sharedIds = ["rk-el-area-method", "rk-el-purpose", "rk-el-net-wrap", "rk-el-net-area", "rk-el-net-help", "rk-el-subtract-wrap", "rk-el-gross-area", "rk-el-excluded-area", "rk-el-limits", "rk-el-max-density", "rk-el-form", "rk-el-reset", "rk-el-example-context", "rk-el-validation", "rk-el-errors-list", "rk-el-result", "rk-el-result-title", "rk-el-result-intro", "rk-el-findings", "rk-el-checks"];
    function el(id) {
      var resolved = id;
      if (sharedIds.indexOf(id) !== -1) { resolved = "rk-el-" + mode + "-" + id.slice(6); }
      return rootGuide.querySelector("#" + resolved);
    }
    function setText(id, value) { el(id).textContent = value; }
    function show(id, visible) { el(id).hidden = !visible; }
  function list(id, items) {
    var node = el(id);
    node.textContent = "";
    items.forEach(function (text) {
      var item = document.createElement("li");
      item.textContent = text;
      node.appendChild(item);
    });
  }
  function readData() {
    var errors = [];
    guide.querySelectorAll("input[aria-invalid]").forEach(function (node) { node.removeAttribute("aria-invalid"); });
    function read(id, label, allowZero, max, optional) {
      var node = el(id);
      var value = node.value.trim().replace(/\s/g, "");
      if (value === "") {
        if (optional) { return null; }
        errors.push("Uzupełnij: " + label + ".");
        node.setAttribute("aria-invalid", "true");
        return null;
      }
      if (!/^(?:\d+|\d*[.,]\d+)$/.test(value)) {
        errors.push("Wpisz poprawną liczbę: " + label + ". Możesz użyć przecinka lub kropki.");
        node.setAttribute("aria-invalid", "true");
        return null;
      }
      var number = Number(value.replace(",", "."));
      var bad = !Number.isFinite(number);
      if (allowZero) { if (number < 0) { bad = true; } }
      else { if (number <= 0) { bad = true; } }
      if (number > max) { bad = true; }
      if (bad) {
        var start = "większą od 0";
        if (allowZero) { start = "nie mniejszą od 0"; }
        errors.push("W polu „" + label + "” podaj liczbę " + start + " i nie większą niż " + format(max, 0) + ". Górna granica jest zakresem narzędzia, nie zaleceniem montażowym.");
        node.setAttribute("aria-invalid", "true");
        return null;
      }
      return number;
    }
    var data = {mode:mode,purpose:el("rk-el-purpose").value,area:null,minSpacing:null,maxDensity:null};
    if (el("rk-el-area-method").value === "net") {
      data.area = read("rk-el-net-area", "dostępna powierzchnia", false, 10000, false);
    } else {
      var gross = read("rk-el-gross-area", "powierzchnia pomieszczenia", false, 10000, false);
      var excluded = read("rk-el-excluded-area", "powierzchnia wyłączeń", true, 10000, false);
      if (gross !== null) {
        if (excluded !== null) {
          data.area = gross - excluded;
          if (data.area <= 0) {
            errors.push("Powierzchnia wyłączeń musi być mniejsza od powierzchni pomieszczenia.");
            el("rk-el-excluded-area").setAttribute("aria-invalid", "true");
          }
        }
      }
    }
    data.maxDensity = read("rk-el-max-density", "maksymalna dopuszczalna moc W/m²", false, 10000, true);
    if (mode === "mat") {
      data.matDensity = read("rk-el-mat-density", "moc znamionowa maty W/m²", false, 1000, false);
      data.matArea = read("rk-el-mat-area", "powierzchnia maty", false, 10000, false);
      data.matWidth = read("rk-el-mat-width", "szerokość pasa maty", false, 10, true);
    } else {
      data.targetDensity = read("rk-el-target-density", "przyjęta moc W/m²", false, 1000, false);
      data.linear = read("rk-el-linear-power", "moc liniowa kabla W/m", false, 100, false);
      data.setLength = read("rk-el-set-length", "długość czynna zestawu", false, 100000, true);
      data.minSpacing = read("rk-el-min-spacing", "minimalny rozstaw osiowy", false, 10000, true);
    }
    return {data:data,errors:errors};
  }
  function updateVisibility() {
    show("rk-el-net-wrap", el("rk-el-area-method").value === "net");
    show("rk-el-subtract-wrap", el("rk-el-area-method").value === "subtract");
  }
  function clearResults() {
    guide.querySelectorAll(".rk-el-metric > strong").forEach(function (node) { node.textContent = "—"; });
    if (mode === "mat") {
      setText("rk-el-out-mat-strip", "Do obliczenia długości pasa potrzebne są poprawne dane maty i szerokość.");
    } else {
      setText("rk-el-out-cable-comparison", "Do porównania zestawu potrzebne są poprawne dane wejściowe.");
    }
    var result = el("rk-el-result");
    result.classList.remove("is-checked");
    result.classList.remove("is-stop");
    setText("rk-el-result-title", "Popraw dane — poprzedni wynik został wyczyszczony");
    setText("rk-el-result-intro", "Nie interpretuj obliczeń, dopóki wskazane pola nie zawierają poprawnych wartości.");
    list("rk-el-findings", ["Brak aktualnego wyniku dla tych danych."]);
    list("rk-el-checks", ["Popraw pola oznaczone w formularzu."]);
    lastModel = null;
    if (mode === "cable") {
      chartState = null;
      show("rk-el-chart-active", false);
      show("rk-el-chart-empty", true);
      setText("rk-el-chart-empty", "Wykres wymaga poprawnych danych w kalkulatorze kabla.");
    }
  }
  function render() {
    updateVisibility();
    var input = readData();
    show("rk-el-validation", input.errors.length > 0);
    if (input.errors.length > 0) {
      list("rk-el-errors-list", input.errors);
      clearResults();
      return;
    }
    var m = calculate(input.data);
    var badMath = false;
    Object.keys(m).forEach(function (key) {
      if (typeof m[key] === "number") {
        if (!Number.isFinite(m[key])) { badMath = true; }
      }
    });
    if (badMath) {
      show("rk-el-validation", true);
      list("rk-el-errors-list", ["Dane nie pozwalają otrzymać skończonych wyników. Sprawdź jednostki i zakres wartości."]);
      clearResults();
      return;
    }
    lastModel = m;
    var e = evaluate(m);
    var result = el("rk-el-result");
    result.classList.remove("is-checked");
    result.classList.remove("is-stop");
    if (e.kind === "checked") { result.classList.add("is-checked"); }
    if (e.kind === "stop") { result.classList.add("is-stop"); }
    setText("rk-el-result-title", e.status);
    setText("rk-el-result-intro", e.intro);
    list("rk-el-findings", e.findings);
    list("rk-el-checks", e.checks);
    if (m.mode === "mat") {
      setText("rk-el-out-mat-net", format(m.area, 2) + " m²");
      setText("rk-el-out-mat-area", format(m.matArea, 2) + " m²");
      setText("rk-el-out-mat-power", powerText(m.power));
      setText("rk-el-out-mat-density", format(m.matDensity, 1) + " W/m²");
      setText("rk-el-out-mat-coverage", format(m.coverage, 1) + "%");
      if (m.remaining < 0) {
        setText("rk-el-out-mat-remaining", "Przekroczenie " + format(-m.remaining, 2) + " m²");
        setText("rk-el-out-mat-remaining-help", "Mata jest większa od wpisanej dostępnej strefy.");
      } else {
        setText("rk-el-out-mat-remaining", format(m.remaining, 2) + " m²");
        setText("rk-el-out-mat-remaining-help", "Różnica powierzchni nie określa lokalizacji nieogrzanych fragmentów.");
      }
      if (m.stripLength !== null) {
        setText("rk-el-out-mat-strip", "Długość pasa maty: " + format(m.stripLength, 2) + " m. To nie jest długość przewodu grzejnego w macie; dopasowanie pasa trzeba sprawdzić na rzucie.");
      } else { setText("rk-el-out-mat-strip", "Nie podano szerokości pasa, więc jego długość nie została obliczona. Długość kabla w macie wymaga danych produktu."); }
    } else {
      setText("rk-el-out-cable-area", format(m.area, 2) + " m²");
      setText("rk-el-out-ideal-power", powerText(m.idealPower));
      setText("rk-el-out-ideal-length", format(m.idealLength, 2) + " m");
      setText("rk-el-out-ideal-spacing", format(m.idealSpacing, 2) + " cm");
      if (m.setLength !== null) {
        setText("rk-el-out-set-length", format(m.setLength, 2) + " m");
        setText("rk-el-out-set-power", powerText(m.setPower));
        setText("rk-el-out-set-density", format(m.setDensity, 1) + " W/m²");
        setText("rk-el-out-set-spacing", format(m.setSpacing, 2) + " cm");
        var sign = "";
        var delta = m.setDensity - m.targetDensity;
        if (delta > 0) { sign = "+"; }
        setText("rk-el-out-cable-comparison", "Rozważany zestaw zmienia moc względem założenia o " + sign + format(delta, 1) + " W/m². Ocena dotyczy pełnej długości czynnej; nie skracaj zestawu w celu uzyskania wyniku teoretycznego.");
      } else {
        ["length","power","density","spacing"].forEach(function (key) { setText("rk-el-out-set-" + key, "Nie podano"); });
        setText("rk-el-out-cable-comparison", "Wpisz długość czynną rzeczywistego zestawu, aby porównać jego moc i średni rozstaw z założeniem.");
      }
    }
    if (mode === "cable") { drawChart(m); }
  }
  function svgNode(tag, attrs, parent, text) {
    var node = document.createElementNS(ns, tag);
    Object.keys(attrs).forEach(function (key) { node.setAttribute(key, String(attrs[key])); });
    if (text !== undefined) { node.textContent = text; }
    parent.appendChild(node);
    return node;
  }
  function drawChart(m, preservePreview) {
    if (m.mode !== "cable") { return; }
    show("rk-el-chart-active", true);
    show("rk-el-chart-empty", false);
    var svg = el("rk-el-chart-svg");
    svg.textContent = "";
    svgNode("desc", {id:"rk-el-chart-desc"}, svg, "Krzywa mocy elektrycznej na m² względem rozstawu dla wpisanych " + format(m.linear, 2) + " W/m. Punkty pokazują założenie i rozważany zestaw; granice pochodzą z formularza.");
    var width = Math.max(290, Math.min(1050, el("rk-el-chart-holder").clientWidth - 16));
    var height = width < 520 ? 285 : 340;
    svg.setAttribute("viewBox", "0 0 " + width + " " + height);
    var left=58, right=20, top=28, bottom=53;
    var plotW=width-left-right, plotH=height-top-bottom;
    var minS=Math.min(5,m.idealSpacing*0.7), maxS=Math.max(25,m.idealSpacing*1.3);
    if (m.setLength !== null) {
      minS=Math.min(minS,m.setSpacing*0.7);
      maxS=Math.max(maxS,m.setSpacing*1.3);
    }
    if (m.minSpacing !== null) {
      if (m.minSpacing <= maxS*2) { maxS=Math.max(maxS,m.minSpacing*1.2); }
    }
    var maxQ=100*m.linear/minS*1.08;
    function x(s) { return left+(s-minS)/(maxS-minS)*plotW; }
    function y(q) { return top+plotH-q/maxQ*plotH; }
    function clamp(v,a,b) { return Math.min(b,Math.max(a,v)); }
    var clipId="rk-el-chart-clip";
    var defs=svgNode("defs",{},svg);
    var clip=svgNode("clipPath",{id:clipId},defs);
    svgNode("rect",{x:left,y:top,width:plotW,height:plotH},clip);
    var layer=svgNode("g",{"clip-path":"url(#"+clipId+")"},svg);
    if (m.minSpacing !== null) {
      var bx=clamp(x(m.minSpacing),left,left+plotW);
      svgNode("rect",{x:left,y:top,width:bx-left,height:plotH,fill:"#ff6846",opacity:0.09},layer);
      svgNode("line",{x1:bx,x2:bx,y1:top,y2:top+plotH,stroke:"#bd4c3b","stroke-width":1.7,"stroke-dasharray":"6 5"},layer);
    }
    if (m.maxDensity !== null) {
      var by=clamp(y(m.maxDensity),top,top+plotH);
      svgNode("rect",{x:left,y:top,width:plotW,height:by-top,fill:"#ff6846",opacity:0.09},layer);
      svgNode("line",{x1:left,x2:left+plotW,y1:by,y2:by,stroke:"#bd4c3b","stroke-width":1.7,"stroke-dasharray":"6 5"},layer);
    }
    for (var i=0;i<=4;i+=1) {
      var q=maxQ*i/4, gy=y(q);
      svgNode("line",{x1:left,x2:left+plotW,y1:gy,y2:gy,stroke:"#d7e5eb","stroke-width":1},svg);
      svgNode("text",{x:left-8,y:gy+4,"text-anchor":"end",fill:"#3c5668","font-size":11},svg,format(q,0));
    }
    var ticks=width<520 ? 3 : 5;
    for (var j=0;j<=ticks;j+=1) {
      var s=minS+(maxS-minS)*j/ticks, gx=x(s);
      svgNode("line",{x1:gx,x2:gx,y1:top,y2:top+plotH,stroke:"#e2edf1","stroke-width":1},svg);
      svgNode("text",{x:gx,y:top+plotH+22,"text-anchor":"middle",fill:"#3c5668","font-size":11},svg,format(s,1));
    }
    svgNode("text",{x:left,y:16,fill:"#10283a","font-size":12,"font-weight":700},svg,"W/m²");
    svgNode("text",{x:left+plotW/2,y:height-8,"text-anchor":"middle",fill:"#10283a","font-size":12,"font-weight":700},svg,"Rozstaw osiowy [cm]");
    var d="";
    for(var k=0;k<=120;k+=1){
      var sx=minS+(maxS-minS)*k/120;
      d+=(k===0 ? "M" : " L")+x(sx).toFixed(3)+" "+y(100*m.linear/sx).toFixed(3);
    }
    svgNode("path",{d:d,fill:"none",stroke:"#078fb3","stroke-width":3,"stroke-linejoin":"round"},layer);
    svgNode("circle",{cx:x(m.idealSpacing),cy:y(m.targetDensity),r:6,fill:"#0b2536",stroke:"#fff","stroke-width":2},layer);
    if(m.setLength!==null){svgNode("circle",{cx:x(m.setSpacing),cy:y(m.setDensity),r:6,fill:"#e05a3a",stroke:"#fff","stroke-width":2},layer);}
    var cursorLine=svgNode("line",{x1:left,x2:left,y1:top,y2:top+plotH,stroke:"#6963ce","stroke-width":1.5,"stroke-dasharray":"3 4"},layer);
    var cursor=svgNode("circle",{cx:left,cy:top,r:5,fill:"#6963ce",stroke:"#fff","stroke-width":2},layer);
    chartState={model:m,minS:minS,maxS:maxS,width:width,left:left,plotW:plotW,x:x,y:y,cursor:cursor,line:cursorLine};
    var slider=el("rk-el-spacing-slider");
    slider.min=String(minS);
    slider.max=String(maxS);
    slider.step=String(Math.max(0.001,(maxS-minS)/400));
    var selected=m.idealSpacing;
    if(m.setLength!==null){selected=m.setSpacing;}
    if(preservePreview){if(previewSpacing!==null){selected=clamp(previewSpacing,minS,maxS);}}
    slider.value=String(selected);
    drawPreview(selected);
    setText("rk-el-chart-context", "Krzywa dla " + format(m.linear,2) + " W/m i strefy " + format(m.area,2) + " m². Zakres osi służy badaniu wariantów, nie stanowi zalecenia montażowego. Zacienienie oznacza przekroczenie podanej granicy; brak zacienienia nie potwierdza całej instalacji.");
  }
  function drawPreview(s) {
    if (!chartState) { return; }
    var m=chartState.model;
    var q=100*m.linear/s;
    var length=100*m.area/s;
    previewSpacing=s;
    chartState.cursor.setAttribute("cx",chartState.x(s));
    chartState.cursor.setAttribute("cy",chartState.y(q));
    chartState.line.setAttribute("x1",chartState.x(s));
    chartState.line.setAttribute("x2",chartState.x(s));
    setText("rk-el-preview-spacing",format(s,2)+" cm");
    setText("rk-el-preview-density",format(q,1)+" W/m²");
    setText("rk-el-preview-length",format(length,2)+" m");
    setText("rk-el-preview-power",powerText(q*m.area));
    var bad=[];
    if(m.minSpacing!==null){if(s+0.00000001<m.minSpacing){bad.push("rozstaw poniżej wpisanego minimum");}}
    if(m.maxDensity!==null){if(q>m.maxDensity+0.00000001){bad.push("moc powyżej wpisanego maksimum");}}
    var status=el("rk-el-preview-status");
    status.classList.remove("is-stop");
    status.classList.remove("is-checked");
    if(bad.length>0){
      status.classList.add("is-stop");
      status.textContent="Ten wariant przekracza ograniczenie: "+bad.join("; ")+". Podgląd nie zmienia danych zestawu w kalkulatorze.";
    }else{
      var known=m.minSpacing!==null;
      if(m.maxDensity===null){known=false;}
      if(known){
        status.classList.add("is-checked");
        status.textContent="Wariant mieści się w dwóch wpisanych ograniczeniach. Nadal wymaga sprawdzenia pełnego zestawu, geometrii i warstw podłogi.";
      }else{status.textContent="Wariant obliczeniowy. Nie podano kompletu ograniczeń; zakres wykresu nie jest dopuszczeniem montażowym.";}
    }
    el("rk-el-spacing-slider").setAttribute("aria-valuetext",format(s,2)+" cm; "+format(q,1)+" W/m²");
  }
  function eventSpacing(event) {
    if(!chartState){return null;}
    var rect=el("rk-el-chart-svg").getBoundingClientRect();
    if(rect.width<=0){return null;}
    var x=(event.clientX-rect.left)*chartState.width/rect.width;
    x=Math.max(chartState.left,Math.min(chartState.left+chartState.plotW,x));
    return chartState.minS+(x-chartState.left)/chartState.plotW*(chartState.maxS-chartState.minS);
  }
  function schedule() {
    if(timer!==null){window.clearTimeout(timer);}
    timer=window.setTimeout(function(){timer=null;render();},150);
  }
  function cancelPending() {
    if(timer!==null){window.clearTimeout(timer);timer=null;}
  }
  function reset(exampleCable) {
    cancelPending();
    var values = {"rk-el-net-area":"6", "rk-el-gross-area":"10", "rk-el-excluded-area":"4", "rk-el-max-density":""};
    if (mode === "mat") {
      values["rk-el-mat-density"] = "150";
      values["rk-el-mat-area"] = "5,5";
      values["rk-el-mat-width"] = "0,5";
    } else {
      values["rk-el-target-density"] = "125";
      values["rk-el-linear-power"] = "10";
      values["rk-el-set-length"] = "";
      values["rk-el-min-spacing"] = "";
    }
    Object.keys(values).forEach(function(id){el(id).value=values[id];});
    el("rk-el-area-method").value="net";
    el("rk-el-purpose").value="comfort";
    el("rk-el-limits").open=false;
    if (mode === "mat") {
      setText("rk-el-example-context","Przykład startowy: strefa 6 m², mata 5,5 m² i 150 W/m². Brak przyjętych ograniczeń montażowych.");
    } else {
      if (exampleCable) {
        el("rk-el-set-length").value="80";
        el("rk-el-min-spacing").value="8";
        el("rk-el-max-density").value="150";
        el("rk-el-limits").open=true;
        setText("rk-el-example-context","Przykład edukacyjny kabla: 6 m², 125 W/m², 10 W/m i zestaw 80 m. Hipotetyczne granice: minimum 8 cm i maksimum 150 W/m². Zastąp je własnymi wymaganiami.");
      } else {
        setText("rk-el-example-context","Przykład startowy: strefa 6 m², założenie 125 W/m² i kabel 10 W/m. Długość zestawu i ograniczenia pozostają do uzupełnienia.");
      }
    }
    previewSpacing=null;
    render();
  }
  el("rk-el-form").addEventListener("input",function(){
    setText("rk-el-example-context","Obliczenia dla bieżących danych. Sprawdź, czy każde założenie i ograniczenie pochodzi z właściwej dokumentacji.");
    schedule();
  });
  el("rk-el-form").addEventListener("change",function(){cancelPending();render();});
  el("rk-el-form").addEventListener("submit",function(event){
    event.preventDefault();cancelPending();render();
    if(lastModel!==null){el("rk-el-result-title").focus();}
  });
  el("rk-el-reset").addEventListener("click",function(){reset(false);});
  if (mode === "cable") {
  el("rk-el-example-cable").addEventListener("click",function(){reset(true);});
  el("rk-el-spacing-slider").addEventListener("input",function(){if(chartState){drawPreview(Number(this.value));}});
  el("rk-el-chart-svg").addEventListener("pointermove",function(event){
    var s=eventSpacing(event);
    if(s!==null){drawPreview(s);}
  });
  el("rk-el-chart-svg").addEventListener("pointerup",function(event){
    var s=eventSpacing(event);
    if(s!==null){el("rk-el-spacing-slider").value=String(s);drawPreview(s);}
  });
  el("rk-el-chart-svg").addEventListener("pointerleave",function(){if(chartState){drawPreview(Number(el("rk-el-spacing-slider").value));}});
  var resizeTimer=null;
  window.addEventListener("resize",function(){
    if(resizeTimer!==null){window.clearTimeout(resizeTimer);}
    resizeTimer=window.setTimeout(function(){resizeTimer=null;if(lastModel!==null){drawChart(lastModel,true);}},120);
  });
  }
  render();
  }
  initCalculator("mat");
  initCalculator("cable");
}());

</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/">Kalkulator maty i kabla grzewczego – ile W/m² i ile kabla lub maty potrzeba.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-maty-i-kabla-grzewczego/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 31 May 2026 18:20:19 +0000</pubDate>
				<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie elektryczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[kalkulator kosztów eksploatacji]]></category>
		<category><![CDATA[koszty folii grzewczych]]></category>
		<category><![CDATA[obliczenia ozc dla domu]]></category>
		<category><![CDATA[ogrzewanie elektryczne vs wodna podłogówka]]></category>
		<category><![CDATA[opłacalność pompy ciepła]]></category>
		<category><![CDATA[opór cieplny paneli]]></category>
		<category><![CDATA[projekt instalacji ogrzewania podłogowego]]></category>
		<category><![CDATA[rachunki za prąd zimą]]></category>
		<category><![CDATA[tco ogrzewania]]></category>
		<category><![CDATA[wylewka pod ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=5374</guid>

					<description><![CDATA[<p>Wielu inwestorów na etapie stanu surowego szuka natychmiastowych oszczędności, co często prowadzi do kosztownych pomyłek przy wyborze instalacji grzewczej. Zamiast ulegać marketingowym zapewnieniom o niskich kosztach montażu mat czy folii, warto przeprowadzić chłodną kalkulację inżynierską. Artykuł Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji na przestrzeni 20 lat w brutalny sposób weryfikuje opłacalność obu systemów. Poznaj realne dane o zimowej luce energetycznej, wpływie automatyki na COP pompy ciepła oraz dowiedz się, dlaczego otwarta infrastruktura hydrauliczna chroni Twój domowy budżet przed wieloletnim, drogim abonamentem.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-energy-choice {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e8fafd;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff0ea;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #b47600;
    --rk-yellow-soft: #fff8df;
    --rk-red: #c7443a;
    --rk-red-soft: #fff0ee;
    --rk-purple: #6659c7;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1c2d38;
    --rk-text: #465d6c;
    --rk-muted: #687f8d;
    --rk-line: #d6e5eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.72;
  }

  #rk-energy-choice,
  #rk-energy-choice *,
  #rk-energy-choice *::before,
  #rk-energy-choice *::after { box-sizing: border-box; }
  #rk-energy-choice [hidden] { display: none !important; }
  #rk-energy-choice img,
  #rk-energy-choice svg { display: block; max-width: 100%; }
  #rk-energy-choice button,
  #rk-energy-choice input,
  #rk-energy-choice select,
  #rk-energy-choice summary { font: inherit; }
  #rk-energy-choice button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  #rk-energy-choice a {
    color: #007fae;
    font-weight: 760;
    text-decoration-thickness: 1.4px;
    text-underline-offset: 3px;
  }
  #rk-energy-choice a:hover { color: #005d82; }
  #rk-energy-choice a:focus-visible,
  #rk-energy-choice button:focus-visible,
  #rk-energy-choice input:focus-visible,
  #rk-energy-choice select:focus-visible,
  #rk-energy-choice summary:focus-visible {
    outline: 3px solid rgba(37, 199, 216, .5);
    outline-offset: 3px;
  }
  #rk-energy-choice h2,
  #rk-energy-choice h3,
  #rk-energy-choice h4,
  #rk-energy-choice p,
  #rk-energy-choice ul,
  #rk-energy-choice ol,
  #rk-energy-choice blockquote { margin-top: 0; }
  #rk-energy-choice h2,
  #rk-energy-choice h3,
  #rk-energy-choice h4 { color: var(--rk-dark); line-height: 1.18; }
  #rk-energy-choice h2 {
    margin-bottom: 18px;
    font-size: clamp(1.7rem, 3.6vw, 2.55rem);
    font-weight: 920;
    letter-spacing: -.035em;
  }
  #rk-energy-choice h3 {
    margin: 28px 0 12px;
    font-size: clamp(1.16rem, 2.2vw, 1.46rem);
    font-weight: 880;
    letter-spacing: -.02em;
  }
  #rk-energy-choice h4 { margin: 21px 0 8px; font-size: 1.04rem; }
  #rk-energy-choice p { margin-bottom: 18px; color: var(--rk-text); }
  #rk-energy-choice strong { color: var(--rk-ink); }
  #rk-energy-choice ul,
  #rk-energy-choice ol { margin-bottom: 22px; padding-left: 1.3em; color: var(--rk-text); }
  #rk-energy-choice li { margin-bottom: 8px; }
  #rk-energy-choice section[id] { scroll-margin-top: 24px; }

  #rk-energy-choice .rk-ec-shell {
    width: min(100%, 1280px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    background: var(--rk-white);
    box-shadow: 0 22px 70px rgba(16, 37, 54, .09);
  }

  #rk-energy-choice .rk-ec-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(36px, 6vw, 76px) clamp(24px, 6vw, 74px) clamp(30px, 5vw, 58px);
    background:
      radial-gradient(circle at 8% 118%, rgba(255, 106, 61, .22), transparent 38%),
      linear-gradient(128deg, #102536 0%, #123d51 55%, #0c6971 100%);
  }
  #rk-energy-choice .rk-ec-hero::before,
  #rk-energy-choice .rk-ec-hero::after {
    position: absolute;
    z-index: -1;
    border: clamp(22px, 4vw, 48px) solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
  }
  #rk-energy-choice .rk-ec-hero::before { right: -115px; bottom: -185px; width: 390px; height: 390px; }
  #rk-energy-choice .rk-ec-hero::after { right: 125px; bottom: -238px; width: 290px; height: 290px; }
  #rk-energy-choice .rk-ec-kicker,
  #rk-energy-choice .rk-ec-eyebrow {
    display: block;
    margin-bottom: 13px;
    color: var(--rk-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-hero-title {
    max-width: 1100px;
    margin: 0 0 20px;
    color: #ffffff !important;
    font-size: clamp(2.05rem, 5.1vw, 4.4rem);
    font-weight: 950;
    line-height: .99;
    letter-spacing: -.06em;
  }
  #rk-energy-choice .rk-ec-hero-title span { color: #63e5f2 !important; }
  #rk-energy-choice .rk-ec-lead {
    max-width: 1050px;
    margin-bottom: 24px;
    color: #dceef2;
    font-size: clamp(1.03rem, 2vw, 1.31rem);
    line-height: 1.62;
  }
  #rk-energy-choice .rk-ec-hero-tags,
  #rk-energy-choice .rk-ec-byline { display: flex; flex-wrap: wrap; gap: 10px 12px; }
  #rk-energy-choice .rk-ec-hero-tag {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 15px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: #ffffff !important;
    font-size: .78rem;
    font-weight: 850;
  }
  #rk-energy-choice .rk-ec-byline {
    margin-top: 23px;
    color: #e2f1f4 !important;
    font-size: .82rem;
    font-weight: 760;
  }
  #rk-energy-choice .rk-ec-byline span,
  #rk-energy-choice .rk-ec-byline strong { color: #ffffff !important; }
  #rk-energy-choice .rk-ec-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
  }
  #rk-energy-choice .rk-ec-hero-metric {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .19);
    border-radius: 19px;
    background: rgba(255, 255, 255, .075);
    backdrop-filter: blur(3px);
  }
  #rk-energy-choice .rk-ec-hero-metric b {
    display: block;
    margin-bottom: 7px;
    color: #ffffff !important;
    font-size: 1rem;
    line-height: 1.35;
  }
  #rk-energy-choice .rk-ec-hero-metric span {
    display: block;
    color: #dceef2 !important;
    font-size: .91rem;
    line-height: 1.55;
  }

  #rk-energy-choice .rk-ec-nav {
    padding: 22px clamp(18px, 4vw, 48px) 24px;
    border-bottom: 1px solid var(--rk-line);
    background: #f4fafc;
  }
  #rk-energy-choice .rk-ec-nav-label {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-dark);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-nav-track { display: flex; flex-wrap: wrap; gap: 8px; }
  #rk-energy-choice .rk-ec-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid #c9e0e8;
    border-radius: 999px;
    background: #ffffff;
    color: #345264;
    font-size: .76rem;
    font-weight: 820;
    line-height: 1.25;
    text-decoration: none;
  }
  #rk-energy-choice .rk-ec-nav a:hover { border-color: var(--rk-blue); color: var(--rk-blue); }

  #rk-energy-choice .rk-ec-section {
    padding: clamp(42px, 6vw, 76px) clamp(22px, 6vw, 74px);
    border-bottom: 1px solid var(--rk-line);
  }
  #rk-energy-choice .rk-ec-section:last-child { border-bottom: 0; }
  #rk-energy-choice .rk-ec-section-soft { background: var(--rk-soft); }
  #rk-energy-choice .rk-ec-section-dark {
    background: linear-gradient(135deg, #102536, #17485b);
  }
  #rk-energy-choice .rk-ec-section-dark h2,
  #rk-energy-choice .rk-ec-section-dark h3,
  #rk-energy-choice .rk-ec-section-dark h4,
  #rk-energy-choice .rk-ec-section-dark strong { color: #ffffff; }
  #rk-energy-choice .rk-ec-section-dark p,
  #rk-energy-choice .rk-ec-section-dark li { color: #dceef2; }
  #rk-energy-choice .rk-ec-section-dark a { color: #72e4f0; }
  #rk-energy-choice .rk-ec-section-dark .rk-ec-eyebrow { color: #ff8b67; }
  #rk-energy-choice .rk-ec-section-dark .rk-ec-card h3,
  #rk-energy-choice .rk-ec-section-dark .rk-ec-card h4,
  #rk-energy-choice .rk-ec-section-dark .rk-ec-card strong { color: var(--rk-dark); }
  #rk-energy-choice .rk-ec-section-dark .rk-ec-card p,
  #rk-energy-choice .rk-ec-section-dark .rk-ec-card li { color: var(--rk-text); }
  #rk-energy-choice .rk-ec-section-title { max-width: 1060px; }
  #rk-energy-choice .rk-ec-section-lead {
    max-width: 1030px;
    color: #526b79;
    font-size: 1.08rem;
    line-height: 1.7;
  }

  #rk-energy-choice .rk-ec-grid-2,
  #rk-energy-choice .rk-ec-grid-3,
  #rk-energy-choice .rk-ec-grid-4 { display: grid; gap: 18px; }
  #rk-energy-choice .rk-ec-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 9px 27px rgba(16, 37, 54, .045);
  }
  #rk-energy-choice .rk-ec-card h3 { margin-top: 0; }
  #rk-energy-choice .rk-ec-card p:last-child,
  #rk-energy-choice .rk-ec-card ul:last-child { margin-bottom: 0; }
  #rk-energy-choice .rk-ec-card-label {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--rk-cyan-soft);
    color: #057596;
    font-size: .69rem;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-card-label.is-orange { background: var(--rk-orange-soft); color: #b64625; }
  #rk-energy-choice .rk-ec-card-label.is-green { background: var(--rk-green-soft); color: var(--rk-green); }

  #rk-energy-choice .rk-ec-answer {
    margin: 24px 0;
    padding: 25px 28px;
    border-left: 6px solid var(--rk-cyan);
    border-radius: 8px 20px 20px 8px;
    background: linear-gradient(120deg, #e8fafd, #f7fcfd);
  }
  #rk-energy-choice .rk-ec-answer-label {
    display: block;
    margin-bottom: 8px;
    color: #057596;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-answer p:last-child { margin-bottom: 0; }
  #rk-energy-choice .rk-ec-callout,
  #rk-energy-choice .rk-ec-warning,
  #rk-energy-choice .rk-ec-note {
    margin: 24px 0;
    padding: 20px 23px;
    border-radius: 16px;
  }
  #rk-energy-choice .rk-ec-callout { border: 1px solid #bde7ed; background: var(--rk-cyan-soft); color: #294c5d; }
  #rk-energy-choice .rk-ec-warning { border: 1px solid #efd7a1; background: var(--rk-yellow-soft); color: #634d1d; }
  #rk-energy-choice .rk-ec-note { border: 1px solid #d6d0f6; background: var(--rk-purple-soft); color: #494477; }
  #rk-energy-choice .rk-ec-callout p:last-child,
  #rk-energy-choice .rk-ec-warning p:last-child,
  #rk-energy-choice .rk-ec-note p:last-child { margin-bottom: 0; }

  #rk-energy-choice .rk-ec-table {
    overflow: hidden;
    margin: 25px 0;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-table table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  #rk-energy-choice .rk-ec-table th,
  #rk-energy-choice .rk-ec-table td {
    padding: 16px 18px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-text);
    vertical-align: top;
    overflow-wrap: anywhere;
  }
  #rk-energy-choice .rk-ec-table th:last-child,
  #rk-energy-choice .rk-ec-table td:last-child { border-right: 0; }
  #rk-energy-choice .rk-ec-table tr:last-child td { border-bottom: 0; }
  #rk-energy-choice .rk-ec-table thead th {
    background: #15384d;
    color: #ffffff;
    font-size: .79rem;
    font-weight: 900;
    letter-spacing: .02em;
    text-align: left;
  }
  #rk-energy-choice .rk-ec-table tbody th {
    background: #f6fafb;
    color: var(--rk-dark);
    font-weight: 850;
    text-align: left;
  }
  #rk-energy-choice .rk-ec-table td strong { display: block; margin-bottom: 3px; }

  #rk-energy-choice .rk-ec-equation {
    margin: 25px 0;
    padding: 25px;
    border: 1px solid #bfdde7;
    border-radius: 19px;
    background: linear-gradient(135deg, #f2fbfd, #ffffff);
  }
  #rk-energy-choice .rk-ec-equation-label {
    display: block;
    margin-bottom: 8px;
    color: #057596;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-equation-main {
    color: var(--rk-dark);
    font-size: clamp(1.05rem, 2.2vw, 1.35rem);
    font-weight: 900;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  #rk-energy-choice .rk-ec-equation p { margin: 10px 0 0; font-size: .91rem; }

  #rk-energy-choice .rk-ec-source-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px;
  }
  #rk-energy-choice .rk-ec-source-switch button,
  #rk-energy-choice .rk-ec-mode-switch button,
  #rk-energy-choice .rk-ec-chart-tabs button {
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid #bcd6df;
    border-radius: 12px;
    background: #ffffff;
    color: #294b5d;
    font-weight: 850;
    line-height: 1.25;
  }
  #rk-energy-choice .rk-ec-source-switch button[aria-pressed="true"],
  #rk-energy-choice .rk-ec-mode-switch button[aria-pressed="true"],
  #rk-energy-choice .rk-ec-chart-tabs button[aria-pressed="true"] {
    border-color: var(--rk-blue);
    background: var(--rk-blue);
    color: #ffffff;
  }
  #rk-energy-choice .rk-ec-system-map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  #rk-energy-choice .rk-ec-flow-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-flow-card.is-electric { border-top: 5px solid var(--rk-orange); }
  #rk-energy-choice .rk-ec-flow-card.is-water { border-top: 5px solid var(--rk-cyan); }
  #rk-energy-choice .rk-ec-flow-title { margin: 0 0 17px; color: var(--rk-dark); font-weight: 900; }
  #rk-energy-choice .rk-ec-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    margin-bottom: 18px;
  }
  #rk-energy-choice .rk-ec-flow.is-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-flow-node {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 78px;
    padding: 10px 7px;
    border: 1px solid #cfe0e6;
    border-radius: 13px;
    background: #f7fbfc;
    color: #294b5d;
    font-size: .75rem;
    font-weight: 850;
    line-height: 1.28;
    text-align: center;
    overflow-wrap: anywhere;
  }
  #rk-energy-choice .rk-ec-flow-node + .rk-ec-flow-node { position: relative; }
  #rk-energy-choice .rk-ec-flow-node + .rk-ec-flow-node::before {
    position: absolute;
    left: -9px;
    top: 50%;
    width: 9px;
    height: 2px;
    background: #8db8c6;
    content: "";
  }
  #rk-energy-choice .rk-ec-flow-formula {
    padding: 15px 17px;
    border-radius: 13px;
    background: var(--rk-soft);
    color: #355669;
    font-size: .84rem;
    line-height: 1.55;
  }

  #rk-energy-choice .rk-ec-tool {
    overflow: hidden;
    margin-top: 27px;
    border: 1px solid #bfd9e3;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(16, 37, 54, .09);
  }
  #rk-energy-choice .rk-ec-tool-head {
    padding: 27px clamp(20px, 4vw, 38px);
    background: linear-gradient(125deg, #102536, #13566b);
  }
  #rk-energy-choice .rk-ec-tool-head h3 { margin: 0 0 8px; color: #ffffff; }
  #rk-energy-choice .rk-ec-tool-head p { margin: 0; color: #dceef2; }
  #rk-energy-choice .rk-ec-tool-head .rk-ec-eyebrow { color: #ff8b67; }
  #rk-energy-choice .rk-ec-tool-body { padding: clamp(20px, 4vw, 38px); }
  #rk-energy-choice .rk-ec-tool-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
  }
  #rk-energy-choice .rk-ec-tool-intro p { margin: 0; }
  #rk-energy-choice .rk-ec-reset {
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid #bdd4dd;
    border-radius: 11px;
    background: #ffffff;
    color: #345264;
    font-weight: 820;
  }
  #rk-energy-choice .rk-ec-mode-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 17px;
  }
  #rk-energy-choice .rk-ec-field-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
  }
  #rk-energy-choice .rk-ec-field-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-field-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-field-grid.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-energy-choice .rk-ec-field {
    min-width: 0;
    padding: 16px;
    border: 1px solid #d1e1e7;
    border-radius: 15px;
    background: #fafdfe;
  }
  #rk-energy-choice .rk-ec-field label,
  #rk-energy-choice .rk-ec-field-title {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-size: .84rem;
    font-weight: 880;
    line-height: 1.35;
  }
  #rk-energy-choice .rk-ec-field input,
  #rk-energy-choice .rk-ec-field select {
    width: 100%;
    min-height: 46px;
    padding: 9px 11px;
    border: 1px solid #adc8d2;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-dark);
    font-weight: 780;
  }
  #rk-energy-choice .rk-ec-field-help {
    display: block;
    margin-top: 7px;
    color: #657d8b;
    font-size: .72rem;
    line-height: 1.42;
  }
  #rk-energy-choice .rk-ec-advanced {
    margin: 18px 0 25px;
    border: 1px solid #d2e2e8;
    border-radius: 16px;
    background: #f8fbfc;
  }
  #rk-energy-choice .rk-ec-advanced summary {
    position: relative;
    padding: 17px 48px 17px 18px;
    color: var(--rk-dark);
    font-weight: 880;
    list-style: none;
    cursor: pointer;
  }
  #rk-energy-choice .rk-ec-advanced summary::-webkit-details-marker { display: none; }
  #rk-energy-choice .rk-ec-advanced summary::after {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-blue);
    font-size: 1.35rem;
    content: "+";
  }
  #rk-energy-choice .rk-ec-advanced[open] summary::after { content: "−"; }
  #rk-energy-choice .rk-ec-advanced-content { padding: 0 18px 18px; }
  #rk-energy-choice .rk-ec-validation {
    min-height: 25px;
    margin: -2px 0 18px;
    color: var(--rk-red);
    font-size: .78rem;
    font-weight: 780;
  }

  #rk-energy-choice .rk-ec-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 25px;
  }
  #rk-energy-choice .rk-ec-result-system {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-result-system.is-direct { border-top: 5px solid var(--rk-orange); }
  #rk-energy-choice .rk-ec-result-system.is-pump { border-top: 5px solid var(--rk-cyan); }
  #rk-energy-choice .rk-ec-result-system h4 { margin-top: 0; }
  #rk-energy-choice .rk-ec-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #rk-energy-choice .rk-ec-result-item {
    min-width: 0;
    padding: 14px;
    border-radius: 12px;
    background: var(--rk-soft);
  }
  #rk-energy-choice .rk-ec-result-item span,
  #rk-energy-choice .rk-ec-result-item strong { display: block; }
  #rk-energy-choice .rk-ec-result-item span { color: #617987; font-size: .69rem; font-weight: 830; line-height: 1.35; }
  #rk-energy-choice .rk-ec-result-item strong { margin-top: 5px; color: var(--rk-dark); font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
  #rk-energy-choice .rk-ec-verdict {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 0;
    padding: 19px;
    border: 1px solid #bde2e7;
    border-radius: 17px;
    background: linear-gradient(120deg, #eafafd, #f8fdfd);
  }
  #rk-energy-choice .rk-ec-verdict > div { min-width: 0; }
  #rk-energy-choice .rk-ec-verdict span,
  #rk-energy-choice .rk-ec-verdict strong { display: block; }
  #rk-energy-choice .rk-ec-verdict span { color: #55717e; font-size: .71rem; font-weight: 820; }
  #rk-energy-choice .rk-ec-verdict strong { margin-top: 5px; color: var(--rk-dark); line-height: 1.35; overflow-wrap: anywhere; }

  #rk-energy-choice .rk-ec-chart-panel {
    margin-top: 22px;
    padding: 21px;
    border: 1px solid #c8dce3;
    border-radius: 19px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-chart-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
  }
  #rk-energy-choice .rk-ec-chart-head h4 { margin: 0; }
  #rk-energy-choice .rk-ec-chart-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
  #rk-energy-choice .rk-ec-chart-tabs button { min-height: 39px; padding: 7px 11px; font-size: .73rem; }
  #rk-energy-choice .rk-ec-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin: 16px 0 7px;
    color: #556f7d;
    font-size: .76rem;
    font-weight: 820;
  }
  #rk-energy-choice .rk-ec-chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
  #rk-energy-choice .rk-ec-chart-legend i { display: inline-block; width: 22px; height: 7px; border-radius: 999px; }
  #rk-energy-choice .rk-ec-chart-legend .is-direct { background: var(--rk-orange); }
  #rk-energy-choice .rk-ec-chart-legend .is-pump { background: var(--rk-blue); }
  #rk-energy-choice .rk-ec-chart-wrap { width: 100%; overflow: hidden; }
  #rk-energy-choice .rk-ec-chart-wrap svg { width: 100%; height: auto; min-height: 290px; font-family: inherit; }
  #rk-energy-choice .rk-ec-chart-reading {
    display: block;
    width: 100%;
    max-width: none;
    margin: 13px 0 0;
    padding: 15px 17px;
    border-left: 4px solid var(--rk-cyan);
    border-radius: 6px 13px 13px 6px;
    background: #edf8fa;
    color: #294b5d;
    font-size: .81rem;
    line-height: 1.55;
  }
  #rk-energy-choice .rk-ec-axis { stroke: #9ab2bd; stroke-width: 1.2; }
  #rk-energy-choice .rk-ec-gridline { stroke: #dce8ec; stroke-width: 1; }
  #rk-energy-choice .rk-ec-gridtext { fill: #627987; font-size: 11px; font-weight: 750; }
  #rk-energy-choice .rk-ec-path-direct { fill: none; stroke: var(--rk-orange); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
  #rk-energy-choice .rk-ec-path-pump { fill: none; stroke: var(--rk-blue); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
  #rk-energy-choice .rk-ec-payback-line { stroke: var(--rk-green); stroke-width: 2; stroke-dasharray: 6 5; }
  #rk-energy-choice .rk-ec-payback-label { fill: var(--rk-green); font-size: 11px; font-weight: 900; }

  #rk-energy-choice .rk-ec-scenarios {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 22px;
  }
  #rk-energy-choice .rk-ec-scenario {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: #f9fcfd;
  }
  #rk-energy-choice .rk-ec-scenario b,
  #rk-energy-choice .rk-ec-scenario span,
  #rk-energy-choice .rk-ec-scenario strong { display: block; }
  #rk-energy-choice .rk-ec-scenario b { color: var(--rk-dark); }
  #rk-energy-choice .rk-ec-scenario span { margin: 3px 0 9px; color: #687f8d; font-size: .72rem; }
  #rk-energy-choice .rk-ec-scenario strong { color: #0c7697; font-size: .91rem; }

  #rk-energy-choice .rk-ec-step-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  #rk-energy-choice .rk-ec-step {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: start;
    gap: 15px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-step-no {
    position: static;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background: #d9f4f7;
    color: #0d708d;
    font-size: 1rem;
    font-weight: 950;
    line-height: 1;
    text-align: center;
  }
  #rk-energy-choice .rk-ec-step h3 { margin: 2px 0 7px; font-size: 1.04rem; }
  #rk-energy-choice .rk-ec-step p { margin: 0; font-size: .9rem; }

  #rk-energy-choice .rk-ec-cta {
    position: relative;
    overflow: hidden;
    margin: 31px 0 0;
    padding: clamp(25px, 5vw, 42px);
    border-radius: 22px;
    background: linear-gradient(128deg, #102536, #125268);
    color: #ffffff;
  }
  #rk-energy-choice .rk-ec-cta::after {
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 240px;
    height: 240px;
    border: 32px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
  }
  #rk-energy-choice .rk-ec-cta > * { position: relative; z-index: 1; }
  #rk-energy-choice .rk-ec-cta .rk-ec-eyebrow { color: #ff8b67; }
  #rk-energy-choice .rk-ec-cta-title {
    max-width: 850px;
    margin-bottom: 12px;
    color: #ffffff;
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    font-weight: 920;
    line-height: 1.14;
    letter-spacing: -.035em;
  }
  #rk-energy-choice .rk-ec-cta p { max-width: 920px; margin-bottom: 19px; color: #dceef2; }
  #rk-energy-choice .rk-ec-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 20px;
    border-radius: 12px;
    background: var(--rk-orange);
    color: #ffffff !important;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
  }
  #rk-energy-choice .rk-ec-cta-button:hover { background: #e8572f; color: #ffffff !important; }
  #rk-energy-choice .rk-ec-disclosure { display: block; margin-top: 10px; color: #bcd5dc; font-size: .68rem; }

  #rk-energy-choice .rk-ec-faq { display: grid; gap: 10px; }
  #rk-energy-choice .rk-ec-faq details {
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    color: var(--rk-dark);
    font-weight: 870;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
  }
  #rk-energy-choice .rk-ec-faq summary::-webkit-details-marker { display: none; }
  #rk-energy-choice .rk-ec-faq summary::after {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-blue);
    font-size: 1.38rem;
    content: "+";
  }
  #rk-energy-choice .rk-ec-faq details[open] summary::after { content: "−"; }
  #rk-energy-choice .rk-ec-faq-answer { padding: 0 20px 18px; }
  #rk-energy-choice .rk-ec-faq-answer p:last-child { margin-bottom: 0; }

  #rk-energy-choice .rk-ec-sources { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
  #rk-energy-choice .rk-ec-sources li {
    margin: 0;
    padding: 17px 19px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: #ffffff;
  }
  #rk-energy-choice .rk-ec-responsibility {
    margin-top: 24px;
    padding: 21px;
    border: 1px solid #d6e3e8;
    border-radius: 16px;
    background: #f7fafb;
  }
  #rk-energy-choice .rk-ec-responsibility p { margin-bottom: 9px; font-size: .78rem; line-height: 1.58; }
  #rk-energy-choice .rk-ec-responsibility p:last-child { margin-bottom: 0; }

  #rk-energy-choice .rk-ec-author {
    overflow: hidden;
    border-radius: 24px;
    color: #ffffff;
    background: linear-gradient(135deg, #102536, #174b5b);
  }
  #rk-energy-choice .rk-ec-author-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    padding: 29px clamp(22px, 5vw, 42px);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }
  #rk-energy-choice .rk-ec-author-head h2 { margin-bottom: 6px; color: #ffffff; }
  #rk-energy-choice .rk-ec-author-head p { margin-bottom: 0; color: #dcecf0; }
  #rk-energy-choice .rk-ec-author-head .rk-ec-eyebrow { color: #7cecf7; }
  #rk-energy-choice .rk-ec-author-mark {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #ffffff;
    font-size: .62rem;
    font-weight: 900;
  }
  #rk-energy-choice .rk-ec-author-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); }
  #rk-energy-choice .rk-ec-author-side {
    padding: 30px 25px;
    border-right: 1px solid rgba(255, 255, 255, .12);
    text-align: center;
  }
  #rk-energy-choice .rk-ec-author-photo {
    width: 132px;
    height: 132px;
    margin: 0 auto 16px;
    overflow: hidden;
    border: 5px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
  }
  #rk-energy-choice .rk-ec-author-photo img { width: 100%; height: 100%; object-fit: cover; }
  #rk-energy-choice .rk-ec-author-name { margin-bottom: 5px; font-size: 1.12rem; font-weight: 900; }
  #rk-energy-choice .rk-ec-author-name a { color: #ffffff; text-decoration: none; }
  #rk-energy-choice .rk-ec-author-role { margin: 0; color: #cfe4e9; font-size: .7rem; line-height: 1.55; }
  #rk-energy-choice .rk-ec-author-social-label {
    margin-top: 20px;
    color: #8beff7;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-author-social { display: flex; justify-content: center; gap: 9px; margin-top: 9px; }
  #rk-energy-choice .rk-ec-author-social a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #ffffff;
    background: rgba(255, 255, 255, .1);
    text-decoration: none;
  }
  #rk-energy-choice .rk-ec-author-social svg { width: 18px; height: 18px; fill: currentColor; }
  #rk-energy-choice .rk-ec-author-main { min-width: 0; padding: 32px clamp(23px, 5vw, 42px); }
  #rk-energy-choice .rk-ec-author-quote { position: relative; margin: 0 0 24px; padding: 4px 0 4px 58px; border: 0; }
  #rk-energy-choice .rk-ec-author-quote::before {
    position: absolute;
    top: -11px;
    left: 0;
    color: #6ee9f5;
    content: "“";
    font-family: Georgia, serif;
    font-size: 4.4rem;
    line-height: 1;
  }
  #rk-energy-choice .rk-ec-author-quote p { margin-bottom: 0; color: #ffffff; font-size: 1.02rem; font-weight: 740; }
  #rk-energy-choice .rk-ec-author-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
  #rk-energy-choice .rk-ec-author-card { min-width: 0; padding: 16px; border-radius: 14px; background: rgba(255, 255, 255, .075); }
  #rk-energy-choice .rk-ec-author-card b { display: block; margin-bottom: 5px; color: #8beff7; font-size: .69rem; }
  #rk-energy-choice .rk-ec-author-card p { margin-bottom: 0; color: #d8e9ed; font-size: .68rem; line-height: 1.55; }
  #rk-energy-choice .rk-ec-author-mini-label {
    margin-top: 22px;
    color: #8beff7;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  #rk-energy-choice .rk-ec-portals { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
  #rk-energy-choice .rk-ec-portals a {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    color: #ffffff;
    font-size: .62rem;
    text-decoration: none;
  }

  @media (max-width: 1020px) {
    #rk-energy-choice .rk-ec-grid-4,
    #rk-energy-choice .rk-ec-field-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-energy-choice .rk-ec-system-map { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-flow.is-five { grid-template-columns: repeat(5, minmax(82px, 1fr)); overflow-x: auto; padding-bottom: 5px; }
  }
  @media (max-width: 820px) {
    #rk-energy-choice { font-size: 16px; }
    #rk-energy-choice .rk-ec-shell { border-radius: 20px; }
    #rk-energy-choice .rk-ec-hero-metrics,
    #rk-energy-choice .rk-ec-grid-3,
    #rk-energy-choice .rk-ec-results,
    #rk-energy-choice .rk-ec-scenarios,
    #rk-energy-choice .rk-ec-author-cards { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-step-grid { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-author-layout { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-author-side { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  }
  @media (max-width: 680px) {
    #rk-energy-choice .rk-ec-section { padding: 38px 18px; }
    #rk-energy-choice .rk-ec-hero { padding: 38px 20px 34px; }
    #rk-energy-choice .rk-ec-hero-title { font-size: clamp(2rem, 11vw, 3.2rem); }
    #rk-energy-choice .rk-ec-nav { padding: 18px; }
    #rk-energy-choice .rk-ec-author-head { display: block; }
    #rk-energy-choice .rk-ec-author-mark { display: inline-block; margin-top: 14px; }
    #rk-energy-choice .rk-ec-grid-2,
    #rk-energy-choice .rk-ec-grid-4,
    #rk-energy-choice .rk-ec-field-grid.is-2,
    #rk-energy-choice .rk-ec-field-grid.is-3,
    #rk-energy-choice .rk-ec-field-grid.is-4,
    #rk-energy-choice .rk-ec-result-grid,
    #rk-energy-choice .rk-ec-verdict { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-mode-switch { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-tool-intro { grid-template-columns: 1fr; }
    #rk-energy-choice .rk-ec-chart-panel { padding: 14px; }
    #rk-energy-choice .rk-ec-chart-wrap svg { min-height: 250px; }
    #rk-energy-choice .rk-ec-flow,
    #rk-energy-choice .rk-ec-flow.is-five { grid-template-columns: 1fr; overflow: visible; padding-bottom: 0; }
    #rk-energy-choice .rk-ec-flow-node + .rk-ec-flow-node::before {
      left: 50%;
      top: -9px;
      width: 2px;
      height: 9px;
      transform: translateX(-50%);
    }
    #rk-energy-choice .rk-ec-table { overflow: visible; border: 0; background: transparent; }
    #rk-energy-choice .rk-ec-table table,
    #rk-energy-choice .rk-ec-table tbody { display: block; width: 100%; }
    #rk-energy-choice .rk-ec-table thead { display: none; }
    #rk-energy-choice .rk-ec-table tr {
      display: block;
      margin-bottom: 13px;
      overflow: hidden;
      border: 1px solid var(--rk-line);
      border-radius: 15px;
      background: #ffffff;
    }
    #rk-energy-choice .rk-ec-table tbody th,
    #rk-energy-choice .rk-ec-table td {
      display: grid;
      grid-template-columns: minmax(105px, 40%) minmax(0, 1fr);
      gap: 12px;
      width: 100%;
      padding: 13px 15px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      text-align: left;
    }
    #rk-energy-choice .rk-ec-table tbody th::before,
    #rk-energy-choice .rk-ec-table td::before {
      color: #617987;
      font-size: .71rem;
      font-weight: 900;
      line-height: 1.35;
      content: attr(data-label);
    }
    #rk-energy-choice .rk-ec-table tr > :last-child { border-bottom: 0; }
    #rk-energy-choice .rk-ec-step { grid-template-columns: 52px minmax(0, 1fr); padding: 17px; }
    #rk-energy-choice .rk-ec-cta-button { width: 100%; }
  }
  @media (max-width: 430px) {
    #rk-energy-choice .rk-ec-nav-track { gap: 6px; }
    #rk-energy-choice .rk-ec-nav a { width: 100%; justify-content: flex-start; }
    #rk-energy-choice .rk-ec-step { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; }
    #rk-energy-choice .rk-ec-step-no { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
    #rk-energy-choice .rk-ec-author-main { padding-left: 18px; padding-right: 18px; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-energy-choice * { scroll-behavior: auto !important; transition: none !important; }
  }
</style>

<div id="rk-energy-choice">
  <article class="rk-ec-shell" aria-label="Poradnik i kalkulator kosztów ogrzewania elektrycznego oraz wodnej podłogówki z pompą ciepła">
    <header class="rk-ec-hero">
      <span class="rk-ec-kicker">Koszt zakupu to dopiero rok zero</span>
      <div class="rk-ec-hero-title">Elektryczna czy wodna podłogówka? <span>Policz pełny koszt, nie slogan</span></div>
      <p class="rk-ec-lead">Kable, maty i folie zwykle wymagają mniejszego nakładu początkowego. Wodna podłogówka z pompą ciepła może zużywać znacznie mniej kupowanej energii, ale wymaga droższej infrastruktury. Uczciwa odpowiedź powstaje dopiero po zestawieniu tego samego zapotrzebowania na ciepło, kompletnego CAPEX, rocznych kosztów oraz wymian w wybranym okresie.</p>
      <div class="rk-ec-hero-tags" aria-label="Zakres artykułu">
        <span class="rk-ec-hero-tag">kable, maty i folie</span>
        <span class="rk-ec-hero-tag">wodna podłogówka + pompa ciepła</span>
        <span class="rk-ec-hero-tag">CAPEX, OPEX i TCO</span>
        <span class="rk-ec-hero-tag">SCOP i fotowoltaika</span>
        <span class="rk-ec-hero-tag">1–30 lat</span>
      </div>
      <div class="rk-ec-byline">
        <span><strong>Autor:</strong> Robert Kucharski</span>
        <span><strong>Czas czytania:</strong> około 27 minut</span>
        <span><strong>Aktualizacja techniczna:</strong> 13 września 2026 r.</span>
      </div>
      <div class="rk-ec-hero-metrics">
        <div class="rk-ec-hero-metric"><b>Porównujemy to samo ciepło</b><span>Oba warianty muszą pokryć identyczne użyteczne zapotrzebowanie budynku i zapewnić ten sam komfort.</span></div>
        <div class="rk-ec-hero-metric"><b>Emiter to nie źródło</b><span>Rura wodna, kabel albo mata oddają ciepło przez podłogę. O rachunku decyduje także sposób wytworzenia ciepła.</span></div>
        <div class="rk-ec-hero-metric"><b>Wynik ma zakres, nie wyrok</b><span>Kalkulator pokazuje skutek wpisanych cen, SCOP, serwisu, PV i wymiany urządzenia — nie gwarancję kosztu.</span></div>
      </div>
    </header>

    <nav class="rk-ec-nav" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-ec-nav-label">Na skróty — wszystkie H2</span>
      <div class="rk-ec-nav-track">
        <a href="#rk-ec-answer">Szybka odpowiedź</a>
        <a href="#rk-ec-comparison">Co porównujemy?</a>
        <a href="#rk-ec-map">Droga energii</a>
        <a href="#rk-ec-tco">CAPEX, OPEX i TCO</a>
        <a href="#rk-ec-calculator">Kalkulator kosztów</a>
        <a href="#rk-ec-reading">Jak czytać wynik?</a>
        <a href="#rk-ec-electric">Kiedy elektryczne?</a>
        <a href="#rk-ec-water">Kiedy wodne z pompą?</a>
        <a href="#rk-ec-pv">Fotowoltaika i taryfa</a>
        <a href="#rk-ec-lifecycle">Serwis i wymiany</a>
        <a href="#rk-ec-example">Przykład 120 m²</a>
        <a href="#rk-ec-errors">Błędy porównania</a>
        <a href="#rk-ec-method">Jak porównać?</a>
        <a href="#rk-ec-conclusion">Wnioski</a>
        <a href="#rk-ec-sources">Źródła</a>
        <a href="#rk-ec-faq">FAQ</a>
        <a href="#rk-ec-author">Autor</a>
      </div>
    </nav>

    <section class="rk-ec-section" id="rk-ec-answer">
      <span class="rk-ec-eyebrow">Odpowiedź w 30 sekund</span>
      <h2 class="rk-ec-section-title">Co jest tańsze: ogrzewanie elektryczne czy wodna podłogówka?</h2>
      <div class="rk-ec-answer">
        <span class="rk-ec-answer-label">Najkrótsza poprawna odpowiedź</span>
        <p><strong>Ogrzewanie elektryczne bezpośrednie zwykle wygrywa niskim kosztem startowym, a wodna podłogówka z dobrze pracującą pompą ciepła — niższym zakupem energii w sezonie. To, który wariant ma niższy koszt całkowity, zależy przede wszystkim od zapotrzebowania budynku, różnicy inwestycji, rzeczywistego SCOP, ceny energii i długości analizy. Nie ma technicznej podstawy do zdania, że jeden system zawsze wygrywa.</strong></p>
      </div>
      <div class="rk-ec-grid-3">
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Niski CAPEX</span><h3>Elektryka może mieć sens</h3><p>Przy bardzo małym zapotrzebowaniu, krótkim horyzoncie użytkowania, ograniczonym zakresie lub trudnym remoncie oszczędność na starcie może być ważniejsza niż przyszła różnica w rachunkach.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label">Niski OPEX</span><h3>Pompa może odzyskać różnicę</h3><p>Im więcej użytecznego ciepła potrzebuje dom i im wyższy sezonowy SCOP, tym szybciej niższe zużycie prądu może skompensować droższą instalację.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-green">Prawidłowy wybór</span><h3>Wynik może brzmieć „brak zwrotu”</h3><p>Jeżeli krzywe kosztów nie przetną się w badanym okresie, kalkulator pokaże to wprost. Brak zwrotu w 20 lat nie oznacza awarii obliczeń.</p></article>
      </div>
      <p>Ten wpis odpowiada na pytanie o <strong>rachunki, TCO i okres zwrotu</strong>. Szersze porównanie komfortu, montażu i zastosowań znajdziesz w poradniku <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/">wodne czy elektryczne ogrzewanie podłogowe — co wybrać</a>. Dzięki temu oba artykuły nie konkurują o tę samą intencję wyszukiwania.</p>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-comparison">
      <span class="rk-ec-eyebrow">Najpierw usuń błąd kategorii</span>
      <h2 class="rk-ec-section-title">Co właściwie porównujemy: emiter, źródło czy cały system?</h2>
      <p class="rk-ec-section-lead">„Elektryczna podłogówka kontra wodna podłogówka” brzmi prosto, ale miesza dwie warstwy instalacji. Kabel, mata, folia lub rura są elementami oddającymi ciepło. Pompa ciepła i kocioł elektryczny są źródłami, które przygotowują ciepło dla obiegu wodnego.</p>
      <div class="rk-ec-table">
        <table aria-label="Zakres porównania ogrzewania elektrycznego i wodnej podłogówki">
          <thead><tr><th>Warstwa</th><th>Ogrzewanie elektryczne bezpośrednie</th><th>Wodna podłogówka z pompą ciepła</th></tr></thead>
          <tbody>
            <tr><th data-label="Warstwa">Źródło / przemiana energii</th><td data-label="Elektryczne">Element oporowy zamienia energię elektryczną w ciepło ze sprawnością bliską 1.</td><td data-label="Wodne + pompa">Pompa przenosi ciepło z otoczenia; pobór prądu zależy od sezonowego SCOP całego układu.</td></tr>
            <tr><th data-label="Warstwa">Emiter</th><td data-label="Elektryczne">Kabel, mata albo folia współpracująca z warstwami podłogi.</td><td data-label="Wodne + pompa">Rury z wodą, jastrych lub system suchy oraz okładzina.</td></tr>
            <tr><th data-label="Warstwa">Energia kupowana</th><td data-label="Elektryczne">W przybliżeniu odpowiada użytecznemu ciepłu po uwzględnieniu sprawności.</td><td data-label="Wodne + pompa">Użyteczne ciepło podzielone przez SCOP, powiększone o energię pomocniczą.</td></tr>
            <tr><th data-label="Warstwa">Możliwość zmiany źródła</th><td data-label="Elektryczne">Element oporowy pozostaje konkretnym sposobem wytwarzania ciepła.</td><td data-label="Wodne + pompa">Rury są emiterem; w przyszłości można zmienić urządzenie zasilające, jeśli układ jest z nim zgodny.</td></tr>
            <tr><th data-label="Warstwa">Zakres kosztu</th><td data-label="Elektryczne">Elementy grzejne, sterowanie, obwody i ewentualne zwiększenie mocy przyłączeniowej.</td><td data-label="Wodne + pompa">Rury, rozdzielacze, automatyka, hydraulika, źródło, uruchomienie i ewentualny osprzęt.</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-ec-warning"><strong>Ważne:</strong> wodna podłogówka z kotłem elektrycznym nie korzysta z „dźwigni” SCOP. W takim wariancie zakup energii będzie zbliżony do ogrzewania oporowego i dodatkowo pojawi się prąd pomp obiegowych. Zyskiem wodnego emitera pozostaje elastyczność źródła, a nie automatyczna oszczędność energii.</div>
      <p>Jeżeli chcesz zrozumieć sam emiter, zacznij od tekstu <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak działa ogrzewanie podłogowe</a>. Osobno omawiam również <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">zasadę działania i dobór pompy ciepła</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-map">
      <span class="rk-ec-eyebrow">Modułowa grafika edukacyjna</span>
      <h2 class="rk-ec-section-title">Jak energia dociera do pomieszczenia w obu systemach?</h2>
      <p class="rk-ec-section-lead">Kliknij źródło dla obiegu wodnego. Zmienia się droga energii i wzór na energię kupowaną, ale sama podłoga nadal pozostaje emiterem. Moduł nie dubluje kalkulatora — porządkuje pojęcia przed wprowadzaniem liczb.</p>
      <div class="rk-ec-source-switch" role="group" aria-label="Źródło dla wodnej podłogówki">
        <button type="button" data-rk-ec-source="pump" aria-pressed="true">Pompa ciepła</button>
        <button type="button" data-rk-ec-source="boiler" aria-pressed="false">Kocioł elektryczny</button>
      </div>
      <div class="rk-ec-system-map">
        <article class="rk-ec-flow-card is-electric">
          <div class="rk-ec-flow-title">Ogrzewanie elektryczne bezpośrednie</div>
          <div class="rk-ec-flow" aria-label="Droga energii w elektrycznym ogrzewaniu podłogowym">
            <div class="rk-ec-flow-node">Prąd z sieci / PV</div>
            <div class="rk-ec-flow-node">Kabel, mata lub folia</div>
            <div class="rk-ec-flow-node">Warstwy podłogi</div>
            <div class="rk-ec-flow-node">Pomieszczenie</div>
          </div>
          <div class="rk-ec-flow-formula"><strong>Energia kupowana ≈ Q<sub>użyteczne</sub> ÷ η</strong><br>Sprawność przemiany jest bliska 1, lecz budynek nadal potrzebuje tyle ciepła, ile wynika z jego strat i użytkowania.</div>
        </article>
        <article class="rk-ec-flow-card is-water">
          <div class="rk-ec-flow-title">Wodna podłogówka + <span id="rk-ec-map-source-name">pompa ciepła</span></div>
          <div class="rk-ec-flow is-five" aria-label="Droga energii w wodnym ogrzewaniu podłogowym">
            <div class="rk-ec-flow-node">Prąd z sieci / PV</div>
            <div class="rk-ec-flow-node" id="rk-ec-map-source-node">Pompa ciepła</div>
            <div class="rk-ec-flow-node">Woda i hydraulika</div>
            <div class="rk-ec-flow-node">Rury + podłoga</div>
            <div class="rk-ec-flow-node">Pomieszczenie</div>
          </div>
          <div class="rk-ec-flow-formula" id="rk-ec-map-formula"><strong>Energia kupowana ≈ Q<sub>użyteczne</sub> ÷ SCOP + energia pomocnicza</strong><br>Niższa wymagana temperatura wody może sprzyjać sprawności pompy, ale SCOP trzeba przyjąć dla realnego układu i warunków.</div>
        </article>
      </div>
      <p>W kablach zatopionych w jastrychu również może występować <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplna podłogi</a>. Nieprawdziwe jest więc uproszczenie „elektryka nie akumuluje, woda akumuluje” — o odpowiedzi decyduje konstrukcja i masa warstw, nie sam rodzaj przewodu.</p>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-tco">
      <span class="rk-ec-eyebrow">Trzy różne pytania finansowe</span>
      <h2 class="rk-ec-section-title">CAPEX, OPEX i TCO — co trzeba policzyć osobno?</h2>
      <div class="rk-ec-grid-3">
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">CAPEX</span><h3>Ile płacisz na początku?</h3><p>Kompletny koszt zaprojektowania, zakupu, wykonania, zasilenia i uruchomienia systemu, pomniejszony o dotacje, które faktycznie otrzymasz.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label">OPEX</span><h3>Ile kosztuje rok pracy?</h3><p>Energia zależna od zużycia, energia pomocnicza oraz serwis. Identycznych opłat stałych nie należy sztucznie przypisywać tylko jednemu wariantowi.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-green">TCO</span><h3>Ile wydasz w całym okresie?</h3><p>CAPEX plus kolejne lata OPEX i zaplanowane wymiany. Horyzont 5, 10, 20 lub 30 lat może prowadzić do odmiennego wyboru.</p></article>
      </div>
      <div class="rk-ec-equation">
        <span class="rk-ec-equation-label">Model użyty w narzędziu</span>
        <div class="rk-ec-equation-main">TCO<sub>n</sub> = inwestycja + Σ koszt energii w roku + Σ serwis + koszt wymiany w wybranym roku</div>
        <p>Wzrost ceny prądu jest jawny i domyślnie wynosi 0%. Kalkulator nie ukrywa prognozy 3% lub 5% w gotowym wyniku. Nie uwzględnia dyskonta pieniądza, kredytu, podatków ani ogólnej inflacji.</p>
      </div>
      <p>Orientacyjne widełki rynkowe nie zastępują porównywalnych ofert. Sprawdź osobno <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">co powinna obejmować wycena wodnej podłogówki</a> oraz analizę <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">kosztów ogrzewania domu dla różnych źródeł</a>. Wrażliwość wyniku rozwijają też materiały o <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%C2%B2/">optymalizacji kosztów podłogówki</a> i <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">realnym zwrocie z inwestycji</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-calculator">
      <span class="rk-ec-eyebrow">Jedno narzędzie — jeden wynik</span>
      <h2 class="rk-ec-section-title">Kalkulator kosztów ogrzewania elektrycznego i wodnej podłogówki z pompą ciepła</h2>
      <p class="rk-ec-section-lead">Wpisz własne dane z rachunku, ofert i obliczeń budynku. Wyniki roczne, TCO, rok przecięcia, trzy scenariusze SCOP, wykres oraz tabela są aktualizowane przez ten sam model. Domyślne wartości tworzą przykład edukacyjny dla domu 120 m² — nie są aktualnym cennikiem.</p>

      <div class="rk-ec-tool" id="rk-ec-calculator-tool">
        <div class="rk-ec-tool-head">
          <span class="rk-ec-eyebrow">Kalkulator TCO 1–30 lat</span>
          <h3>Porównaj ten sam budynek i ten sam komfort</h3>
          <p>Najpierw określ użyteczne ciepło, potem koszt zakupu energii. Moc urządzenia w kW nie jest rocznym zużyciem w kWh.</p>
        </div>
        <div class="rk-ec-tool-body">
          <div class="rk-ec-tool-intro">
            <p><strong>Wybierz sposób podania rocznego zapotrzebowania.</strong> Pola alternatywne nie są sumowane.</p>
            <button type="button" class="rk-ec-reset" id="rk-ec-reset">Przywróć przykład 120 m²</button>
          </div>

          <div class="rk-ec-mode-switch" role="group" aria-label="Sposób podania zapotrzebowania">
            <button type="button" data-rk-ec-mode="annual" aria-pressed="true">Mam roczne ciepło w kWh</button>
            <button type="button" data-rk-ec-mode="intensity" aria-pressed="false">Mam powierzchnię i kWh/m²/rok</button>
          </div>

          <div class="rk-ec-field-grid is-3">
            <div class="rk-ec-field" id="rk-ec-annual-field"><label for="rk-ec-demand">Roczne użyteczne ciepło</label><input id="rk-ec-demand" type="number" min="100" max="200000" step="100" value="8000" inputmode="decimal"><span class="rk-ec-field-help">Ogrzewanie pomieszczeń, kWh/rok. Najlepiej z obliczeń lub wiarygodnego bilansu.</span></div>
            <div class="rk-ec-field" id="rk-ec-intensity-field" hidden=""><label for="rk-ec-intensity">Energia użyteczna na 1 m²</label><input id="rk-ec-intensity" type="number" min="1" max="500" step="1" value="67" inputmode="decimal"><span class="rk-ec-field-help">kWh/(m²·rok), nie moc projektowa W/m².</span></div>
            <div class="rk-ec-field"><label for="rk-ec-area">Ogrzewana powierzchnia</label><input id="rk-ec-area" type="number" min="10" max="1000" step="1" value="120" inputmode="decimal"><span class="rk-ec-field-help">m²; służy też do wyliczenia kosztu rocznego na 1 m².</span></div>
            <div class="rk-ec-field"><label for="rk-ec-price">Pełna zmienna cena prądu</label><input id="rk-ec-price" type="number" min="0.01" max="10" step="0.01" value="1.20" inputmode="decimal"><span class="rk-ec-field-help">zł/kWh: energia i zmienne składniki dystrybucji z Twojego rachunku.</span></div>
          </div>

          <div class="rk-ec-field-grid is-3">
            <div class="rk-ec-field"><label for="rk-ec-capex-direct">Inwestycja — system elektryczny</label><input id="rk-ec-capex-direct" type="number" min="0" max="1000000" step="500" value="10000" inputmode="decimal"><span class="rk-ec-field-help">zł, kompletny zakres po realnych dotacjach.</span></div>
            <div class="rk-ec-field"><label for="rk-ec-capex-pump">Inwestycja — wodna + pompa</label><input id="rk-ec-capex-pump" type="number" min="0" max="1000000" step="500" value="40000" inputmode="decimal"><span class="rk-ec-field-help">zł, ten sam zakres funkcjonalny i stan cen.</span></div>
            <div class="rk-ec-field"><label for="rk-ec-scop">Sezonowy SCOP pompy ciepła</label><input id="rk-ec-scop" type="number" min="1.1" max="8" step="0.1" value="3.5" inputmode="decimal"><span class="rk-ec-field-help">Nie chwilowy COP z jednego punktu katalogowego.</span></div>
          </div>

          <div class="rk-ec-field-grid is-2">
            <div class="rk-ec-field"><label for="rk-ec-years">Okres analizy</label><input id="rk-ec-years" type="number" min="1" max="30" step="1" value="20" inputmode="numeric"><span class="rk-ec-field-help">Od 1 do 30 pełnych lat eksploatacji.</span></div>
            <div class="rk-ec-field"><label for="rk-ec-growth">Roczny wzrost zmiennej ceny prądu</label><input id="rk-ec-growth" type="number" min="-10" max="30" step="0.1" value="0" inputmode="decimal"><span class="rk-ec-field-help">%, jawne założenie; 0% oznacza stałą cenę w całej analizie.</span></div>
          </div>

          <details class="rk-ec-advanced">
            <summary>Ustawienia zaawansowane: serwis, PV, sprawność i wymiana pompy</summary>
            <div class="rk-ec-advanced-content">
              <div class="rk-ec-field-grid is-4">
                <div class="rk-ec-field"><label for="rk-ec-eta">Sprawność elektryczna η</label><input id="rk-ec-eta" type="number" min="0.80" max="1" step="0.01" value="0.99" inputmode="decimal"><span class="rk-ec-field-help">Wartość bliska 1; nie opisujemy jej jako SCOP.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-aux">Prąd pomocniczy pompy i hydrauliki</label><input id="rk-ec-aux" type="number" min="0" max="10000" step="10" value="250" inputmode="decimal"><span class="rk-ec-field-help">kWh/rok poza energią wynikającą z Q/SCOP.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-service-direct">Serwis systemu elektrycznego</label><input id="rk-ec-service-direct" type="number" min="0" max="50000" step="50" value="0" inputmode="decimal"><span class="rk-ec-field-help">zł/rok.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-service-pump">Serwis pompy i wodnej instalacji</label><input id="rk-ec-service-pump" type="number" min="0" max="50000" step="50" value="400" inputmode="decimal"><span class="rk-ec-field-help">zł/rok.</span></div>
              </div>
              <div class="rk-ec-field-grid is-4">
                <div class="rk-ec-field"><label for="rk-ec-pv-direct">PV zużyte bezpośrednio na elektryczne</label><input id="rk-ec-pv-direct" type="number" min="0" max="200000" step="50" value="0" inputmode="decimal"><span class="rk-ec-field-help">kWh/rok rzeczywistej autokonsumpcji na ogrzewanie, nie cała produkcja PV.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-pv-pump">PV zużyte bezpośrednio przez pompę</label><input id="rk-ec-pv-pump" type="number" min="0" max="200000" step="50" value="0" inputmode="decimal"><span class="rk-ec-field-help">kWh/rok potwierdzonego dopasowania produkcji i pracy systemu.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-replacement-year">Rok wymiany pompy</label><input id="rk-ec-replacement-year" type="number" min="0" max="30" step="1" value="0" inputmode="numeric"><span class="rk-ec-field-help">0 = brak wymiany w analizie.</span></div>
                <div class="rk-ec-field"><label for="rk-ec-replacement-cost">Koszt wymiany pompy</label><input id="rk-ec-replacement-cost" type="number" min="0" max="500000" step="500" value="25000" inputmode="decimal"><span class="rk-ec-field-help">zł w wartości wpisanej dziś; doliczany tylko w wybranym roku.</span></div>
              </div>
            </div>
          </details>

          <div class="rk-ec-validation" id="rk-ec-validation" role="status" aria-live="polite"></div>

          <div class="rk-ec-results" aria-label="Wyniki porównania systemów">
            <article class="rk-ec-result-system is-direct">
              <h4>Elektryczne bezpośrednie</h4>
              <div class="rk-ec-result-grid">
                <div class="rk-ec-result-item"><span>Energia kupowana / rok</span><strong id="rk-ec-out-energy-direct">—</strong></div>
                <div class="rk-ec-result-item"><span>Koszt w 1. roku</span><strong id="rk-ec-out-year-direct">—</strong></div>
                <div class="rk-ec-result-item"><span>Koszt / m² w 1. roku</span><strong id="rk-ec-out-m2-direct">—</strong></div>
                <div class="rk-ec-result-item"><span>TCO po okresie</span><strong id="rk-ec-out-tco-direct">—</strong></div>
              </div>
            </article>
            <article class="rk-ec-result-system is-pump">
              <h4>Wodna podłogówka + pompa ciepła</h4>
              <div class="rk-ec-result-grid">
                <div class="rk-ec-result-item"><span>Energia kupowana / rok</span><strong id="rk-ec-out-energy-pump">—</strong></div>
                <div class="rk-ec-result-item"><span>Koszt w 1. roku</span><strong id="rk-ec-out-year-pump">—</strong></div>
                <div class="rk-ec-result-item"><span>Koszt / m² w 1. roku</span><strong id="rk-ec-out-m2-pump">—</strong></div>
                <div class="rk-ec-result-item"><span>TCO po okresie</span><strong id="rk-ec-out-tco-pump">—</strong></div>
              </div>
            </article>
          </div>

          <div class="rk-ec-verdict" aria-live="polite">
            <div><span>Użyteczne ciepło w modelu</span><strong id="rk-ec-out-demand">—</strong></div>
            <div><span>Pierwszy pełny rok przecięcia TCO</span><strong id="rk-ec-out-payback">—</strong></div>
            <div><span>Różnica TCO po okresie</span><strong id="rk-ec-out-delta">—</strong></div>
          </div>

          <div class="rk-ec-chart-panel">
            <div class="rk-ec-chart-head">
              <h4 id="rk-ec-chart-heading">Skumulowany koszt całkowity</h4>
              <div class="rk-ec-chart-tabs" role="group" aria-label="Widok wykresu">
                <button type="button" data-rk-ec-chart="cumulative" aria-pressed="true">TCO narastająco</button>
                <button type="button" data-rk-ec-chart="annual" aria-pressed="false">Koszt roczny</button>
                <button type="button" data-rk-ec-chart="energy" aria-pressed="false">Energia z sieci</button>
              </div>
            </div>
            <div class="rk-ec-chart-legend"><span><i class="is-direct"></i>Elektryczne bezpośrednie</span><span><i class="is-pump"></i>Wodna + pompa ciepła</span></div>
            <div class="rk-ec-chart-wrap"><svg id="rk-ec-chart" viewBox="0 0 760 390" role="img" aria-label="Porównanie kosztów ogrzewania. Wykres aktualizuje się po zmianie danych kalkulatora."></svg></div>
            <p class="rk-ec-chart-reading" id="rk-ec-chart-reading">Zmień dane, aby sprawdzić wrażliwość wyniku.</p>
          </div>

          <h4>Wrażliwość wyniku na SCOP — bez nadpisywania Twoich pól</h4>
          <p>Scenariusze zmieniają wyłącznie SCOP o 0,5 w dół lub w górę. Zapotrzebowanie, ceny, inwestycje, PV, serwis i wymiana pozostają identyczne.</p>
          <div class="rk-ec-scenarios">
            <div class="rk-ec-scenario"><b>Niższy SCOP</b><span id="rk-ec-scenario-low-assumption">—</span><strong id="rk-ec-scenario-low-result">—</strong></div>
            <div class="rk-ec-scenario"><b>SCOP wpisany</b><span id="rk-ec-scenario-base-assumption">—</span><strong id="rk-ec-scenario-base-result">—</strong></div>
            <div class="rk-ec-scenario"><b>Wyższy SCOP</b><span id="rk-ec-scenario-high-assumption">—</span><strong id="rk-ec-scenario-high-result">—</strong></div>
          </div>

          <div class="rk-ec-table" id="rk-ec-year-table">
            <table aria-label="Tabela kosztów w wybranych latach">
              <thead><tr><th>Rok</th><th>Elektryczne — TCO</th><th>Wodne + pompa — TCO</th><th>Różnica</th></tr></thead>
              <tbody id="rk-ec-year-table-body"></tbody>
            </table>
          </div>
          <div class="rk-ec-responsibility">
            <p><strong>Zakres wyniku:</strong> narzędzie liczy ogrzewanie pomieszczeń, bez CWU i chłodzenia. Zmienna cena prądu rośnie o wpisany procent, a koszty serwisu i wymiany pozostają w wartościach nominalnych wprowadzonych przez użytkownika.</p>
            <p><strong>PV:</strong> od zużycia odejmowana jest tylko wpisana energia rzeczywiście wykorzystana na pracę danego ogrzewania; wartość jest automatycznie ograniczana do zużycia systemu.</p>
            <p><strong>Ograniczenia:</strong> model nie symuluje pogody godzinowej, odszraniania, taryf dynamicznych, kredytu, ogólnej inflacji, wartości pieniądza w czasie, awarii ani zmian zachowania mieszkańców.</p>
          </div>
        </div>
      </div>

      <div class="rk-ec-cta">
        <span class="rk-ec-eyebrow">Kalkulator porównał koszty — projekt musi potwierdzić parametry</span>
        <div class="rk-ec-cta-title">Założony SCOP nie bierze się wyłącznie z katalogu pompy ciepła</div>
        <p>Rzeczywisty wynik zależy między innymi od wymaganej temperatury zasilania, rozstawu rur, długości pętli, przepływów, strat ciśnienia i nastaw. Projekt określa te parametry dla konkretnego budynku, aby ekonomiczny wariant z arkusza był również wykonalny technicznie.</p>
        <a class="rk-ec-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Sprawdź projekt ogrzewania podłogowego</a>
        <small class="rk-ec-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-reading">
      <span class="rk-ec-eyebrow">Wynik to relacja założeń</span>
      <h2 class="rk-ec-section-title">Jak czytać wynik kalkulatora, żeby nie wyciągnąć złego wniosku?</h2>
      <div class="rk-ec-grid-2">
        <article class="rk-ec-card"><h3>Najpierw energia, potem złotówki</h3><p>Jeżeli zakup energii dla pompy jest zaskakująco niski, sprawdź SCOP, energię pomocniczą i PV. Jeżeli rachunek elektryki jest wysoki, potwierdź, czy wpisałeś ciepło użyteczne, a nie energię pierwotną albo moc w watach.</p></article>
        <article class="rk-ec-card"><h3>Rok zwrotu nie jest gwarancją</h3><p>To pierwszy pełny rok, w którym skumulowany TCO pompy nie przewyższa TCO elektryki przy niezmienionych założeniach. Realna przyszłość może zmienić ceny, sprawność, serwis i zakres wymian.</p></article>
        <article class="rk-ec-card"><h3>Brak przecięcia też jest wynikiem</h3><p>Przy małym zapotrzebowaniu lub dużej różnicy inwestycji pompa może nie odzyskać nakładu w 20 czy 30 lat. To ważna informacja decyzyjna, a nie powód do ukrywania komunikatu.</p></article>
        <article class="rk-ec-card"><h3>Najważniejsza jest analiza wrażliwości</h3><p>Porównaj SCOP niższy i wyższy, cenę z rachunku, 0% oraz własny scenariusz wzrostu, a także wariant z wymianą urządzenia. Stabilny wybór powinien bronić się w kilku realistycznych wersjach.</p></article>
      </div>
      <p>SCOP jest skutkiem pracy całego układu w sezonie, a nie jedną stałą przypisaną każdej pompie. Zobacz, jak <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">temperatura zasilania wpływa na pompę ciepła</a> oraz dlaczego potrzebna jest prawidłowa <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza podłogówki</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-electric">
      <span class="rk-ec-eyebrow">Nie tylko rachunek roczny</span>
      <h2 class="rk-ec-section-title">Kiedy elektryczne ogrzewanie podłogowe może być rozsądnym wyborem?</h2>
      <p class="rk-ec-section-lead">Niski koszt inwestycyjny ma największą wartość tam, gdzie roczna ilość potrzebnego ciepła jest mała albo system pracuje krótko. Nie oznacza to, że każdy mały dom automatycznie powinien mieć kable — potrzebny jest bilans mocy, energii i przyłącza.</p>
      <div class="rk-ec-grid-4">
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Małe zużycie</span><h3>Bardzo energooszczędny budynek</h3><p>Mała liczba kupowanych kWh ogranicza roczną korzyść z pompy, więc duży dodatkowy CAPEX może zwracać się długo.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Krótka praca</span><h3>Domek lub strefa okresowa</h3><p>Przy użytkowaniu weekendowym i niewielkiej powierzchni prosty system może wygrać kosztami i szybkością reakcji.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Remont</span><h3>Ograniczona wysokość podłogi</h3><p>Mata pod płytkami może być łatwiejsza do wykonania niż pełna hydraulika, ale trzeba sprawdzić konstrukcję, moc elektryczną i regulację.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Uzupełnienie</span><h3>Komfort poza sezonem</h3><p>Elektryczna mata w łazience może pracować niezależnie od głównego źródła, jeżeli użytkownik świadomie akceptuje jej koszt.</p></article>
      </div>
      <div class="rk-ec-warning"><strong>Sprawdź przyłącze:</strong> suma mocy kabli nie mówi jeszcze, ile zużyją w roku, ale wpływa na bilans mocy budynku, dobór obwodów, zabezpieczeń i sterowania. Te elementy muszą być ujęte w CAPEX.</div>
      <p>Kable i maty nie zawsze oznaczają identyczną konstrukcję. Grubość warstw, rodzaj okładziny oraz sterowanie zmieniają dynamikę pracy. Warto zestawić to z poradnikiem o <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">wpływie okładziny podłogowej na oddawanie ciepła</a>.</p>
    </section>

    <section class="rk-ec-section rk-ec-section-dark" id="rk-ec-water">
      <span class="rk-ec-eyebrow">Niższy pobór wymaga dobrego układu</span>
      <h2 class="rk-ec-section-title">Kiedy wodna podłogówka z pompą ciepła zyskuje przewagę?</h2>
      <p class="rk-ec-section-lead">Przewaga rośnie wraz z ilością dostarczanego ciepła, długością eksploatacji i sezonową sprawnością. Sama obecność rury w podłodze nie obniża zużycia — robi to źródło pracujące w korzystnych parametrach.</p>
      <div class="rk-ec-grid-3">
        <article class="rk-ec-card"><span class="rk-ec-card-label">Duże roczne Q</span><h3>Więcej energii do dostarczenia</h3><p>Każda kWh użytecznego ciepła powiększa różnicę pomiędzy η bliską 1 a SCOP większym od 1, dlatego wysoki popyt cieplny skraca prosty zwrot.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label">Niski parametr</span><h3>Podłoga pokrywa obciążenie</h3><p>Wymagana moc musi zostać osiągnięta przy temperaturze sprzyjającej pompie. Rozstawu nie wybiera się wyłącznie według jednego schematu dla całego domu.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label">Długi horyzont</span><h3>Infrastruktura zostaje w budynku</h3><p>Rury, rozdzielacze i poprawnie wykonane warstwy tworzą emiter, do którego można w przyszłości dobrać inne kompatybilne źródło.</p></article>
      </div>
      <p>Punkt wyjścia stanowi <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne pomieszczeń</a>. Dalej dobiera się <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a>, <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">długości pętli grzewczych</a>, przepływy i <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">parametry pompy obiegowej</a>. Dopiero po połączeniu tych danych można wiarygodnie oceniać przyszły SCOP; pełną zależność pokazuje poradnik o <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekcie ogrzewania podłogowego z pompą ciepła</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-pv">
      <span class="rk-ec-eyebrow">Produkcja roczna to nie autokonsumpcja grzania</span>
      <h2 class="rk-ec-section-title">Czy fotowoltaika i tańsza taryfa zmieniają wynik?</h2>
      <p>Tak, ale tylko wtedy, gdy model opisuje rzeczywiste rozliczenie i zgodność w czasie. Nie wolno odjąć całej rocznej produkcji PV od energii ogrzewania tylko dlatego, że obie wielkości są zapisane w kWh. Największe zapotrzebowanie na ciepło przypada na okres o słabszej produkcji słonecznej, a sposób rozliczenia energii zależy od umowy i systemu.</p>
      <div class="rk-ec-grid-3">
        <article class="rk-ec-card"><h3>Autokonsumpcja</h3><p>Do kalkulatora wpisz wyłącznie energię wykorzystaną bezpośrednio przez dany system w czasie jego pracy. Dla kabli i pompy może być inna.</p></article>
        <article class="rk-ec-card"><h3>Energia oddana i odebrana</h3><p>Jej wartość zależy od zasad rozliczenia. Nie jest równoważna bezpośrednio zużytej kWh i nie powinna być odejmowana bez modelu finansowego.</p></article>
        <article class="rk-ec-card"><h3>Taryfa godzinowa</h3><p>Znaczenie ma udział pracy w poszczególnych strefach, nie sama nazwa taryfy. Bezwładna podłoga może przesuwać część poboru, ale ogranicza ją komfort i konstrukcja.</p></article>
      </div>
      <p>Do oszacowania produkcji w konkretnej lokalizacji można użyć oficjalnego narzędzia <a href="https://re.jrc.ec.europa.eu/pvg_tools/en/" target="_blank" rel="nofollow noopener noreferrer">PVGIS Komisji Europejskiej</a>. To nadal nie zastępuje danych o godzinowym dopasowaniu produkcji do ogrzewania. Aktualną ofertę i zmienne składniki energii sprawdzaj w swojej umowie oraz porównywarce <a href="https://maszwybor.ure.gov.pl/or/cenki" target="_blank" rel="nofollow noopener noreferrer">Urzędu Regulacji Energetyki</a>.</p>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-lifecycle">
      <span class="rk-ec-eyebrow">Długi okres wymaga uczciwych wymian</span>
      <h2 class="rk-ec-section-title">Serwis, trwałość i wymiana urządzeń — czego nie pomijać w 20–30 latach?</h2>
      <div class="rk-ec-table">
        <table aria-label="Koszty cyklu życia obu systemów">
          <thead><tr><th>Element</th><th>Jak ująć w analizie?</th><th>Najczęstszy błąd</th></tr></thead>
          <tbody>
            <tr><th data-label="Element">Elementy w podłodze</th><td data-label="Jak liczyć">Porównaj deklaracje producenta, warunki gwarancji, temperatury pracy, dokumentację wykonania i możliwość naprawy.</td><td data-label="Błąd">Jedna uniwersalna liczba lat dla każdej rury, kabla, maty lub połączenia.</td></tr>
            <tr><th data-label="Element">Pompa ciepła</th><td data-label="Jak liczyć">Przetestuj wariant bez wymiany i wariant z wymianą w realistycznym roku oraz koszcie.</td><td data-label="Błąd">Założenie, że całe urządzenie na pewno wytrzyma 30 lat albo na pewno zepsuje się po 10.</td></tr>
            <tr><th data-label="Element">Serwis</th><td data-label="Jak liczyć">Wpisz rzeczywisty zakres z warunków gwarancji i ofert serwisowych.</td><td data-label="Błąd">Dodawanie wysokiego serwisu jednemu wariantowi i pomijanie wszystkich napraw drugiego bez uzasadnienia.</td></tr>
            <tr><th data-label="Element">Sterowanie</th><td data-label="Jak liczyć">Uwzględnij termostaty, listwy, siłowniki, automatykę źródła i ewentualne wymiany.</td><td data-label="Błąd">Traktowanie automatyki jako identycznej, mimo innego zakresu funkcji.</td></tr>
            <tr><th data-label="Element">Dotacje i finansowanie</th><td data-label="Jak liczyć">Wprowadź nakład po dotacji faktycznie dostępnej dla inwestycji; koszt kredytu analizuj osobno.</td><td data-label="Błąd">Jednoczesne użycie ceny przed dotacją i korzyści po dotacji albo nieuwzględnienie kosztu kapitału.</td></tr>
          </tbody>
        </table>
      </div>
      <p>Warunki eksploatacji rur trzeba odczytywać z dokumentacji konkretnego systemu, a nie z hasła „50 lat”. Szczegóły omawia poradnik o <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałości rur ogrzewania podłogowego</a> i artykuł o <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rurze PEX do podłogówki</a>. Koszt automatyki oceniaj po funkcji, korzystając z analizy <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">czy sterowanie strefowe ma sens</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-example">
      <span class="rk-ec-eyebrow">Przykład zsynchronizowany z narzędziem</span>
      <h2 class="rk-ec-section-title">Ile może kosztować ogrzewanie domu 120 m²?</h2>
      <p>Po przywróceniu wartości przykładowych model przyjmuje 8000 kWh użytecznego ciepła rocznie, cenę 1,20 zł/kWh, sprawność elektryczną 0,99, SCOP 3,5, 250 kWh energii pomocniczej, serwis pompy 400 zł/rok oraz inwestycje 10 000 i 40 000 zł. Wzrost ceny oraz PV wynoszą 0%, a wymiana pompy jest wyłączona.</p>
      <div class="rk-ec-grid-4">
        <article class="rk-ec-card"><span class="rk-ec-card-label is-orange">Elektryczne</span><h3 id="rk-ec-example-direct">około 9700 zł/rok</h3><p>Koszt pierwszego roku energii i serwisu dla aktualnych danych.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label">Pompa ciepła</span><h3 id="rk-ec-example-pump">około 3440 zł/rok</h3><p>Koszt pierwszego roku wraz z energią pomocniczą i serwisem.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-green">Przecięcie</span><h3 id="rk-ec-example-payback">5. rok</h3><p>Pierwszy pełny rok, w którym TCO wodnego wariantu nie jest wyższy.</p></article>
        <article class="rk-ec-card"><span class="rk-ec-card-label is-green">Po okresie</span><h3 id="rk-ec-example-delta">około 95 100 zł</h3><p>Różnica TCO przy aktualnie wpisanym horyzoncie i założeniach.</p></article>
      </div>
      <div class="rk-ec-note"><strong>To nie jest prognoza dla każdego domu 120 m².</strong> Dwa budynki o tej samej powierzchni mogą potrzebować zupełnie innej ilości energii z powodu izolacji, stolarki, wentylacji, bryły, lokalizacji i temperatury wewnętrznej. Najpierw sprawdź <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">jak oszacować zapotrzebowanie na ogrzewanie</a> oraz czym różni się ono od <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansu cieplnego budynku</a>.</div>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-errors">
      <span class="rk-ec-eyebrow">Sześć sposobów na błędny wynik</span>
      <h2 class="rk-ec-section-title">Najczęstsze błędy w porównaniu kabli, folii i wodnej podłogówki</h2>
      <div class="rk-ec-grid-3">
        <article class="rk-ec-card"><h3>1. Inny zakres inwestycji</h3><p>Jedna cena obejmuje tylko kabel, a druga źródło, emiter, automatykę i uruchomienie. Najpierw wyrównaj zakres funkcjonalny obu ofert.</p></article>
        <article class="rk-ec-card"><h3>2. Powierzchnia zamiast energii</h3><p>„Dom 100 m²” nie określa rocznego rachunku. Potrzebne jest użyteczne ciepło w kWh/rok i założenia dotyczące komfortu.</p></article>
        <article class="rk-ec-card"><h3>3. Chwilowy COP jako SCOP</h3><p>Jedna wartość katalogowa dla łagodnych warunków nie opisuje sezonu, odszraniania ani temperatur wymaganych przez instalację.</p></article>
        <article class="rk-ec-card"><h3>4. Stała cena udająca aktualną taryfę</h3><p>1,20 zł/kWh w tym wpisie jest edytowalnym przykładem. Użytkownik powinien policzyć zmienny koszt z własnego rachunku.</p></article>
        <article class="rk-ec-card"><h3>5. Cała produkcja PV odjęta zimą</h3><p>Roczne 8000 kWh produkcji nie oznacza 8000 kWh bezpośrednio zużytych na ogrzewanie w czasie zapotrzebowania.</p></article>
        <article class="rk-ec-card"><h3>6. Obietnica pewnego zwrotu</h3><p>Zwrot jest wynikiem przyjętych danych. Uczciwy model musi również pokazać brak przecięcia w wybranym okresie.</p></article>
      </div>
      <p>Do kosztów wykonania trzeba dopisać ryzyka montażowe. Osobna checklista opisuje <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy przy montażu podłogówki</a>, w tym warstwy, próbę i dokumentację przed zakryciem instalacji. Uzupełnieniem są zasady doboru <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubości wylewki na ogrzewaniu podłogowym</a> oraz wykonania <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacji</a>.</p>
    </section>

    <section class="rk-ec-section" id="rk-ec-method">
      <span class="rk-ec-eyebrow">Procedura od danych do decyzji</span>
      <h2 class="rk-ec-section-title">Jak uczciwie porównać ogrzewanie elektryczne i wodne krok po kroku?</h2>
      <div class="rk-ec-step-grid">
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">1</span><div><h3>Ustal ten sam komfort</h3><p>Zdefiniuj ogrzewane pomieszczenia, temperatury wewnętrzne, harmonogram i ten sam zakres CWU lub wyłącz CWU z obu wariantów.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">2</span><div><h3>Wyznacz użyteczne ciepło</h3><p>Przyjmij roczne kWh z obliczeń budynku albo świadomie oszacuj je z powierzchni i wskaźnika energii — bez mieszania z mocą W.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">3</span><div><h3>Wyrównaj zakres CAPEX</h3><p>Porównaj projekt, emiter, źródło, automatykę, elektrykę, hydraulikę, montaż, uruchomienie oraz koszty po faktycznych dotacjach.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">4</span><div><h3>Wpisz cenę z rachunku</h3><p>Dodaj cenę energii i zmienne składniki dystrybucji. Nie doliczaj opłaty stałej, jeśli występuje identycznie niezależnie od wyboru.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">5</span><div><h3>Przyjmij sezonową sprawność</h3><p>Dla elektryki użyj η bliskiej 1, a dla pompy realistycznego SCOP uwzględniającego klimat, temperaturę wody i działanie instalacji.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">6</span><div><h3>Dodaj serwis, PV i wymianę</h3><p>Wpisz koszty roczne, energię pomocniczą, udokumentowaną autokonsumpcję ogrzewania oraz wariant wymiany pompy.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">7</span><div><h3>Sprawdź kilka scenariuszy</h3><p>Zmień SCOP, cenę prądu, wzrost ceny, horyzont i koszt wymiany. Zwróć uwagę, czy wybór pozostaje stabilny.</p></div></article>
        <article class="rk-ec-step"><span class="rk-ec-step-no" aria-hidden="true">8</span><div><h3>Potwierdź wykonalność</h3><p>Zweryfikuj moce, rozstawy, temperatury, przepływy, opory, przyłącze i sterowanie. Kalkulacja finansowa nie zastępuje projektu.</p></div></article>
      </div>
      <div class="rk-ec-callout"><strong>Dokumenty, które warto mieć obok kalkulatora:</strong> OZC lub bilans energii, dwie kompletne oferty, rachunek za prąd, dane sezonowe urządzenia dla właściwego klimatu i temperatury wody, warunki gwarancji, plan serwisu oraz profil PV. Sam opis produktu nie wystarcza.</div>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-conclusion">
      <span class="rk-ec-eyebrow">Wniosek bez marketingowego skrótu</span>
      <h2 class="rk-ec-section-title">Co wybrać: kable grzejne, folię czy wodną podłogówkę z pompą?</h2>
      <p><strong>Jeżeli kluczowy jest niski nakład, roczne zapotrzebowanie jest bardzo małe, a instalacja ma ograniczony zakres lub krótki czas pracy, ogrzewanie elektryczne może mieć niższy TCO w badanym horyzoncie.</strong> Jeżeli dom potrzebuje więcej ciepła, będzie długo użytkowany, a wodna podłoga pozwala pompie osiągnąć dobry SCOP, niższy pobór energii może zwrócić dodatkową inwestycję.</p>
      <p>Ostatecznej odpowiedzi nie daje sama powierzchnia 100 czy 120 m². Dają ją spójne dane: energia użyteczna, pełna cena kWh, kompletne nakłady, SCOP dla realnej temperatury zasilania, serwis, PV i wymiany. Porównując koszt po 10 i 20 latach, zawsze pokazuj również rok zero oraz scenariusz, w którym ceny albo sprawność układają się mniej korzystnie.</p>
      <div class="rk-ec-answer"><span class="rk-ec-answer-label">Jedno zdanie do zapamiętania</span><p><strong>Najtańszy element grzejny nie musi tworzyć najtańszego systemu, a najniższy rachunek roczny nie musi zwrócić najwyższej inwestycji — dlatego wybieramy po TCO i po sprawdzeniu technicznym.</strong></p></div>

      <div class="rk-ec-cta">
        <span class="rk-ec-eyebrow">Od symulacji do dokumentacji dla wykonawcy</span>
        <div class="rk-ec-cta-title">Zamień założony niski parametr na policzony układ podłogówki</div>
        <p>Projekt łączy obciążenia cieplne pomieszczeń z powierzchnią czynną, rozstawem, długością pętli, temperaturą wody, przepływami i stratami ciśnienia. Dzięki temu dobór źródła oraz analiza kosztów opierają się na instalacji, którą można prawidłowo wykonać i uruchomić.</p>
        <a class="rk-ec-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów kompletny projekt podłogówki</a>
        <small class="rk-ec-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-ec-section" id="rk-ec-sources">
      <span class="rk-ec-eyebrow">Metodyka i materiały oficjalne</span>
      <h2 class="rk-ec-section-title">Źródła i podstawa techniczna</h2>
      <ul class="rk-ec-sources">
        <li><a href="https://www.iso.org/standard/74682.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-1:2021 — definicje i symbole dla wbudowanych systemów ogrzewania i chłodzenia płaszczyznowego</a>.</li>
        <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 — wyznaczanie projektowej mocy grzewczej i chłodniczej</a>.</li>
        <li><a href="https://www.iso.org/standard/74684.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-3:2021 — projektowanie i wymiarowanie</a>.</li>
        <li><a href="https://www.iso.org/standard/74685.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-5:2021 — instalacja systemów płaszczyznowych</a>.</li>
        <li><a href="https://maszwybor.ure.gov.pl/or/cenki" target="_blank" rel="nofollow noopener noreferrer">Urząd Regulacji Energetyki — oficjalna porównywarka ofert sprzedaży energii elektrycznej</a>.</li>
        <li><a href="https://re.jrc.ec.europa.eu/pvg_tools/en/" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska, Joint Research Centre — PVGIS do szacowania produkcji fotowoltaicznej</a>.</li>
        <li><a href="https://energy.ec.europa.eu/topics/energy-efficiency/energy-performance-buildings/energy-performance-buildings-directive_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — dyrektywa w sprawie charakterystyki energetycznej budynków (EPBD)</a>.</li>
      </ul>
      <div class="rk-ec-responsibility">
        <p><strong>Stan źródeł:</strong> odnośniki sprawdzono 13 września 2026 r. Karty ISO opisują zakres norm; dostęp do pełnej treści może być odpłatny.</p>
        <p><strong>Metodyka kalkulatora:</strong> elektryka = Q/η; pompa = Q/SCOP + energia pomocnicza. Od obu poborów odejmowana jest osobno wpisana autokonsumpcja PV, maksymalnie do poziomu zużycia. Koszt energii rośnie o jawny procent roczny.</p>
        <p><strong>Odpowiedzialność:</strong> treść i narzędzie mają charakter edukacyjny. Nie są projektem wykonawczym, audytem energetycznym, gwarancją oszczędności, ofertą urządzenia ani poradą finansową.</p>
      </div>
    </section>

    <section class="rk-ec-section rk-ec-section-soft" id="rk-ec-faq">
      <span class="rk-ec-eyebrow">Najczęstsze pytania inwestorów</span>
      <h2 class="rk-ec-section-title">FAQ: elektryczne czy wodne ogrzewanie podłogowe — koszty</h2>
      <div class="rk-ec-faq">
        <details><summary>Co jest tańsze: ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła?</summary><div class="rk-ec-faq-answer"><p>Elektryczne bezpośrednie zwykle wymaga niższego nakładu, a pompa ciepła może mieć niższy koszt energii. O niższym TCO decydują zapotrzebowanie, pełny CAPEX, SCOP, cena prądu, serwis, wymiany i czas analizy.</p></div></details>
        <details><summary>Ile kosztuje ogrzewanie podłogowe elektryczne domu 100 m² rocznie?</summary><div class="rk-ec-faq-answer"><p>Nie da się tego określić z samej powierzchni. Roczny koszt to w przybliżeniu użyteczne ciepło podzielone przez sprawność, pomniejszone o rzeczywistą autokonsumpcję PV i pomnożone przez zmienną cenę kWh, plus serwis.</p></div></details>
        <details><summary>Jakie zapotrzebowanie wpisać do kalkulatora?</summary><div class="rk-ec-faq-answer"><p>Roczne użyteczne ciepło potrzebne do ogrzewania pomieszczeń, najlepiej z wiarygodnych obliczeń. Nie wpisuj mocy urządzenia w kW ani energii pierwotnej. Alternatywnie użyj powierzchni i świadomie przyjętego kWh/(m²·rok).</p></div></details>
        <details><summary>Czy COP 3,5 oznacza, że rachunek zawsze będzie 3,5 razy niższy?</summary><div class="rk-ec-faq-answer"><p>Nie. Do porównania rocznego potrzebny jest sezonowy SCOP, a ponadto trzeba doliczyć energię pomocniczą, serwis i nakład. Chwilowy COP zależy od konkretnego punktu pracy.</p></div></details>
        <details><summary>Czy wodna podłogówka z kotłem elektrycznym zużyje mniej prądu niż kable?</summary><div class="rk-ec-faq-answer"><p>Nie należy tego zakładać. Oba warianty wykorzystują oporowe wytwarzanie ciepła ze sprawnością bliską 1, a układ wodny ma dodatkową energię pomp. Jego zaletą może być możliwość późniejszej zmiany źródła.</p></div></details>
        <details><summary>Czy fotowoltaika zapewnia darmowe ogrzewanie elektryczne?</summary><div class="rk-ec-faq-answer"><p>Nie automatycznie. Trzeba rozliczyć zgodność produkcji i zużycia w czasie, zasady umowy oraz energię rzeczywiście wykorzystaną na ogrzewanie. Cała roczna produkcja PV nie jest autokonsumpcją zimowego grzania.</p></div></details>
        <details><summary>Po ilu latach zwraca się wodna podłogówka z pompą ciepła?</summary><div class="rk-ec-faq-answer"><p>Nie ma jednej liczby. Rok zwrotu jest pierwszym rokiem, gdy skumulowane oszczędności operacyjne pokrywają różnicę inwestycji i dodatkowe koszty. Przy części założeń zwrot nie nastąpi w badanym okresie.</p></div></details>
        <details><summary>Czy kable grzejne w wylewce nie mają bezwładności?</summary><div class="rk-ec-faq-answer"><p>Mogą mieć znaczną bezwładność, jeśli współpracują z masywnym jastrychem. Dynamikę wyznaczają warstwy, masa, izolacja, moc i sterowanie, a nie wyłącznie to, czy nośnikiem jest woda lub prąd.</p></div></details>
        <details><summary>Jakie koszty trzeba uwzględnić w porównaniu TCO?</summary><div class="rk-ec-faq-answer"><p>Kompletną inwestycję po realnych dotacjach, energię zmienną, energię pomocniczą, serwis, automatykę, planowane wymiany i ten sam zakres funkcji. Koszt finansowania oraz wartość pieniądza w czasie analizuje się osobno.</p></div></details>
        <details><summary>Czy kalkulator zastępuje OZC i projekt ogrzewania?</summary><div class="rk-ec-faq-answer"><p>Nie. Kalkulator pokazuje konsekwencje ekonomiczne założeń. OZC i projekt sprawdzają, ile mocy potrzebują pomieszczenia oraz czy instalacja osiągnie ją przy prawidłowych temperaturach, przepływach i oporach.</p></div></details>
      </div>
    </section>

    <section class="rk-ec-section" id="rk-ec-author" aria-labelledby="rk-ec-author-heading">
      <div class="rk-ec-author">
        <div class="rk-ec-author-head">
          <div>
            <span class="rk-ec-eyebrow">E-E-A-T i odpowiedzialność za treść</span>
            <h2 id="rk-ec-author-heading">Autor i weryfikacja merytoryczna</h2>
            <p>Treść przygotowana z perspektywy pełnych kosztów inwestycji i eksploatacji, bilansu cieplnego oraz rzeczywistej pracy źródła ciepła.</p>
          </div>
          <span class="rk-ec-author-mark">Aktualizacja: 13.09.2026</span>
        </div>
        <div class="rk-ec-author-layout">
          <aside class="rk-ec-author-side">
            <div class="rk-ec-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji grzewczych" width="132" height="132" loading="lazy" decoding="async"></div>
            <div class="rk-ec-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
            <p class="rk-ec-author-role">Projektant instalacji sanitarnych i specjalista HVAC</p>
            <div class="rk-ec-author-social-label">Profile branżowe</div>
            <div class="rk-ec-author-social" aria-label="Profile branżowe Roberta Kucharskiego">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6.5 8.2H3.2V21h3.3V8.2ZM4.85 3A1.92 1.92 0 1 0 4.9 6.84 1.92 1.92 0 0 0 4.85 3ZM21 13.66c0-3.86-2.06-5.66-4.81-5.66a4.14 4.14 0 0 0-3.75 2.06V8.2H9.12V21h3.32v-6.34c0-1.67.32-3.29 2.39-3.29 2.04 0 2.07 1.91 2.07 3.4V21H21v-7.34Z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14 8.5V7c0-.74.5-.92.85-.92H17V3.13L14.05 3C11.13 3 10.47 5.16 10.47 6.55V8.5H8v3.36h2.47V21H14v-9.14h2.7l.44-3.36H14Z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 3H22l-6.77 7.74L23.2 21h-6.24l-4.89-6.39L6.49 21H3.38l7.24-8.28L2.98 3h6.4l4.42 5.84L18.9 3Zm-1.09 16.2h1.72L8.44 4.7H6.59l11.22 14.5Z"></path></svg></a>
            </div>
          </aside>
          <div class="rk-ec-author-main">
            <blockquote class="rk-ec-author-quote"><p>Nie porównuję ogrzewania elektrycznego z wodną podłogówką wyłącznie przez cenę montażu albo energii. Najpierw odnoszę oba warianty do tego samego zapotrzebowania na ciepło, a następnie liczę inwestycję, eksploatację, serwis i wymiany w jednym okresie.</p></blockquote>
            <div class="rk-ec-author-cards">
              <div class="rk-ec-author-card"><b>Praktyka projektowa</b><p>Analiza OZC, kosztów inwestycji i eksploatacji, temperatury zasilania, hydrauliki oraz współpracy podłogówki ze źródłem ciepła.</p></div>
              <div class="rk-ec-author-card"><b>Metoda</b><p>Ogrzewanie elektryczne i wodna podłogówka są porównywane dla tego samego budynku, zapotrzebowania na ciepło, okresu oraz jawnych cen energii.</p></div>
              <div class="rk-ec-author-card"><b>Zakres aktualizacji</b><p>Rozdzielono koszt emitera od źródła oraz dodano kalkulator TCO, scenariusze cen energii, serwis, wymiany i ograniczenia obliczeń.</p></div>
            </div>
            <div class="rk-ec-author-mini-label">Portale autora</div>
            <div class="rk-ec-portals">
              <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </div>
    </section>
  </article>
</div>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-energy-choice");
  if (!root) return;

  var state = {
    mode: "annual",
    chart: "cumulative",
    source: "pump"
  };

  var defaults = {
    "rk-ec-demand": 8000,
    "rk-ec-intensity": 67,
    "rk-ec-area": 120,
    "rk-ec-price": 1.20,
    "rk-ec-capex-direct": 10000,
    "rk-ec-capex-pump": 40000,
    "rk-ec-scop": 3.5,
    "rk-ec-years": 20,
    "rk-ec-growth": 0,
    "rk-ec-eta": 0.99,
    "rk-ec-aux": 250,
    "rk-ec-service-direct": 0,
    "rk-ec-service-pump": 400,
    "rk-ec-pv-direct": 0,
    "rk-ec-pv-pump": 0,
    "rk-ec-replacement-year": 0,
    "rk-ec-replacement-cost": 25000
  };

  function el(id) {
    return document.getElementById(id);
  }

  function numberFrom(id, fallback) {
    var node = el(id);
    if (!node) return fallback;
    var parsed = parseFloat(String(node.value).replace(",", "."));
    if (!Number.isFinite(parsed)) return fallback;
    return parsed;
  }

  function clamp(value, min, max) {
    return Math.min(max, Math.max(min, value));
  }

  function textTo(id, value) {
    var node = el(id);
    if (node) node.textContent = value;
  }

  function money(value) {
    return new Intl.NumberFormat("pl-PL", {
      style: "currency",
      currency: "PLN",
      maximumFractionDigits: 0
    }).format(value);
  }

  function energy(value) {
    return new Intl.NumberFormat("pl-PL", {
      maximumFractionDigits: 0
    }).format(value) + " kWh";
  }

  function decimal(value, digits) {
    return new Intl.NumberFormat("pl-PL", {
      minimumFractionDigits: digits,
      maximumFractionDigits: digits
    }).format(value);
  }

  function readSettings() {
    var area = clamp(numberFrom("rk-ec-area", 120), 10, 1000);
    var directDemand = clamp(numberFrom("rk-ec-demand", 8000), 100, 200000);
    var intensity = clamp(numberFrom("rk-ec-intensity", 67), 1, 500);
    var demand = state.mode === "intensity" ? area * intensity : directDemand;
    var years = Math.round(clamp(numberFrom("rk-ec-years", 20), 1, 30));
    var replacementYear = Math.round(clamp(numberFrom("rk-ec-replacement-year", 0), 0, 30));

    return {
      area: area,
      demand: demand,
      price: clamp(numberFrom("rk-ec-price", 1.20), 0.01, 10),
      capexDirect: clamp(numberFrom("rk-ec-capex-direct", 10000), 0, 1000000),
      capexPump: clamp(numberFrom("rk-ec-capex-pump", 40000), 0, 1000000),
      scop: clamp(numberFrom("rk-ec-scop", 3.5), 1.1, 8),
      years: years,
      growth: clamp(numberFrom("rk-ec-growth", 0), -10, 30) / 100,
      eta: clamp(numberFrom("rk-ec-eta", 0.99), 0.80, 1),
      auxiliary: clamp(numberFrom("rk-ec-aux", 250), 0, 10000),
      serviceDirect: clamp(numberFrom("rk-ec-service-direct", 0), 0, 50000),
      servicePump: clamp(numberFrom("rk-ec-service-pump", 400), 0, 50000),
      pvDirect: clamp(numberFrom("rk-ec-pv-direct", 0), 0, 200000),
      pvPump: clamp(numberFrom("rk-ec-pv-pump", 0), 0, 200000),
      replacementYear: replacementYear,
      replacementCost: clamp(numberFrom("rk-ec-replacement-cost", 25000), 0, 500000)
    };
  }

  function calculate(settings) {
    var directGross = settings.demand / settings.eta;
    var pumpGross = settings.demand / settings.scop + settings.auxiliary;
    var directPv = Math.min(directGross, settings.pvDirect);
    var pumpPv = Math.min(pumpGross, settings.pvPump);
    var directPurchased = Math.max(0, directGross - directPv);
    var pumpPurchased = Math.max(0, pumpGross - pumpPv);
    var directCumulative = settings.capexDirect;
    var pumpCumulative = settings.capexPump;
    var rows = [{
      year: 0,
      price: settings.price,
      directEnergy: directPurchased,
      pumpEnergy: pumpPurchased,
      directAnnual: 0,
      pumpAnnual: 0,
      directCumulative: directCumulative,
      pumpCumulative: pumpCumulative,
      replacement: 0
    }];
    var payback = null;

    if (pumpCumulative <= directCumulative) payback = 0;

    for (var year = 1; year <= settings.years; year += 1) {
      var currentPrice = settings.price * Math.pow(1 + settings.growth, year - 1);
      var directAnnual = directPurchased * currentPrice + settings.serviceDirect;
      var pumpAnnual = pumpPurchased * currentPrice + settings.servicePump;
      var replacement = 0;
      if (settings.replacementYear > 0) {
        if (year === settings.replacementYear) replacement = settings.replacementCost;
      }
      directCumulative += directAnnual;
      pumpCumulative += pumpAnnual + replacement;
      if (payback === null) {
        if (pumpCumulative <= directCumulative) payback = year;
      }
      rows.push({
        year: year,
        price: currentPrice,
        directEnergy: directPurchased,
        pumpEnergy: pumpPurchased,
        directAnnual: directAnnual,
        pumpAnnual: pumpAnnual + replacement,
        pumpOperating: pumpAnnual,
        directCumulative: directCumulative,
        pumpCumulative: pumpCumulative,
        replacement: replacement
      });
    }

    return {
      settings: settings,
      directGross: directGross,
      pumpGross: pumpGross,
      directPurchased: directPurchased,
      pumpPurchased: pumpPurchased,
      directPv: directPv,
      pumpPv: pumpPv,
      rows: rows,
      payback: payback,
      directFinal: directCumulative,
      pumpFinal: pumpCumulative,
      delta: directCumulative - pumpCumulative,
      firstDirect: rows[1].directAnnual,
      firstPump: rows[1].pumpAnnual
    };
  }

  function paybackLabel(value, years) {
    if (value === null) return "brak w okresie " + years + " lat";
    if (value === 0) return "już w roku 0";
    return "w " + value + ". roku";
  }

  function deltaLabel(value) {
    if (Math.abs(value) < 1) return "praktycznie brak różnicy";
    if (value > 0) return money(value) + " mniej: wodna + pompa";
    return money(Math.abs(value)) + " mniej: elektryczne";
  }

  function compactValue(value, mode) {
    if (mode === "energy") {
      if (value >= 10000) return decimal(value / 1000, 0) + " tys.";
      if (value >= 1000) return decimal(value / 1000, 1) + " tys.";
      return decimal(value, 0);
    }
    if (value >= 1000000) return decimal(value / 1000000, 1) + " mln";
    if (value >= 10000) return decimal(value / 1000, 0) + " tys.";
    if (value >= 1000) return decimal(value / 1000, 1) + " tys.";
    return decimal(value, 0);
  }

  function setPressed(selector, key, active) {
    root.querySelectorAll(selector).forEach(function (button) {
      button.setAttribute("aria-pressed", button.getAttribute(key) === active ? "true" : "false");
    });
  }

  function updateModeUi() {
    setPressed("[data-rk-ec-mode]", "data-rk-ec-mode", state.mode);
    var annualField = el("rk-ec-annual-field");
    var intensityField = el("rk-ec-intensity-field");
    if (annualField) annualField.hidden = state.mode !== "annual";
    if (intensityField) intensityField.hidden = state.mode !== "intensity";
  }

  function updateMap() {
    setPressed("[data-rk-ec-source]", "data-rk-ec-source", state.source);
    if (state.source === "pump") {
      textTo("rk-ec-map-source-name", "pompa ciepła");
      textTo("rk-ec-map-source-node", "Pompa ciepła");
      el("rk-ec-map-formula").innerHTML = "<strong>Energia kupowana ≈ Q<sub>użyteczne</sub> ÷ SCOP + energia pomocnicza</strong><br>Niższa wymagana temperatura wody może sprzyjać sprawności pompy, ale SCOP trzeba przyjąć dla realnego układu i warunków.";
    } else {
      textTo("rk-ec-map-source-name", "kocioł elektryczny");
      textTo("rk-ec-map-source-node", "Kocioł elektryczny");
      el("rk-ec-map-formula").innerHTML = "<strong>Energia kupowana ≈ Q<sub>użyteczne</sub> ÷ η + energia pomocnicza</strong><br>Obieg wodny nie tworzy dodatkowej energii. Przy źródle oporowym jego pobór jest zbliżony do użytecznego ciepła, a pompy obiegowe zwiększają zużycie.";
    }
  }

  function updateValidation(settings, result) {
    var messages = [];
    if (settings.replacementYear > settings.years) messages.push("Rok wymiany leży poza wybranym okresem, więc koszt wymiany nie został doliczony.");
    if (settings.pvDirect > result.directGross) messages.push("PV dla elektrycznego ograniczono do rzeczywistego zużycia tego systemu.");
    if (settings.pvPump > result.pumpGross) messages.push("PV dla pompy ograniczono do rzeczywistego zużycia pompy i hydrauliki.");
    if (settings.capexPump === settings.capexDirect) messages.push("Oba warianty mają identyczny CAPEX — sprawdź, czy zakres ofert rzeczywiście jest taki sam.");
    textTo("rk-ec-validation", messages.join(" "));
  }

  function updateOutputs(result) {
    var settings = result.settings;
    textTo("rk-ec-out-energy-direct", energy(result.directPurchased) + "/rok");
    textTo("rk-ec-out-year-direct", money(result.firstDirect));
    textTo("rk-ec-out-m2-direct", money(result.firstDirect / settings.area) + "/m²");
    textTo("rk-ec-out-tco-direct", money(result.directFinal));
    textTo("rk-ec-out-energy-pump", energy(result.pumpPurchased) + "/rok");
    textTo("rk-ec-out-year-pump", money(result.firstPump));
    textTo("rk-ec-out-m2-pump", money(result.firstPump / settings.area) + "/m²");
    textTo("rk-ec-out-tco-pump", money(result.pumpFinal));
    textTo("rk-ec-out-demand", energy(settings.demand) + "/rok");
    textTo("rk-ec-out-payback", paybackLabel(result.payback, settings.years));
    textTo("rk-ec-out-delta", deltaLabel(result.delta));

    textTo("rk-ec-example-direct", money(result.firstDirect) + "/rok");
    textTo("rk-ec-example-pump", money(result.firstPump) + "/rok");
    textTo("rk-ec-example-payback", paybackLabel(result.payback, settings.years));
    textTo("rk-ec-example-delta", deltaLabel(result.delta));
  }

  function scenarioText(result) {
    return paybackLabel(result.payback, result.settings.years) + " · " + deltaLabel(result.delta);
  }

  function updateScenarios(settings) {
    var lowScop = clamp(settings.scop - 0.5, 1.1, 8);
    var highScop = clamp(settings.scop + 0.5, 1.1, 8);
    var lowSettings = Object.assign({}, settings, { scop: lowScop });
    var baseSettings = Object.assign({}, settings, { scop: settings.scop });
    var highSettings = Object.assign({}, settings, { scop: highScop });
    var low = calculate(lowSettings);
    var base = calculate(baseSettings);
    var high = calculate(highSettings);
    textTo("rk-ec-scenario-low-assumption", "SCOP " + decimal(lowScop, 1));
    textTo("rk-ec-scenario-base-assumption", "SCOP " + decimal(settings.scop, 1));
    textTo("rk-ec-scenario-high-assumption", "SCOP " + decimal(highScop, 1));
    textTo("rk-ec-scenario-low-result", scenarioText(low));
    textTo("rk-ec-scenario-base-result", scenarioText(base));
    textTo("rk-ec-scenario-high-result", scenarioText(high));
  }

  function milestones(years) {
    var source = [0, 1, 5, 10, 15, 20, 25, 30, years];
    var unique = [];
    source.forEach(function (value) {
      if (value <= years) {
        if (unique.indexOf(value) === -1) unique.push(value);
      }
    });
    unique.sort(function (a, b) { return a - b; });
    return unique;
  }

  function updateTable(result) {
    var body = el("rk-ec-year-table-body");
    if (!body) return;
    var html = "";
    milestones(result.settings.years).forEach(function (year) {
      var row = result.rows[year];
      var difference = row.directCumulative - row.pumpCumulative;
      var differenceText = Math.abs(difference) < 1 ? "brak" : (difference > 0 ? money(difference) + " mniej: pompa" : money(Math.abs(difference)) + " mniej: elektryczne");
      html += "<tr>";
      html += "<th data-label=\"Rok\">" + year + "</th>";
      html += "<td data-label=\"Elektryczne — TCO\">" + money(row.directCumulative) + "</td>";
      html += "<td data-label=\"Wodne + pompa — TCO\">" + money(row.pumpCumulative) + "</td>";
      html += "<td data-label=\"Różnica\">" + differenceText + "</td>";
      html += "</tr>";
    });
    body.innerHTML = html;
  }

  function seriesFor(result) {
    var data = [];
    var start = state.chart === "cumulative" ? 0 : 1;
    for (var year = start; year <= result.settings.years; year += 1) {
      var row = result.rows[year];
      var directValue;
      var pumpValue;
      if (state.chart === "cumulative") {
        directValue = row.directCumulative;
        pumpValue = row.pumpCumulative;
      } else if (state.chart === "annual") {
        directValue = row.directAnnual;
        pumpValue = row.pumpAnnual;
      } else {
        directValue = row.directEnergy;
        pumpValue = row.pumpEnergy;
      }
      data.push({ year: year, direct: directValue, pump: pumpValue });
    }
    return data;
  }

  function chartTitle() {
    if (state.chart === "annual") return "Koszt w kolejnych latach";
    if (state.chart === "energy") return "Roczna energia kupowana z sieci";
    return "Skumulowany koszt całkowity";
  }

  function drawChart(result) {
    var svg = el("rk-ec-chart");
    if (!svg) return;
    setPressed("[data-rk-ec-chart]", "data-rk-ec-chart", state.chart);
    textTo("rk-ec-chart-heading", chartTitle());

    var width = 760;
    var height = 390;
    var left = 74;
    var right = 24;
    var top = 26;
    var bottom = 54;
    var plotWidth = width - left - right;
    var plotHeight = height - top - bottom;
    var data = seriesFor(result);
    var xStart = state.chart === "cumulative" ? 0 : 1;
    var xEnd = result.settings.years;
    var xSpan = Math.max(1, xEnd - xStart);
    var maxValue = 1;

    data.forEach(function (point) {
      maxValue = Math.max(maxValue, point.direct, point.pump);
    });
    maxValue = maxValue * 1.12;

    function x(year) {
      return left + ((year - xStart) / xSpan) * plotWidth;
    }
    function y(value) {
      return top + plotHeight - (value / maxValue) * plotHeight;
    }

    var html = "";
    for (var tick = 0; tick <= 4; tick += 1) {
      var tickValue = maxValue * tick / 4;
      var tickY = y(tickValue);
      html += "<line class=\"rk-ec-gridline\" x1=\"" + left + "\" y1=\"" + tickY + "\" x2=\"" + (width - right) + "\" y2=\"" + tickY + "\"></line>";
      html += "<text class=\"rk-ec-gridtext\" x=\"" + (left - 10) + "\" y=\"" + (tickY + 4) + "\" text-anchor=\"end\">" + compactValue(tickValue, state.chart) + "</text>";
    }

    html += "<line class=\"rk-ec-axis\" x1=\"" + left + "\" y1=\"" + (top + plotHeight) + "\" x2=\"" + (width - right) + "\" y2=\"" + (top + plotHeight) + "\"></line>";
    html += "<line class=\"rk-ec-axis\" x1=\"" + left + "\" y1=\"" + top + "\" x2=\"" + left + "\" y2=\"" + (top + plotHeight) + "\"></line>";

    var tickStep = result.settings.years <= 10 ? 2 : 5;
    var xTicks = [xStart];
    for (var yearTick = tickStep; yearTick < xEnd; yearTick += tickStep) {
      if (yearTick >= xStart) xTicks.push(yearTick);
    }
    if (xTicks.indexOf(xEnd) === -1) xTicks.push(xEnd);
    xTicks.forEach(function (yearValue) {
      html += "<text class=\"rk-ec-gridtext\" x=\"" + x(yearValue) + "\" y=\"" + (height - 24) + "\" text-anchor=\"middle\">" + yearValue + "</text>";
    });
    html += "<text class=\"rk-ec-gridtext\" x=\"" + (left + plotWidth / 2) + "\" y=\"" + (height - 4) + "\" text-anchor=\"middle\">rok eksploatacji</text>";

    var directPoints = data.map(function (point) { return x(point.year) + "," + y(point.direct); }).join(" ");
    var pumpPoints = data.map(function (point) { return x(point.year) + "," + y(point.pump); }).join(" ");
    html += "<polyline class=\"rk-ec-path-direct\" points=\"" + directPoints + "\"></polyline>";
    html += "<polyline class=\"rk-ec-path-pump\" points=\"" + pumpPoints + "\"></polyline>";

    var firstPoint = data[0];
    var lastPoint = data[data.length - 1];
    html += "<circle cx=\"" + x(firstPoint.year) + "\" cy=\"" + y(firstPoint.direct) + "\" r=\"5\" fill=\"#ff6a3d\"></circle>";
    html += "<circle cx=\"" + x(firstPoint.year) + "\" cy=\"" + y(firstPoint.pump) + "\" r=\"5\" fill=\"#078fbe\"></circle>";
    html += "<circle cx=\"" + x(lastPoint.year) + "\" cy=\"" + y(lastPoint.direct) + "\" r=\"5\" fill=\"#ff6a3d\"></circle>";
    html += "<circle cx=\"" + x(lastPoint.year) + "\" cy=\"" + y(lastPoint.pump) + "\" r=\"5\" fill=\"#078fbe\"></circle>";

    if (state.chart === "cumulative") {
      if (result.payback !== null) {
        if (result.payback <= result.settings.years) {
          var markerX = x(result.payback);
          html += "<line class=\"rk-ec-payback-line\" x1=\"" + markerX + "\" y1=\"" + top + "\" x2=\"" + markerX + "\" y2=\"" + (top + plotHeight) + "\"></line>";
          html += "<text class=\"rk-ec-payback-label\" x=\"" + Math.min(width - right - 5, markerX + 7) + "\" y=\"" + (top + 14) + "\">przecięcie: rok " + result.payback + "</text>";
        }
      }
    }

    svg.innerHTML = html;

    var reading;
    if (state.chart === "cumulative") {
      if (result.payback === null) {
        reading = "W wybranym okresie krzywe TCO nie przecinają się. Po " + result.settings.years + " latach: " + deltaLabel(result.delta) + ".";
      } else {
        reading = "Pierwszy pełny rok, w którym TCO pompy nie przewyższa elektryki: " + result.payback + ". Po całym okresie: " + deltaLabel(result.delta) + ".";
      }
    } else if (state.chart === "annual") {
      var firstDifference = result.firstDirect - result.firstPump;
      reading = "W pierwszym roku różnica kosztu pracy wynosi " + money(Math.abs(firstDifference)) + "; niższy koszt ma " + (firstDifference >= 0 ? "wariant z pompą ciepła" : "wariant elektryczny") + ". Skok na niebieskiej linii może oznaczać wpisaną wymianę pompy.";
    } else {
      var energyDifference = result.directPurchased - result.pumpPurchased;
      reading = "Roczny zakup energii różni się o " + energy(Math.abs(energyDifference)) + ". Wykres uwzględnia osobne wartości autokonsumpcji PV oraz energię pomocniczą pompy.";
    }
    textTo("rk-ec-chart-reading", reading);
    svg.setAttribute("aria-label", chartTitle() + ". " + reading);
  }

  function update() {
    var settings = readSettings();
    var result = calculate(settings);
    updateModeUi();
    updateValidation(settings, result);
    updateOutputs(result);
    updateScenarios(settings);
    updateTable(result);
    drawChart(result);
  }

  function reset() {
    Object.keys(defaults).forEach(function (id) {
      var node = el(id);
      if (node) node.value = defaults[id];
    });
    state.mode = "annual";
    state.chart = "cumulative";
    state.source = "pump";
    updateMap();
    update();
  }

  root.addEventListener("click", function (event) {
    var modeButton = event.target.closest("[data-rk-ec-mode]");
    if (modeButton) {
      state.mode = modeButton.getAttribute("data-rk-ec-mode");
      update();
      return;
    }
    var chartButton = event.target.closest("[data-rk-ec-chart]");
    if (chartButton) {
      state.chart = chartButton.getAttribute("data-rk-ec-chart");
      update();
      return;
    }
    var sourceButton = event.target.closest("[data-rk-ec-source]");
    if (sourceButton) {
      state.source = sourceButton.getAttribute("data-rk-ec-source");
      updateMap();
      return;
    }
    var resetButton = event.target.closest("#rk-ec-reset");
    if (resetButton) reset();
  });

  root.addEventListener("input", function (event) {
    if (event.target.matches("input, select")) update();
  });
  root.addEventListener("change", function (event) {
    if (event.target.matches("input, select")) update();
  });

  root.querySelectorAll(".rk-ec-faq details").forEach(function (detail) {
    detail.addEventListener("toggle", function () {
      if (!detail.open) return;
      root.querySelectorAll(".rk-ec-faq details").forEach(function (other) {
        if (other !== detail) other.open = false;
      });
    });
  });

  updateMap();
  update();
})();
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "description": "Projektowanie ogrzewania podłogowego, obliczenia OZC, hydraulika instalacji i poradniki techniczne HVAC.",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://projekt-ogrzewania.pl/?s={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": { "@id": "https://projekt-ogrzewania.pl/#logo" },
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/#logo",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "width": 1024,
      "height": 1024,
      "caption": "Projekt Ogrzewania"
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.webp",
      "width": 900,
      "height": 900,
      "encodingFormat": "image/webp",
      "caption": "Ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła — kalkulator kosztów eksploatacji"
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "affiliation": [
        { "@id": "https://remont.biz.pl/#organization" },
        { "@id": "https://sobir.pl/#organization" }
      ],
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "pompy ciepła",
        "obliczenia OZC",
        "koszt cyklu życia TCO",
        "hydraulika instalacji",
        "temperatura zasilania",
        "efektywność sezonowa SCOP"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Elektryczne czy wodna podłogówka — kalkulator kosztów",
          "item": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#webpage",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/",
      "name": "Ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła? Kalkulator kosztów eksploatacji",
      "description": "Co jest tańsze: ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła? Policz rachunki, koszt 20 lat i rzeczywisty rok zwrotu inwestycji.",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#breadcrumb" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#primaryimage" },
      "datePublished": "2026-05-31T18:20:19+00:00",
      "dateModified": "2026-09-13T00:00:00+00:00",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "reviewedBy": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#article" },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": ["#rk-ec-answer", "#rk-ec-conclusion"]
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#article",
      "headline": "Ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła? Kalkulator kosztów eksploatacji",
      "alternativeHeadline": "Elektryczne czy wodna podłogówka — co jest tańsze po 10, 20 i 30 latach?",
      "description": "Techniczne porównanie kosztu inwestycji, energii, serwisu i wymian wraz z kalkulatorem TCO, wykresem oraz analizą SCOP.",
      "image": { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#primaryimage" },
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#webpage" },
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "datePublished": "2026-05-31T18:20:19+00:00",
      "dateModified": "2026-09-13T00:00:00+00:00",
      "inLanguage": "pl-PL",
      "articleSection": [
        "Koszty ogrzewania",
        "Ogrzewanie elektryczne",
        "Ogrzewanie podłogowe",
        "Pompy ciepła",
        "Kalkulatory"
      ],
      "keywords": [
        "ogrzewanie elektryczne czy wodna podłogówka",
        "ogrzewanie elektryczne czy wodne co tańsze",
        "koszt ogrzewania podłogowego elektrycznego 100 m²",
        "koszt wodnej podłogówki z pompą ciepła rocznie",
        "ogrzewanie elektryczne vs pompa ciepła kalkulator",
        "ile kosztuje ogrzewanie elektryczne domu 120 m²",
        "po ilu latach zwraca się pompa ciepła",
        "kable grzejne czy wodne ogrzewanie podłogowe",
        "koszt 1 kWh ciepła kabel grzejny vs pompa ciepła",
        "ogrzewanie podłogowe elektryczne z fotowoltaiką",
        "folia grzewcza czy wodna podłogówka",
        "koszt ogrzewania domu po 10 i 20 latach"
      ],
      "about": [
        { "@type": "Thing", "name": "Elektryczne ogrzewanie podłogowe" },
        { "@type": "Thing", "name": "Wodne ogrzewanie podłogowe" },
        { "@type": "Thing", "name": "Pompa ciepła" },
        { "@type": "Thing", "name": "Koszt cyklu życia" }
      ],
      "mentions": [
        { "@type": "DefinedTerm", "name": "CAPEX", "description": "Nakład inwestycyjny" },
        { "@type": "DefinedTerm", "name": "OPEX", "description": "Koszt eksploatacyjny" },
        { "@type": "DefinedTerm", "name": "TCO", "description": "Całkowity koszt posiadania" },
        { "@type": "DefinedTerm", "name": "SCOP", "description": "Sezonowy współczynnik efektywności pompy ciepła" }
      ],
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#tco-calculator" },
        { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#comparison-inputs" },
        { "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#faq-schema" }
      ],
      "citation": [
        "https://www.iso.org/standard/74682.html",
        "https://www.iso.org/standard/74683.html",
        "https://www.iso.org/standard/74684.html",
        "https://www.iso.org/standard/74685.html",
        "https://maszwybor.ure.gov.pl/or/cenki",
        "https://re.jrc.ec.europa.eu/pvg_tools/en/",
        "https://energy.ec.europa.eu/topics/energy-efficiency/energy-performance-buildings/energy-performance-buildings-directive_en"
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#tco-calculator",
      "name": "Kalkulator kosztów ogrzewania elektrycznego i wodnej podłogówki z pompą ciepła",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#rk-ec-calculator",
      "description": "Oblicza zakup energii, koszt pierwszego roku, koszt na metr kwadratowy, TCO do 30 lat, pierwszy rok przecięcia oraz wrażliwość na SCOP.",
      "applicationCategory": "UtilitiesApplication",
      "applicationSubCategory": "Heating cost calculator",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      },
      "featureList": [
        "dwa sposoby podania użytecznego ciepła",
        "pełna zmienna cena energii",
        "nakłady po dotacjach",
        "SCOP i sprawność elektryczna",
        "energia pomocnicza",
        "serwis obu systemów",
        "osobna autokonsumpcja PV",
        "wymiana pompy ciepła",
        "jawny wzrost ceny prądu",
        "TCO od 1 do 30 lat",
        "pierwszy rok przecięcia kosztów",
        "trzy widoki wykresu",
        "tabela wybranych lat",
        "analiza wrażliwości na SCOP"
      ]
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#howto",
      "name": "Jak uczciwie porównać ogrzewanie elektryczne i wodne krok po kroku",
      "description": "Osiem kroków od ustalenia komfortu i zapotrzebowania po analizę scenariuszy oraz potwierdzenie techniczne.",
      "totalTime": "PT45M",
      "supply": [
        { "@type": "HowToSupply", "name": "OZC lub bilans rocznej energii użytecznej" },
        { "@type": "HowToSupply", "name": "Kompletne oferty obu systemów" },
        { "@type": "HowToSupply", "name": "Rachunek i umowa za energię" },
        { "@type": "HowToSupply", "name": "Dane sezonowe pompy ciepła" },
        { "@type": "HowToSupply", "name": "Warunki serwisu, gwarancji i dotacji" }
      ],
      "tool": [
        { "@type": "HowToTool", "name": "Kalkulator TCO w artykule" },
        { "@type": "HowToTool", "name": "Dokumentacja budynku i instalacji" }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Ustal ten sam komfort",
          "text": "Zdefiniuj ogrzewane pomieszczenia, temperatury wewnętrzne, harmonogram i ten sam zakres CWU lub wyłącz CWU z obu wariantów."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Wyznacz użyteczne ciepło",
          "text": "Przyjmij roczne kWh z obliczeń budynku albo świadomie oszacuj je z powierzchni i wskaźnika energii — bez mieszania z mocą W."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Wyrównaj zakres CAPEX",
          "text": "Porównaj projekt, emiter, źródło, automatykę, elektrykę, hydraulikę, montaż, uruchomienie oraz koszty po faktycznych dotacjach."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Wpisz cenę z rachunku",
          "text": "Dodaj cenę energii i zmienne składniki dystrybucji. Nie doliczaj opłaty stałej, jeśli występuje identycznie niezależnie od wyboru."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Przyjmij sezonową sprawność",
          "text": "Dla elektryki użyj η bliskiej 1, a dla pompy realistycznego SCOP uwzględniającego klimat, temperaturę wody i działanie instalacji."
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Dodaj serwis, PV i wymianę",
          "text": "Wpisz koszty roczne, energię pomocniczą, udokumentowaną autokonsumpcję ogrzewania oraz wariant wymiany pompy."
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Sprawdź kilka scenariuszy",
          "text": "Zmień SCOP, cenę prądu, wzrost ceny, horyzont i koszt wymiany. Zwróć uwagę, czy wybór pozostaje stabilny."
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Potwierdź wykonalność",
          "text": "Zweryfikuj moce, rozstawy, temperatury, przepływy, opory, przyłącze i sterowanie. Kalkulacja finansowa nie zastępuje projektu."
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#comparison-inputs",
      "name": "Dane potrzebne do porównania kosztów ogrzewania",
      "numberOfItems": 8,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Ten sam zakres komfortu" },
        { "@type": "ListItem", "position": 2, "name": "Roczne użyteczne ciepło" },
        { "@type": "ListItem", "position": 3, "name": "Kompletny CAPEX po dotacjach" },
        { "@type": "ListItem", "position": 4, "name": "Zmienna cena energii z rachunku" },
        { "@type": "ListItem", "position": 5, "name": "Sprawność η i sezonowy SCOP" },
        { "@type": "ListItem", "position": 6, "name": "Energia pomocnicza i serwis" },
        { "@type": "ListItem", "position": 7, "name": "Rzeczywista autokonsumpcja PV" },
        { "@type": "ListItem", "position": 8, "name": "Koszt i rok wymiany urządzenia" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#faq-schema",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/#rk-ec-faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Co jest tańsze: ogrzewanie elektryczne czy wodna podłogówka z pompą ciepła?",
          "acceptedAnswer": { "@type": "Answer", "text": "Elektryczne bezpośrednie zwykle wymaga niższego nakładu, a pompa ciepła może mieć niższy koszt energii. O niższym TCO decydują zapotrzebowanie, pełny CAPEX, SCOP, cena prądu, serwis, wymiany i czas analizy." }
        },
        {
          "@type": "Question",
          "name": "Ile kosztuje ogrzewanie podłogowe elektryczne domu 100 m² rocznie?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie da się tego określić z samej powierzchni. Roczny koszt to w przybliżeniu użyteczne ciepło podzielone przez sprawność, pomniejszone o rzeczywistą autokonsumpcję PV i pomnożone przez zmienną cenę kWh, plus serwis." }
        },
        {
          "@type": "Question",
          "name": "Jakie zapotrzebowanie wpisać do kalkulatora?",
          "acceptedAnswer": { "@type": "Answer", "text": "Roczne użyteczne ciepło potrzebne do ogrzewania pomieszczeń, najlepiej z wiarygodnych obliczeń. Nie wpisuj mocy urządzenia w kW ani energii pierwotnej. Alternatywnie użyj powierzchni i świadomie przyjętego kWh/(m²·rok)." }
        },
        {
          "@type": "Question",
          "name": "Czy COP 3,5 oznacza, że rachunek zawsze będzie 3,5 razy niższy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Do porównania rocznego potrzebny jest sezonowy SCOP, a ponadto trzeba doliczyć energię pomocniczą, serwis i nakład. Chwilowy COP zależy od konkretnego punktu pracy." }
        },
        {
          "@type": "Question",
          "name": "Czy wodna podłogówka z kotłem elektrycznym zużyje mniej prądu niż kable?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy tego zakładać. Oba warianty wykorzystują oporowe wytwarzanie ciepła ze sprawnością bliską 1, a układ wodny ma dodatkową energię pomp. Jego zaletą może być możliwość późniejszej zmiany źródła." }
        },
        {
          "@type": "Question",
          "name": "Czy fotowoltaika zapewnia darmowe ogrzewanie elektryczne?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie automatycznie. Trzeba rozliczyć zgodność produkcji i zużycia w czasie, zasady umowy oraz energię rzeczywiście wykorzystaną na ogrzewanie. Cała roczna produkcja PV nie jest autokonsumpcją zimowego grzania." }
        },
        {
          "@type": "Question",
          "name": "Po ilu latach zwraca się wodna podłogówka z pompą ciepła?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie ma jednej liczby. Rok zwrotu jest pierwszym rokiem, gdy skumulowane oszczędności operacyjne pokrywają różnicę inwestycji i dodatkowe koszty. Przy części założeń zwrot nie nastąpi w badanym okresie." }
        },
        {
          "@type": "Question",
          "name": "Czy kable grzejne w wylewce nie mają bezwładności?",
          "acceptedAnswer": { "@type": "Answer", "text": "Mogą mieć znaczną bezwładność, jeśli współpracują z masywnym jastrychem. Dynamikę wyznaczają warstwy, masa, izolacja, moc i sterowanie, a nie wyłącznie to, czy nośnikiem jest woda lub prąd." }
        },
        {
          "@type": "Question",
          "name": "Jakie koszty trzeba uwzględnić w porównaniu TCO?",
          "acceptedAnswer": { "@type": "Answer", "text": "Kompletną inwestycję po realnych dotacjach, energię zmienną, energię pomocniczą, serwis, automatykę, planowane wymiany i ten sam zakres funkcji. Koszt finansowania oraz wartość pieniądza w czasie analizuje się osobno." }
        },
        {
          "@type": "Question",
          "name": "Czy kalkulator zastępuje OZC i projekt ogrzewania?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Kalkulator pokazuje konsekwencje ekonomiczne założeń. OZC i projekt sprawdzają, ile mocy potrzebują pomieszczenia oraz czy instalacja osiągnie ją przy prawidłowych temperaturach, przepływach i oporach." }
        }
      ]
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
