<?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 podłogówka i rekuperacja - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/podlogowka-i-rekuperacja/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/podlogowka-i-rekuperacja/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 07 Sep 2026 21:16:17 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa podłogówka i rekuperacja - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/podlogowka-i-rekuperacja/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rekuperacja i ogrzewanie podłogowe – czy to się opłaca?</title>
		<link>https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 14 Feb 2026 11:29:11 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Dom energooszczędny]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Energooszczędny dom]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Rekuperacja]]></category>
		<category><![CDATA[Wentylacja mechaniczna]]></category>
		<category><![CDATA[cop pompy ciepła]]></category>
		<category><![CDATA[dom energooszczędny]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[podłogówka i rekuperacja]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[rekuperacja]]></category>
		<category><![CDATA[wentylacja mechaniczna]]></category>
		<category><![CDATA[wentylacja z odzyskiem ciepła]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3448</guid>

					<description><![CDATA[<p>Czy połączenie, jakim jest rekuperacja i ogrzewanie podłogowe – czy to się opłaca, faktycznie przynosi realne korzyści, czy to tylko marketingowy slogan? Coraz więcej inwestorów wybiera ten duet, ponieważ zapewnia nie tylko niższe rachunki, ale przede wszystkim stabilną temperaturę, wyższy komfort życia i maksymalną efektywność pompy ciepła. Dzięki odzyskowi ciepła z wentylacji i pracy systemu niskotemperaturowego budynek zużywa mniej energii, a instalacja działa bardziej przewidywalnie. W artykule pokazujemy konkretne wyliczenia, fakty techniczne i realne oszczędności, które mają znaczenie przez kolejne dekady użytkowania domu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">Rekuperacja i ogrzewanie podłogowe – czy to się opłaca?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-reku-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #d69a16;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #6b7e8a;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }
  #rk-reku-guide,
  #rk-reku-guide * { box-sizing: border-box; }
  #rk-reku-guide img,
  #rk-reku-guide svg { max-width: 100%; }
  #rk-reku-guide button,
  #rk-reku-guide input,
  #rk-reku-guide select,
  #rk-reku-guide label,
  #rk-reku-guide summary,
  #rk-reku-guide a { font: inherit; -webkit-tap-highlight-color: transparent; }
  #rk-reku-guide button,
  #rk-reku-guide input,
  #rk-reku-guide select { max-width: 100%; }
  #rk-reku-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  #rk-reku-guide a:hover,
  #rk-reku-guide a:focus-visible { color: var(--rk-red); }
  #rk-reku-guide p,
  #rk-reku-guide ul,
  #rk-reku-guide ol { margin-top: 0; margin-bottom: 1.08em; }
  #rk-reku-guide h2,
  #rk-reku-guide h3,
  #rk-reku-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 920;
    letter-spacing: -.035em;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  #rk-reku-guide h2 { margin-bottom: 18px; font-size: clamp(1.72rem, 4vw, 2.68rem); }
  #rk-reku-guide h3 { margin-bottom: 11px; font-size: clamp(1.12rem, 2.35vw, 1.46rem); }
  #rk-reku-guide h4 { margin-bottom: 8px; font-size: 1.02rem; }
  #rk-reku-guide strong { color: var(--rk-dark); }
  #rk-reku-guide [hidden] { display: none !important; }

  #rk-reku-guide .rk-rv-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 24px 70px rgba(16, 37, 54, .11);
  }
  #rk-reku-guide .rk-rv-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 78px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 4%, rgba(37, 199, 216, .31), transparent 28%),
      radial-gradient(circle at 8% 100%, rgba(255, 106, 61, .24), transparent 30%),
      linear-gradient(135deg, #0d2332 0%, #143e53 55%, #175b62 100%);
  }
  #rk-reku-guide .rk-rv-hero::after {
    position: absolute;
    right: -55px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 46px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-reku-guide .rk-rv-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  #rk-reku-guide .rk-rv-kicker::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 106, 61, .14);
    content: "";
  }
  #rk-reku-guide .rk-rv-hero-title {
    position: relative;
    z-index: 1;
    max-width: 1030px;
    margin: 0 0 21px;
    color: var(--rk-white);
    font-size: clamp(2.25rem, 7.5vw, 5.15rem);
    font-weight: 950;
    letter-spacing: -.065em;
    line-height: .98;
  }
  #rk-reku-guide .rk-rv-hero-title span { color: #67e7f5; }
  #rk-reku-guide .rk-rv-lead {
    position: relative;
    z-index: 1;
    max-width: 960px;
    margin-bottom: 24px;
    color: #e2f2f5;
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    line-height: 1.55;
  }
  #rk-reku-guide .rk-rv-hero-tags,
  #rk-reku-guide .rk-rv-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
  }
  #rk-reku-guide .rk-rv-hero-tag {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, .07);
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.2;
  }
  #rk-reku-guide .rk-rv-byline {
    margin-top: 27px;
    color: #cae0e6;
    font-size: .68rem;
    font-weight: 720;
  }
  #rk-reku-guide .rk-rv-byline strong { color: var(--rk-white); }
  #rk-reku-guide .rk-rv-hero-metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
  }
  #rk-reku-guide .rk-rv-hero-metric {
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 14px;
    background: rgba(255, 255, 255, .065);
  }
  #rk-reku-guide .rk-rv-hero-metric b {
    display: block;
    margin-bottom: 4px;
    color: var(--rk-white);
    font-size: .73rem;
  }
  #rk-reku-guide .rk-rv-hero-metric span {
    display: block;
    color: #c8e0e6;
    font-size: .64rem;
    line-height: 1.48;
  }

  #rk-reku-guide .rk-rv-nav {
    display: block;
    padding: 18px clamp(20px, 4vw, 46px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }
  #rk-reku-guide .rk-rv-nav-label {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-dark);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  #rk-reku-guide .rk-rv-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }
  #rk-reku-guide .rk-rv-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-soft);
    font-size: .67rem;
    font-weight: 880;
    line-height: 1.15;
    text-decoration: none;
    white-space: normal;
  }
  #rk-reku-guide .rk-rv-nav a:hover,
  #rk-reku-guide .rk-rv-nav a:focus-visible {
    border-color: var(--rk-cyan);
    color: var(--rk-dark);
    background: var(--rk-cyan-soft);
  }

  #rk-reku-guide .rk-rv-content { padding: 0 clamp(22px, 5vw, 70px) 58px; }
  #rk-reku-guide .rk-rv-section {
    scroll-margin-top: 24px;
    padding: clamp(46px, 7vw, 78px) 0;
    border-bottom: 1px solid var(--rk-line);
  }
  #rk-reku-guide .rk-rv-section:last-child { border-bottom: 0; }
  #rk-reku-guide .rk-rv-section > :last-child { margin-bottom: 0; }
  #rk-reku-guide .rk-rv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: var(--rk-blue);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  #rk-reku-guide .rk-rv-eyebrow::before {
    width: 24px;
    height: 3px;
    border-radius: 99px;
    background: var(--rk-cyan);
    content: "";
  }
  #rk-reku-guide .rk-rv-intro { max-width: 900px; color: var(--rk-text); font-size: 1.03rem; }
  #rk-reku-guide .rk-rv-small { color: var(--rk-muted); font-size: .76rem; line-height: 1.58; }
  #rk-reku-guide .rk-rv-grid-2,
  #rk-reku-guide .rk-rv-grid-3,
  #rk-reku-guide .rk-rv-grid-4 {
    display: grid;
    gap: 18px;
    margin-top: 24px;
  }
  #rk-reku-guide .rk-rv-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-reku-guide .rk-rv-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-reku-guide .rk-rv-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-reku-guide .rk-rv-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, .055);
  }
  #rk-reku-guide .rk-rv-card > :last-child { margin-bottom: 0; }
  #rk-reku-guide .rk-rv-card-accent { border-top: 5px solid var(--rk-cyan); }
  #rk-reku-guide .rk-rv-card-warm { border-top: 5px solid var(--rk-orange); }
  #rk-reku-guide .rk-rv-card-green { border-top: 5px solid #3ecf9f; }
  #rk-reku-guide .rk-rv-card-number {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    border-radius: 11px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    font-size: .82rem;
    font-weight: 950;
  }
  #rk-reku-guide .rk-rv-answer {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr);
    gap: 18px;
    margin-top: 25px;
  }
  #rk-reku-guide .rk-rv-answer-main {
    padding: clamp(25px, 4vw, 38px);
    border-radius: 20px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #155269);
  }
  #rk-reku-guide .rk-rv-answer-main h3,
  #rk-reku-guide .rk-rv-answer-main strong { color: var(--rk-white); }
  #rk-reku-guide .rk-rv-answer-main p { color: #dbeef2; }
  #rk-reku-guide .rk-rv-answer-side {
    padding: 25px;
    border: 1px solid #f1c8b9;
    border-radius: 20px;
    background: var(--rk-orange-soft);
  }

  #rk-reku-guide .rk-rv-callout {
    margin: 24px 0;
    padding: 20px 22px;
    border-left: 5px solid var(--rk-cyan);
    border-radius: 12px;
    color: #263b48;
    background: var(--rk-cyan-soft);
  }
  #rk-reku-guide .rk-rv-callout > :last-child { margin-bottom: 0; }
  #rk-reku-guide .rk-rv-callout strong { color: var(--rk-dark); }
  #rk-reku-guide .rk-rv-callout-warn {
    border-left-color: var(--rk-yellow);
    color: #3f3825;
    background: var(--rk-yellow-soft);
  }
  #rk-reku-guide .rk-rv-callout-danger {
    border-left-color: var(--rk-orange);
    color: #442e29;
    background: var(--rk-orange-soft);
  }
  #rk-reku-guide .rk-rv-formula {
    overflow-wrap: anywhere;
    margin: 22px 0;
    padding: 20px;
    border: 1px solid #b9dde7;
    border-radius: 14px;
    color: var(--rk-dark);
    background: #eefbfe;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(.8rem, 2vw, 1rem);
    font-weight: 800;
    text-align: center;
  }
  #rk-reku-guide .rk-rv-list-check,
  #rk-reku-guide .rk-rv-list-cross { padding-left: 0; list-style: none; }
  #rk-reku-guide .rk-rv-list-check li,
  #rk-reku-guide .rk-rv-list-cross li {
    position: relative;
    padding-left: 31px;
    margin-bottom: 10px;
  }
  #rk-reku-guide .rk-rv-list-check li::before,
  #rk-reku-guide .rk-rv-list-cross li::before {
    position: absolute;
    left: 0;
    top: .16em;
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    font-size: .62rem;
    font-weight: 950;
  }
  #rk-reku-guide .rk-rv-list-check li::before { color: #0b604f; background: #d6f4e9; content: "✓"; }
  #rk-reku-guide .rk-rv-list-cross li::before { color: #8f2d22; background: #ffe1dc; content: "×"; }

  #rk-reku-guide .rk-rv-table-wrap { margin: 25px 0; }
  #rk-reku-guide .rk-rv-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    overflow: hidden;
    font-size: .82rem;
  }
  #rk-reku-guide .rk-rv-table th,
  #rk-reku-guide .rk-rv-table td {
    padding: 14px 15px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    text-align: left;
    vertical-align: top;
  }
  #rk-reku-guide .rk-rv-table th:last-child,
  #rk-reku-guide .rk-rv-table td:last-child { border-right: 0; }
  #rk-reku-guide .rk-rv-table tr:last-child td { border-bottom: 0; }
  #rk-reku-guide .rk-rv-table thead th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: .71rem;
    font-weight: 900;
  }
  #rk-reku-guide .rk-rv-table tbody tr:nth-child(even) { background: var(--rk-soft); }
  #rk-reku-guide .rk-rv-table td strong { display: block; }

  #rk-reku-guide .rk-rv-system-map {
    margin: 28px 0;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: linear-gradient(145deg, #f7fbfc, #edf7fa);
  }
  #rk-reku-guide .rk-rv-system-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) 40px minmax(0, 1fr);
    align-items: stretch;
    gap: 9px;
    margin-top: 13px;
  }
  #rk-reku-guide .rk-rv-system-node {
    display: flex;
    min-height: 92px;
    flex-direction: column;
    justify-content: center;
    padding: 16px;
    border: 1px solid #bdd8e1;
    border-radius: 14px;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-align: center;
  }
  #rk-reku-guide .rk-rv-system-node b { font-size: .82rem; }
  #rk-reku-guide .rk-rv-system-node span { margin-top: 4px; color: var(--rk-muted); font-size: .65rem; line-height: 1.42; }
  #rk-reku-guide .rk-rv-system-node-end { border-color: var(--rk-cyan); background: var(--rk-cyan-soft); }
  #rk-reku-guide .rk-rv-system-arrow {
    display: grid;
    place-items: center;
    color: var(--rk-blue);
    font-size: 1.5rem;
    font-weight: 950;
  }
  #rk-reku-guide .rk-rv-system-note { margin: 18px 0 0; color: var(--rk-text); font-size: .78rem; text-align: center; }

  #rk-reku-guide .rk-rv-analyzer {
    overflow: hidden;
    margin-top: 28px;
    border-radius: 24px;
    color: #e9f5f7;
    background: #102a3b;
    box-shadow: 0 22px 55px rgba(16, 37, 54, .2);
  }
  #rk-reku-guide .rk-rv-analyzer-head {
    padding: clamp(26px, 5vw, 42px);
    background:
      radial-gradient(circle at 92% 0%, rgba(37, 199, 216, .2), transparent 31%),
      linear-gradient(130deg, #123044, #15556a);
  }
  #rk-reku-guide .rk-rv-analyzer-head h3 { margin-bottom: 10px; color: var(--rk-white); font-size: clamp(1.45rem, 3.5vw, 2.15rem); }
  #rk-reku-guide .rk-rv-analyzer-head p { max-width: 900px; margin-bottom: 0; color: #d7edf1; }
  #rk-reku-guide .rk-rv-analyzer-body { padding: clamp(20px, 4vw, 36px); }
  #rk-reku-guide .rk-rv-tool-panel {
    min-width: 0;
    margin-bottom: 20px;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid #33566a;
    border-radius: 18px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-reku-guide .rk-rv-tool-panel:last-child { margin-bottom: 0; }
  #rk-reku-guide .rk-rv-tool-panel h3,
  #rk-reku-guide .rk-rv-tool-panel h4,
  #rk-reku-guide .rk-rv-tool-panel strong { color: var(--rk-white); }
  #rk-reku-guide .rk-rv-tool-panel p { color: #bfd4db; }
  #rk-reku-guide .rk-rv-input-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  #rk-reku-guide .rk-rv-field { min-width: 0; }
  #rk-reku-guide .rk-rv-field label {
    display: block;
    margin-bottom: 7px;
    color: #ecf7f9;
    font-size: .68rem;
    font-weight: 860;
    line-height: 1.35;
  }
  #rk-reku-guide .rk-rv-field input,
  #rk-reku-guide .rk-rv-field select {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #9eb7c1;
    border-radius: 10px;
    color: #132735;
    background: var(--rk-white);
    font-size: .8rem;
    font-weight: 720;
    line-height: 1.2;
  }
  #rk-reku-guide .rk-rv-field input:focus,
  #rk-reku-guide .rk-rv-field select:focus {
    border-color: var(--rk-cyan);
    outline: 3px solid rgba(37, 199, 216, .2);
  }
  #rk-reku-guide .rk-rv-field small {
    display: block;
    margin-top: 6px;
    color: #91aeb8;
    font-size: .59rem;
    line-height: 1.45;
  }
  #rk-reku-guide .rk-rv-tool-note {
    margin: 20px 0 0;
    padding: 14px 16px;
    border-left: 4px solid var(--rk-yellow);
    border-radius: 9px;
    color: #fff2bd;
    background: rgba(214, 154, 22, .13);
    font-size: .7rem;
  }
  #rk-reku-guide .rk-rv-run {
    width: 100%;
    min-height: 54px;
    margin-top: 22px;
    padding: 13px 20px;
    border: 0;
    border-radius: 12px;
    color: var(--rk-dark);
    background: linear-gradient(135deg, #63ebf6, var(--rk-cyan));
    box-shadow: 0 9px 24px rgba(37, 199, 216, .2);
    cursor: pointer;
    font-size: .81rem;
    font-weight: 950;
  }
  #rk-reku-guide .rk-rv-run:hover,
  #rk-reku-guide .rk-rv-run:focus-visible { transform: translateY(-1px); filter: brightness(1.05); }
  #rk-reku-guide .rk-rv-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }
  #rk-reku-guide .rk-rv-result {
    min-width: 0;
    padding: 18px;
    border: 1px solid #33566a;
    border-radius: 14px;
    background: #153548;
  }
  #rk-reku-guide .rk-rv-result span {
    display: block;
    margin-bottom: 6px;
    color: #9fc0ca;
    font-size: .59rem;
    font-weight: 850;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  #rk-reku-guide .rk-rv-result strong {
    display: block;
    color: var(--rk-white);
    font-size: clamp(1.12rem, 3vw, 1.55rem);
    line-height: 1.15;
  }
  #rk-reku-guide .rk-rv-result small { display: block; margin-top: 6px; color: #8fb0ba; font-size: .57rem; line-height: 1.4; }
  #rk-reku-guide .rk-rv-result-highlight { border-color: var(--rk-cyan); background: #154255; }
  #rk-reku-guide .rk-rv-verdict {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid #3b7e75;
    border-radius: 14px;
    background: rgba(62, 207, 159, .1);
  }
  #rk-reku-guide .rk-rv-verdict b { display: block; margin-bottom: 5px; color: #7ff0cc; font-size: .78rem; }
  #rk-reku-guide .rk-rv-verdict p { margin-bottom: 0; color: #d9f1eb; font-size: .75rem; }
  #rk-reku-guide .rk-rv-diagnostics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
  #rk-reku-guide .rk-rv-diagnostic {
    min-width: 0;
    padding: 15px 16px;
    border-radius: 11px;
    color: #e9f5f7;
    background: rgba(37, 199, 216, .09);
    font-size: .68rem;
    line-height: 1.55;
  }
  #rk-reku-guide .rk-rv-diagnostic-warn { color: #fff0c0; background: rgba(214, 154, 22, .13); }
  #rk-reku-guide .rk-rv-chart-wrap {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #33566a;
    border-radius: 14px;
    background: #f7fbfc;
  }
  #rk-reku-guide .rk-rv-chart-wrap svg { display: block; width: 100%; height: auto; overflow: visible; }
  #rk-reku-guide .rk-rv-chart-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 11px; color: #304b5b; font-size: .62rem; font-weight: 800; }
  #rk-reku-guide .rk-rv-legend-item { display: inline-flex; align-items: center; gap: 7px; }
  #rk-reku-guide .rk-rv-legend-line { width: 28px; height: 4px; border-radius: 999px; background: var(--rk-orange); }
  #rk-reku-guide .rk-rv-legend-line-cyan { background: var(--rk-cyan); }
  #rk-reku-guide .rk-rv-chart-caption { margin: 10px 0 0; color: #607582 !important; font-size: .63rem; line-height: 1.55; }

  #rk-reku-guide .rk-rv-cta {
    position: relative;
    overflow: hidden;
    margin: 34px 0;
    padding: clamp(28px, 5vw, 44px);
    border-radius: 22px;
    color: var(--rk-white);
    background: linear-gradient(135deg, #102536, #174c61);
    box-shadow: 0 18px 45px rgba(16, 37, 54, .16);
  }
  #rk-reku-guide .rk-rv-cta::after {
    position: absolute;
    right: -70px;
    bottom: -95px;
    width: 240px;
    height: 240px;
    border: 34px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-reku-guide .rk-rv-cta h3,
  #rk-reku-guide .rk-rv-cta strong { position: relative; z-index: 1; color: var(--rk-white); }
  #rk-reku-guide .rk-rv-cta p { position: relative; z-index: 1; max-width: 900px; color: #dceef2; }
  #rk-reku-guide .rk-rv-cta-button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 53px;
    margin-top: 8px;
    padding: 13px 22px;
    border-radius: 11px;
    color: var(--rk-white) !important;
    background: var(--rk-orange);
    box-shadow: 0 10px 25px rgba(255, 106, 61, .25);
    font-size: .79rem;
    font-weight: 950;
    text-align: center;
    text-decoration: none !important;
  }
  #rk-reku-guide .rk-rv-cta-button:hover,
  #rk-reku-guide .rk-rv-cta-button:focus-visible { color: var(--rk-white) !important; background: #ef5530; }

  #rk-reku-guide .rk-rv-steps { counter-reset: rk-rv-step; padding: 0; list-style: none; }
  #rk-reku-guide .rk-rv-steps li {
    position: relative;
    min-height: 55px;
    margin-bottom: 15px;
    padding: 13px 15px 13px 63px;
    border: 1px solid var(--rk-line);
    border-radius: 13px;
    background: var(--rk-white);
  }
  #rk-reku-guide .rk-rv-steps li::before {
    position: absolute;
    left: 13px;
    top: 12px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    content: counter(rk-rv-step);
    counter-increment: rk-rv-step;
    font-size: .72rem;
    font-weight: 950;
  }
  #rk-reku-guide .rk-rv-faq { display: grid; gap: 12px; }
  #rk-reku-guide .rk-rv-faq details {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-white);
  }
  #rk-reku-guide .rk-rv-faq summary {
    position: relative;
    padding: 18px 54px 18px 20px;
    color: var(--rk-dark);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.4;
    list-style: none;
  }
  #rk-reku-guide .rk-rv-faq summary::-webkit-details-marker { display: none; }
  #rk-reku-guide .rk-rv-faq summary::after {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-blue);
    content: "+";
    font-size: 1.3rem;
    font-weight: 700;
  }
  #rk-reku-guide .rk-rv-faq details[open] summary::after { content: "−"; }
  #rk-reku-guide .rk-rv-faq-answer { padding: 0 20px 19px; color: var(--rk-text); font-size: .82rem; }
  #rk-reku-guide .rk-rv-faq-answer p:last-child { margin-bottom: 0; }
  #rk-reku-guide .rk-rv-source-list { padding-left: 22px; }
  #rk-reku-guide .rk-rv-source-list li { margin-bottom: 12px; color: var(--rk-text); }

  #rk-reku-guide .rk-rv-author {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-soft);
  }
  #rk-reku-guide .rk-rv-author-side {
    padding: 31px 24px;
    color: var(--rk-white);
    background: var(--rk-dark);
    text-align: center;
  }
  #rk-reku-guide .rk-rv-author-photo {
    display: block;
    width: 150px;
    height: 150px;
    margin: 0 auto 18px;
    border: 6px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    object-fit: cover;
  }
  #rk-reku-guide .rk-rv-author-side h3 { margin-bottom: 7px; color: var(--rk-white); }
  #rk-reku-guide .rk-rv-author-side p { color: #c3dae1; font-size: .71rem; line-height: 1.55; }
  #rk-reku-guide .rk-rv-social-label { display: block; margin: 20px 0 10px; color: #89a8b3; font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  #rk-reku-guide .rk-rv-socials { display: flex; justify-content: center; gap: 10px; }
  #rk-reku-guide .rk-rv-socials a {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border: 1px solid #476779;
    border-radius: 50%;
    color: #d8e9ed;
    background: transparent;
    font-size: .72rem;
    font-weight: 950;
    text-decoration: none;
  }
  #rk-reku-guide .rk-rv-socials a:hover,
  #rk-reku-guide .rk-rv-socials a:focus-visible { border-color: var(--rk-cyan); color: var(--rk-dark); background: var(--rk-cyan); }
  #rk-reku-guide .rk-rv-author-main { min-width: 0; padding: clamp(27px, 5vw, 45px); }
  #rk-reku-guide .rk-rv-author-quote {
    position: relative;
    margin-bottom: 24px;
    padding: 19px 21px 19px 50px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .82rem;
    font-weight: 760;
  }
  #rk-reku-guide .rk-rv-author-quote::before {
    position: absolute;
    left: 17px;
    top: 7px;
    color: var(--rk-cyan);
    content: "“";
    font-size: 2.7rem;
    font-weight: 950;
    line-height: 1;
  }
  #rk-reku-guide .rk-rv-author-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
  #rk-reku-guide .rk-rv-author-tabs span {
    padding: 7px 12px;
    border-radius: 999px;
    color: #58707e;
    background: #e7f0f4;
    font-size: .61rem;
    font-weight: 900;
  }
  #rk-reku-guide .rk-rv-author-tabs span:first-child { color: var(--rk-white); background: var(--rk-blue); }
  #rk-reku-guide .rk-rv-author-main p { color: var(--rk-text); font-size: .82rem; }
  #rk-reku-guide .rk-rv-author-portals {
    margin-top: 17px;
    padding-top: 16px;
    border-top: 1px solid var(--rk-line);
    color: var(--rk-muted);
    font-size: .68rem;
  }

  @media (max-width: 940px) {
    #rk-reku-guide .rk-rv-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-reku-guide .rk-rv-grid-3,
    #rk-reku-guide .rk-rv-input-grid,
    #rk-reku-guide .rk-rv-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-reku-guide .rk-rv-answer { grid-template-columns: 1fr; }
  }
  @media (max-width: 720px) {
    #rk-reku-guide { margin: 15px auto 45px; font-size: 16px; }
    #rk-reku-guide .rk-rv-shell { border-radius: 18px; }
    #rk-reku-guide .rk-rv-hero { padding: 35px 21px 31px; }
    #rk-reku-guide .rk-rv-hero-title { font-size: clamp(2rem, 12vw, 3.2rem); }
    #rk-reku-guide .rk-rv-hero-metrics,
    #rk-reku-guide .rk-rv-grid-2,
    #rk-reku-guide .rk-rv-grid-3,
    #rk-reku-guide .rk-rv-grid-4,
    #rk-reku-guide .rk-rv-input-grid,
    #rk-reku-guide .rk-rv-result-grid,
    #rk-reku-guide .rk-rv-diagnostics { grid-template-columns: minmax(0, 1fr); }
    #rk-reku-guide .rk-rv-nav { padding: 16px; }
    #rk-reku-guide .rk-rv-nav-links { gap: 7px; }
    #rk-reku-guide .rk-rv-nav a { flex: 1 1 145px; justify-content: center; min-width: 0; text-align: center; }
    #rk-reku-guide .rk-rv-content { padding: 0 18px 38px; }
    #rk-reku-guide .rk-rv-section { padding: 43px 0; }
    #rk-reku-guide .rk-rv-card { padding: 20px; }
    #rk-reku-guide .rk-rv-system-row { grid-template-columns: minmax(0, 1fr); }
    #rk-reku-guide .rk-rv-system-arrow { min-height: 27px; transform: rotate(90deg); }
    #rk-reku-guide .rk-rv-analyzer { border-radius: 17px; }
    #rk-reku-guide .rk-rv-tool-panel { padding: 18px; }
    #rk-reku-guide .rk-rv-chart-wrap { padding: 8px; }
    #rk-reku-guide .rk-rv-chart-wrap svg { min-height: 270px; }
    #rk-reku-guide .rk-rv-author { grid-template-columns: minmax(0, 1fr); }
    #rk-reku-guide .rk-rv-table,
    #rk-reku-guide .rk-rv-table tbody,
    #rk-reku-guide .rk-rv-table tr,
    #rk-reku-guide .rk-rv-table td { display: block; width: 100%; }
    #rk-reku-guide .rk-rv-table thead { display: none; }
    #rk-reku-guide .rk-rv-table { border: 0; overflow: visible; background: transparent; }
    #rk-reku-guide .rk-rv-table tbody { display: grid; gap: 14px; }
    #rk-reku-guide .rk-rv-table tr {
      overflow: hidden;
      border: 1px solid var(--rk-line);
      border-radius: 14px;
      background: var(--rk-white) !important;
      box-shadow: 0 8px 20px rgba(16, 37, 54, .055);
    }
    #rk-reku-guide .rk-rv-table td {
      min-width: 0;
      padding: 12px 14px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      overflow-wrap: anywhere;
    }
    #rk-reku-guide .rk-rv-table td:last-child { border-bottom: 0; }
    #rk-reku-guide .rk-rv-table td::before {
      display: block;
      margin-bottom: 4px;
      color: var(--rk-blue);
      content: attr(data-label);
      font-size: .61rem;
      font-weight: 900;
      letter-spacing: .045em;
      text-transform: uppercase;
    }
  }
  @media (max-width: 430px) {
    #rk-reku-guide .rk-rv-nav a { flex-basis: 100%; }
    #rk-reku-guide .rk-rv-byline { flex-direction: column; gap: 5px; }
    #rk-reku-guide .rk-rv-hero-tag { width: 100%; text-align: center; }
    #rk-reku-guide .rk-rv-cta-button { width: 100%; }
    #rk-reku-guide .rk-rv-author-quote { padding-left: 44px; }
  }
</style>

<article id="rk-reku-guide" itemscope="" itemtype="https://schema.org/TechArticle">
  <div class="rk-rv-shell">
    <header class="rk-rv-hero">
      <div class="rk-rv-kicker">Bilans cieplny domu · aktualizacja 2026</div>
      <div class="rk-rv-hero-title">Rekuperacja i podłogówka — <span>co naprawdę się opłaca?</span></div>
      <p class="rk-rv-lead">Rekuperator nie ogrzewa podłogi i nie dobiera rozstawu rur. Ogranicza natomiast wentylacyjną część strat ciepła, dlatego może zmienić obciążenie budynku, moc źródła oraz ilość ciepła, którą musi oddać instalacja podłogowa.</p>
      <div class="rk-rv-hero-tags" aria-label="Najważniejsze zagadnienia artykułu">
        <span class="rk-rv-hero-tag">odzysk ciepła</span>
        <span class="rk-rv-hero-tag">OZC i moc projektowa</span>
        <span class="rk-rv-hero-tag">podłogówka i pompa ciepła</span>
        <span class="rk-rv-hero-tag">koszty eksploatacji</span>
        <span class="rk-rv-hero-tag">analizator bilansu</span>
      </div>
      <div class="rk-rv-byline">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: około 25 minut</span>
        <span>Aktualizacja techniczna: 7 września 2026 r.</span>
      </div>
      <div class="rk-rv-hero-metrics" aria-label="Trzy zasady oceny układu">
        <div class="rk-rv-hero-metric"><b>Dwa niezależne systemy</b><span>Wentylacja transportuje powietrze, a podłogówka ciepło przez wodę i powierzchnię podłogi.</span></div>
        <div class="rk-rv-hero-metric"><b>Jeden wspólny bilans</b><span>Łączą się przez zapotrzebowanie cieplne budynku i poszczególnych pomieszczeń.</span></div>
        <div class="rk-rv-hero-metric"><b>Bez uniwersalnego procentu</b><span>Oszczędność zależy od przepływów, odzysku, szczelności, klimatu i sposobu użytkowania.</span></div>
      </div>
    </header>

    <nav class="rk-rv-nav" aria-label="Nawigacja po artykule">
      <span class="rk-rv-nav-label">Na skróty</span>
      <div class="rk-rv-nav-links">
        <a href="#rk-rv-szybka">Szybka odpowiedź</a>
        <a href="#rk-rv-czy-ogrzewa">Czy rekuperacja ogrzewa?</a>
        <a href="#rk-rv-wspolpraca">Gdzie systemy się łączą?</a>
        <a href="#rk-rv-moc-energia">Moc a energia</a>
        <a href="#rk-rv-odzysk">Jak działa odzysk?</a>
        <a href="#rk-rv-analizator">Analizator bilansu</a>
        <a href="#rk-rv-wykres">Jak czytać wykres?</a>
        <a href="#rk-rv-porownanie">Uczciwe porównanie</a>
        <a href="#rk-rv-ozc">Rekuperacja a OZC</a>
        <a href="#rk-rv-sprawnosc">Sprawność rzeczywista</a>
        <a href="#rk-rv-bilans">Nawiew, wywiew i infiltracja</a>
        <a href="#rk-rv-podlogowka">Wpływ na podłogówkę</a>
        <a href="#rk-rv-rozstaw">Rozstaw rur</a>
        <a href="#rk-rv-zasilanie">Temperatura zasilania</a>
        <a href="#rk-rv-pompa-ciepla">Pompa ciepła</a>
        <a href="#rk-rv-koszty">Koszty pracy</a>
        <a href="#rk-rv-zwrot">Okres zwrotu</a>
        <a href="#rk-rv-wilgotnosc">Wilgotność i powietrze</a>
        <a href="#rk-rv-wymiennik">Wymiennik entalpiczny</a>
        <a href="#rk-rv-okna">Okna, okap i kominek</a>
        <a href="#rk-rv-zima">Mróz, kondensat i bypass</a>
        <a href="#rk-rv-uruchomienie">Uruchomienie i pomiary</a>
        <a href="#rk-rv-bledy">Najczęstsze błędy</a>
        <a href="#rk-rv-checklista">Checklista inwestora</a>
        <a href="#rk-rv-faq">FAQ</a>
        <a href="#rk-rv-zrodla">Źródła</a>
        <a href="#rk-rv-author">O autorze</a>
      </div>
    </nav>

    <div class="rk-rv-content">
      <section id="rk-rv-szybka" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Odpowiedź w 30 sekund</div>
        <h2>Rekuperacja i ogrzewanie podłogowe — czy to się opłaca?</h2>
        <p class="rk-rv-intro"><strong>Najczęściej jest to technicznie sensowne połączenie, ale nie dlatego, że rekuperator „napędza” podłogówkę.</strong> Wentylacja mechaniczna z odzyskiem ciepła ogranicza część strat wynikającą z wymiany powietrza. Podłogówka pokrywa obciążenie, które pozostaje po uwzględnieniu przegród, mostków, infiltracji, wentylacji oraz zysków ciepła.</p>
        <div class="rk-rv-answer">
          <div class="rk-rv-answer-main">
            <h3>Kiedy zestaw ma najwięcej sensu?</h3>
            <p>W szczelnym, dobrze zaizolowanym budynku, dla którego wykonano bilans powietrza i obliczenia strat pomieszczeń. Wtedy niższe obciążenie może pomóc utrzymać niską temperaturę wody i stabilną pracę źródła ciepła.</p>
            <p>Punktem wyjścia powinno być <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">prawidłowe obliczenie strat cieplnych budynku</a>, a nie procent oszczędności przepisany z innego domu.</p>
          </div>
          <aside class="rk-rv-answer-side">
            <h3>Czego nie wolno założyć?</h3>
            <ul class="rk-rv-list-cross">
              <li>stałej oszczędności 30–45%,</li>
              <li>automatycznego rozstawu rur 10 cm,</li>
              <li>stałej sprawności odzysku przez cały rok,</li>
              <li>krótszego okresu zwrotu bez danych o kosztach.</li>
            </ul>
          </aside>
        </div>
      </section>

      <section id="rk-rv-czy-ogrzewa" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Najważniejsze rozróżnienie</div>
        <h2>Czy rekuperacja ogrzewa dom?</h2>
        <p><strong>Rekuperacja odzyskuje część ciepła z powietrza usuwanego, ale nie zastępuje systemu grzewczego.</strong> Wymiennik przekazuje energię między strumieniami powietrza bez ich mieszania w prawidłowo działającej centrali. Temperatura nawiewu jest dzięki temu wyższa niż temperatura powietrza zewnętrznego, lecz zazwyczaj niższa niż temperatura w pomieszczeniu.</p>
        <div class="rk-rv-grid-3">
          <div class="rk-rv-card rk-rv-card-accent"><h3>Rekuperator</h3><p>Zmniejsza moc potrzebną do ogrzania świeżego powietrza i zapewnia kontrolowaną wymianę powietrza.</p></div>
          <div class="rk-rv-card rk-rv-card-warm"><h3>Źródło ciepła</h3><p>Wytwarza ciepło potrzebne do pokrycia bieżących strat budynku.</p></div>
          <div class="rk-rv-card rk-rv-card-green"><h3>Podłogówka</h3><p>Przekazuje ciepło do pomieszczeń przez powierzchnię podłogi.</p></div>
        </div>
        <p>To, czy podłogówka może być jedynym odbiornikiem ciepła, rozstrzyga bilans każdego pomieszczenia. Osobno wyjaśniam, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">kiedy ogrzewanie podłogowe może samodzielnie ogrzać dom</a>.</p>
      </section>

      <section id="rk-rv-wspolpraca" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Dwa obiegi, jeden budynek</div>
        <h2>Gdzie rekuperacja i podłogówka naprawdę się łączą?</h2>
        <p>Nie łączy ich rura, rozdzielacz ani wspólny regulator hydrauliczny. Ich zależność przebiega przez bilans cieplny: im mniej energii ucieka z powietrzem wentylacyjnym, tym mniejszą moc musi w danej chwili dostarczyć ogrzewanie.</p>
        <div class="rk-rv-system-map" role="img" aria-label="Schemat dwóch niezależnych dróg: wentylacyjnej i grzewczej, które spotykają się w bilansie cieplnym pomieszczeń">
          <h3>Droga powietrza</h3>
          <div class="rk-rv-system-row">
            <div class="rk-rv-system-node"><b>Powietrze zewnętrzne</b><span>temperatura i wilgotność zależne od pogody</span></div>
            <div class="rk-rv-system-arrow" aria-hidden="true">→</div>
            <div class="rk-rv-system-node"><b>Wymiennik odzysku</b><span>część ciepła z wywiewu trafia do nawiewu</span></div>
            <div class="rk-rv-system-arrow" aria-hidden="true">→</div>
            <div class="rk-rv-system-node rk-rv-system-node-end"><b>Pomieszczenia</b><span>kontrolowany nawiew i wywiew</span></div>
          </div>
          <h3 style="margin-top:24px">Droga ciepła</h3>
          <div class="rk-rv-system-row">
            <div class="rk-rv-system-node"><b>Źródło ciepła</b><span>pompa ciepła, kocioł lub inne urządzenie</span></div>
            <div class="rk-rv-system-arrow" aria-hidden="true">→</div>
            <div class="rk-rv-system-node"><b>Woda i podłoga</b><span>rury, jastrych i okładzina przekazują energię</span></div>
            <div class="rk-rv-system-arrow" aria-hidden="true">→</div>
            <div class="rk-rv-system-node rk-rv-system-node-end"><b>Pomieszczenia</b><span>pokrycie obciążenia cieplnego</span></div>
          </div>
          <p class="rk-rv-system-note"><strong>Punkt wspólny:</strong> temperatura pomieszczeń i ich obciążenie cieplne. Zobacz też, <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak działa wodne ogrzewanie podłogowe</a>.</p>
        </div>
      </section>

      <section id="rk-rv-moc-energia" class="rk-rv-section">
        <div class="rk-rv-eyebrow">kW, kWh i zł to nie to samo</div>
        <h2>Strata wentylacyjna: moc projektowa a energia w sezonie</h2>
        <p>Bardzo częsty błąd polega na policzeniu mocy przy temperaturze obliczeniowej, a następnie pomnożeniu jej przez wszystkie godziny sezonu. Temperatura projektowa występuje rzadko, przepływy mogą się zmieniać, a odzysk i praca wentylatorów zależą od punktu pracy.</p>
        <div class="rk-rv-table-wrap">
          <table class="rk-rv-table">
            <thead><tr><th>Wielkość</th><th>Jednostka</th><th>Co opisuje?</th><th>Do czego służy?</th></tr></thead>
            <tbody>
              <tr><td data-label="Wielkość"><strong>Moc cieplna</strong></td><td data-label="Jednostka">W lub kW</td><td data-label="Co opisuje?">Chwilowe obciążenie przy konkretnych warunkach.</td><td data-label="Zastosowanie">Dobór źródła i powierzchni grzewczych.</td></tr>
              <tr><td data-label="Wielkość"><strong>Energia</strong></td><td data-label="Jednostka">kWh</td><td data-label="Co opisuje?">Sumę energii w godzinie, miesiącu lub sezonie.</td><td data-label="Zastosowanie">Analiza zużycia i kosztów eksploatacji.</td></tr>
              <tr><td data-label="Wielkość"><strong>Koszt</strong></td><td data-label="Jednostka">zł</td><td data-label="Co opisuje?">Energię pomnożoną przez rzeczywistą cenę oraz koszty stałe.</td><td data-label="Zastosowanie">Budżet i analiza opłacalności.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Pełny <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans cieplny budynku</a> obejmuje więcej niż samą wentylację: przegrody, mostki, grunt, infiltrację oraz zyski wewnętrzne i słoneczne.</p>
      </section>

      <section id="rk-rv-odzysk" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Model referencyjny</div>
        <h2>Jak obliczyć wpływ odzysku ciepła z wentylacji?</h2>
        <p>Do szybkiego porównania można użyć przybliżenia opartego na strumieniu powietrza, różnicy temperatur oraz temperaturowej sprawności odzysku w wybranym punkcie pracy.</p>
        <div class="rk-rv-formula">Q̇<sub>v,0</sub> = 0,34 × V̇ × (t<sub>i</sub> − t<sub>e</sub>)</div>
        <div class="rk-rv-formula">Q̇<sub>v,HR</sub> ≈ 0,34 × V̇ × (t<sub>i</sub> − t<sub>e</sub>) × (1 − η<sub>t</sub>)</div>
        <p>Wynik jest w watach, gdy strumień <em>V̇</em> podamy w m³/h. Współczynnik 0,34 jest przybliżoną objętościową pojemnością cieplną powietrza. Model trzeba rozszerzyć o niezbilansowanie nawiewu i wywiewu oraz niekontrolowaną infiltrację.</p>
        <div class="rk-rv-callout rk-rv-callout-warn"><strong>To nie jest obliczenie rocznego zużycia.</strong> Model opisuje chwilowy punkt temperaturowy. Nie uwzględnia pogody godzina po godzinie, odszraniania, zmiennego biegu centrali, bypassu, przerw pracy ani ciepła wentylatorów.</div>
      </section>

      <section id="rk-rv-analizator" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Interaktywne narzędzie techniczne</div>
        <h2>Analizator współpracy rekuperacji z podłogówką</h2>
        <p class="rk-rv-intro">Wpisz dane jednego budynku. Narzędzie porówna wentylacyjną część obciążenia bez odzysku i z odzyskiem przy tych samych temperaturach oraz przepływach. Osobno pokaże infiltrację i moc elektryczną wentylatorów.</p>

        <div id="rk-rv-analyzer-tool" class="rk-rv-analyzer">
          <div class="rk-rv-analyzer-head">
            <h3>Porównaj wariant bez odzysku i z rekuperacją</h3>
            <p>Obliczenie dotyczy straty związanej z wymianą powietrza. Nie wyznacza pełnej mocy budynku ani wymaganej mocy podłogi w poszczególnych pomieszczeniach.</p>
          </div>
          <div class="rk-rv-analyzer-body">
            <div class="rk-rv-tool-panel">
              <h3>1. Dane budynku i wentylacji</h3>
              <div class="rk-rv-input-grid">
                <div class="rk-rv-field"><label for="rk-rv-volume">Kubatura ogrzewana [m³]</label><input id="rk-rv-volume" type="number" min="20" max="3000" step="1" value="405"><small>Informacja kontrolna; główne obliczenie wykorzystuje podane strumienie.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-supply">Projektowy nawiew [m³/h]</label><input id="rk-rv-supply" type="number" min="10" max="2000" step="1" value="200"><small>Najlepiej wartość z projektu lub protokołu pomiarowego.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-extract">Projektowy wywiew [m³/h]</label><input id="rk-rv-extract" type="number" min="10" max="2000" step="1" value="200"><small>Nie zakładaj automatycznie, że jest identyczny z nawiewem.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-indoor">Temperatura wewnętrzna [°C]</label><input id="rk-rv-indoor" type="number" min="10" max="28" step="0.5" value="20"></div>
                <div class="rk-rv-field"><label for="rk-rv-outdoor">Temperatura zewnętrzna [°C]</label><input id="rk-rv-outdoor" type="number" min="-40" max="10" step="0.5" value="-20"><small>Dla doboru mocy użyj właściwej temperatury projektowej lokalizacji.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-efficiency">Sprawność temperaturowa w tym punkcie [%]</label><input id="rk-rv-efficiency" type="number" min="0" max="95" step="1" value="80"><small>Nie musi być równa maksymalnej wartości katalogowej.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-infiltration">Dodatkowa infiltracja [m³/h]</label><input id="rk-rv-infiltration" type="number" min="0" max="1000" step="1" value="25"><small>Niekontrolowany przepływ poza odzyskiem; nie obejmuje tu niezbilansowania centrali.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-fan-power">Łączna moc wentylatorów [W]</label><input id="rk-rv-fan-power" type="number" min="0" max="2500" step="1" value="90"><small>Pokazujemy ją oddzielnie — to pobór elektryczny, nie automatyczna korekta OZC.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-active-area">Czynna powierzchnia podłogi [m²]</label><input id="rk-rv-active-area" type="number" min="1" max="1000" step="0.5" value="120"><small>Do orientacyjnego przeliczenia odzyskanej mocy na W/m².</small></div>
                <div class="rk-rv-field"><label for="rk-rv-source">Źródło ciepła</label><select id="rk-rv-source"><option value="heatpump">Pompa ciepła</option><option value="gas">Kocioł kondensacyjny</option><option value="electric">Ogrzewanie elektryczne</option><option value="other">Inne źródło</option></select><small>Nie zmienia fizycznej straty; wpływa na interpretację kosztu energii.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-commissioned">Jakość danych o przepływach</label><select id="rk-rv-commissioned"><option value="measured">Pomiary po uruchomieniu</option><option value="design" selected="">Dane projektowe</option><option value="unknown">Wartości szacunkowe</option></select><small>Zmienia poziom zaufania do wniosku, nie sam wzór.</small></div>
                <div class="rk-rv-field"><label for="rk-rv-mode">Cel sprawdzenia</label><select id="rk-rv-mode"><option value="design">Punkt projektowy mocy</option><option value="comparison">Porównanie wariantów</option></select><small>Narzędzie nie oblicza rocznych kWh ani okresu zwrotu.</small></div>
              </div>
              <div class="rk-rv-tool-note">Dla niezbilansowanego układu obliczenie konserwatywnie przyjmuje większy z podanych strumieni jako przepływ wymagający ogrzania, a odzysk liczy wyłącznie dla części zbilansowanej. Dodatkową infiltrację dodaje osobno.</div>
              <button id="rk-rv-run" class="rk-rv-run" type="button">Przelicz bilans wentylacji</button>
            </div>

            <div class="rk-rv-tool-panel" aria-live="polite">
              <h3>2. Wynik dla wpisanych danych</h3>
              <div class="rk-rv-result-grid">
                <div class="rk-rv-result"><span>Bez odzysku</span><strong id="rk-rv-q-no">2,72 kW</strong><small>mechaniczna wymiana powietrza</small></div>
                <div class="rk-rv-result"><span>Odzyskana moc</span><strong id="rk-rv-q-recovered">2,18 kW</strong><small>w rozpatrywanym punkcie</small></div>
                <div class="rk-rv-result"><span>Po wymienniku</span><strong id="rk-rv-q-remain">0,54 kW</strong><small>pozostała część mechaniczna</small></div>
                <div class="rk-rv-result"><span>Infiltracja</span><strong id="rk-rv-q-infiltration">0,34 kW</strong><small>poza odzyskiem ciepła</small></div>
                <div class="rk-rv-result rk-rv-result-highlight"><span>Razem z rekuperacją</span><strong id="rk-rv-q-total">0,88 kW</strong><small>wentylacja i podana infiltracja</small></div>
                <div class="rk-rv-result"><span>Różnica na powierzchnię</span><strong id="rk-rv-q-area">18,1 W/m²</strong><small>średnio dla podanej czynnej podłogi</small></div>
              </div>
              <div class="rk-rv-grid-2">
                <div class="rk-rv-result"><span>Moc elektryczna wentylatorów</span><strong id="rk-rv-fan-output">90 W</strong><small>pokazana osobno od obciążenia cieplnego</small></div>
                <div class="rk-rv-result"><span>Różnica nawiew / wywiew</span><strong id="rk-rv-balance-output">0,0%</strong><small>udział względem większego strumienia</small></div>
              </div>
              <div id="rk-rv-verdict" class="rk-rv-verdict">
                <b id="rk-rv-verdict-title">Wynik warunkowy — dane nadają się do porównania</b>
                <p id="rk-rv-verdict-text">Dane projektowe pozwalają ocenić kierunek zmiany. Przed regulacją podłogówki warto potwierdzić rzeczywiste strumienie po uruchomieniu centrali.</p>
              </div>
              <div id="rk-rv-diagnostics" class="rk-rv-diagnostics">
                <div class="rk-rv-diagnostic">Odzysk ciepła zmniejsza wentylacyjną część obciążenia, ale nie usuwa strat przez ściany, okna, dach, podłogę i mostki.</div>
                <div class="rk-rv-diagnostic rk-rv-diagnostic-warn">Podana sprawność jest założeniem dla wybranego punktu. Nie traktuj jej jako stałej wartości całorocznej.</div>
              </div>
            </div>

            <div class="rk-rv-tool-panel">
              <h3>3. Dynamiczny wykres obciążenia wentylacyjnego</h3>
              <p>Linie pokazują ten sam budynek i te same przepływy. Zmienia się jedynie temperatura zewnętrzna oraz obecność odzysku ciepła.</p>
              <div class="rk-rv-chart-wrap">
                <svg id="rk-rv-chart" viewBox="0 0 820 360" role="img" aria-labelledby="rk-rv-chart-title rk-rv-chart-desc">
                  <title id="rk-rv-chart-title">Porównanie wentylacyjnej straty ciepła bez odzysku i z rekuperacją</title>
                  <desc id="rk-rv-chart-desc">Wykres liniowy zależności obciążenia w kilowatach od temperatury zewnętrznej.</desc>
                  <rect x="0" y="0" width="820" height="360" rx="14" fill="#f7fbfc"></rect>
                  <g stroke="#d7e5ea" stroke-width="1">
                    <line x1="70" y1="30" x2="780" y2="30"></line>
                    <line x1="70" y1="97.5" x2="780" y2="97.5"></line>
                    <line x1="70" y1="165" x2="780" y2="165"></line>
                    <line x1="70" y1="232.5" x2="780" y2="232.5"></line>
                    <line x1="70" y1="300" x2="780" y2="300"></line>
                    <line x1="70" y1="30" x2="70" y2="300"></line>
                    <line x1="247.5" y1="30" x2="247.5" y2="300"></line>
                    <line x1="425" y1="30" x2="425" y2="300"></line>
                    <line x1="602.5" y1="30" x2="602.5" y2="300"></line>
                    <line x1="780" y1="30" x2="780" y2="300"></line>
                  </g>
                  <g fill="#597180" font-size="13" font-family="Inter, sans-serif">
                    <text id="rk-rv-y4" x="61" y="35" text-anchor="end">3,4</text>
                    <text id="rk-rv-y3" x="61" y="102" text-anchor="end">2,6</text>
                    <text id="rk-rv-y2" x="61" y="170" text-anchor="end">1,7</text>
                    <text id="rk-rv-y1" x="61" y="237" text-anchor="end">0,9</text>
                    <text x="61" y="305" text-anchor="end">0</text>
                    <text id="rk-rv-x0" x="70" y="324" text-anchor="middle">−25°C</text>
                    <text id="rk-rv-x1" x="425" y="324" text-anchor="middle">−7,5°C</text>
                    <text id="rk-rv-x2" x="780" y="324" text-anchor="middle">10°C</text>
                    <text x="425" y="348" text-anchor="middle" font-weight="700">temperatura zewnętrzna</text>
                    <text transform="translate(19 170) rotate(-90)" text-anchor="middle" font-weight="700">obciążenie [kW]</text>
                  </g>
                  <line id="rk-rv-design-marker" x1="171" y1="30" x2="171" y2="300" stroke="#102536" stroke-width="2" stroke-dasharray="6 6"></line>
                  <text id="rk-rv-design-label" x="178" y="48" fill="#102536" font-size="12" font-weight="800">punkt −20°C</text>
                  <polyline id="rk-rv-line-no" fill="none" stroke="#ff6a3d" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" points=""></polyline>
                  <polyline id="rk-rv-line-hr" fill="none" stroke="#25c7d8" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" points=""></polyline>
                </svg>
                <div class="rk-rv-chart-legend">
                  <span class="rk-rv-legend-item"><span class="rk-rv-legend-line"></span>bez odzysku i z podaną infiltracją</span>
                  <span class="rk-rv-legend-item"><span class="rk-rv-legend-line rk-rv-legend-line-cyan"></span>z odzyskiem i podaną infiltracją</span>
                  <span class="rk-rv-legend-item">linia przerywana: wybrana temperatura</span>
                </div>
                <p class="rk-rv-chart-caption">Wykres nie przedstawia rocznego zużycia energii. Wartości wynikają z uproszczonego modelu 0,34 × przepływ × różnica temperatur.</p>
              </div>
            </div>
          </div>
        </div>
        <p class="rk-rv-small">Chcesz niezależnie sprawdzić pozostałe składniki? Użyj także <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulatora strat ciepła budynku</a>, pamiętając, że narzędzie internetowe nadal nie zastępuje kompletnego projektu.</p>
      </section>

      <aside class="rk-rv-cta" aria-label="Indywidualny projekt ogrzewania podłogowego">
        <h3>Analizator pokazuje bilans budynku, ale podłogówkę dobiera się pomieszczenie po pomieszczeniu</h3>
        <p>Analizator pokazuje, jak odzysk ciepła może zmienić wentylacyjną część obciążenia całego budynku, ale nie wie, ile tej mocy przypada na salon, łazienkę, sypialnie i pomieszczenia z dużymi przeszkleniami.</p>
        <p>To właśnie obciążenie każdego pomieszczenia oraz jego powierzchnia czynna decydują o rozstawie rur, liczbie pętli, przepływach i temperaturze zasilania. Jeżeli rekuperacja ma zostać prawidłowo uwzględniona w podłogówce, potrzebny jest indywidualny projekt.</p>
        <a class="rk-rv-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki uwzględniający rekuperację</a>
      </aside>

      <section id="rk-rv-wykres" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Interpretacja bez skrótów</div>
        <h2>Jak czytać dynamiczny wykres rekuperacji?</h2>
        <p>Im niższa temperatura zewnętrzna, tym większa różnica temperatur i chwilowa strata wentylacyjna. Pomarańczowa linia pokazuje wariant bez odzysku. Linia turkusowa uwzględnia odzysk dla zbilansowanej części przepływu oraz wpisaną infiltrację.</p>
        <div class="rk-rv-grid-3">
          <div class="rk-rv-card"><span class="rk-rv-card-number">1</span><h3>Odległość między liniami</h3><p>To orientacyjna odzyskana moc w danym punkcie, a nie gwarantowana oszczędność na rachunku.</p></div>
          <div class="rk-rv-card"><span class="rk-rv-card-number">2</span><h3>Nachylenie linii</h3><p>Wynika z przepływu powietrza i różnicy temperatur. Większy przepływ daje większe obciążenie.</p></div>
          <div class="rk-rv-card"><span class="rk-rv-card-number">3</span><h3>Linia projektowa</h3><p>Pomaga odczytać chwilową moc przy wybranej temperaturze, nie energię całego sezonu.</p></div>
        </div>
        <p>W rzeczywistym sezonie wpływ mają także zmienne <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">pasywne zyski ciepła</a>, harmonogram wentylacji, wiatr, nasłonecznienie i zachowanie mieszkańców.</p>
      </section>

      <section id="rk-rv-porownanie" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Ta sama baza danych</div>
        <h2>Jak uczciwie porównać dom z rekuperacją i bez niej?</h2>
        <p>Porównanie ma sens tylko wtedy, gdy oba warianty dotyczą tego samego budynku i tych samych warunków. Zmieniamy sposób wentylacji, a pozostałe parametry pozostawiamy wspólne.</p>
        <div class="rk-rv-table-wrap">
          <table class="rk-rv-table">
            <thead><tr><th>Parametr</th><th>W obu wariantach</th><th>Co może się zmienić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Parametr"><strong>Przegrody i mostki</strong></td><td data-label="W obu wariantach">Te same współczynniki U, powierzchnie i geometria.</td><td data-label="Zmiana">Nic — rekuperacja nie poprawia izolacyjności ścian.</td></tr>
              <tr><td data-label="Parametr"><strong>Temperatura wewnętrzna i klimat</strong></td><td data-label="W obu wariantach">Te same temperatury projektowe i ten sam przebieg pogody.</td><td data-label="Zmiana">Sposób przygotowania powietrza wentylacyjnego.</td></tr>
              <tr><td data-label="Parametr"><strong>Wymagana wymiana powietrza</strong></td><td data-label="W obu wariantach">Porównywalny poziom wentylacji i sposób użytkowania.</td><td data-label="Zmiana">Kontrola przepływu oraz odzysk części ciepła.</td></tr>
              <tr><td data-label="Parametr"><strong>Źródło ciepła</strong></td><td data-label="W obu wariantach">Ta sama technologia, taryfa i sprawność przy porównaniu kosztów.</td><td data-label="Zmiana">Może zmienić się wymagana moc projektowa, jeśli OZC to potwierdzi.</td></tr>
            </tbody>
          </table>
        </div>
        <div class="rk-rv-callout"><strong>Nie porównuj wentylacji grawitacyjnej, która faktycznie działa słabo, z rekuperacją przy pełnym strumieniu i nie nazywaj różnicy czystą oszczędnością.</strong> Najpierw trzeba zapewnić porównywalną jakość powietrza.</div>
      </section>

      <section id="rk-rv-ozc" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Obliczenia projektowe</div>
        <h2>Rekuperacja a OZC — gdzie wpisuje się odzysk ciepła?</h2>
        <p>W obliczeniach trzeba rozdzielić przenikanie przez przegrody od strat związanych z powietrzem. Projektowy strumień wentylacji, odzysk i infiltracja wpływają na część wentylacyjną, ale nie kasują strat przez ściany, dach, podłogę, okna i mostki.</p>
        <div class="rk-rv-grid-2">
          <div class="rk-rv-card rk-rv-card-accent"><h3>Obciążenie całego budynku</h3><p>Pomaga dobrać źródło ciepła, lecz nie wystarcza do zaprojektowania pętli w pokojach.</p></div>
          <div class="rk-rv-card rk-rv-card-warm"><h3>Obciążenie pomieszczenia</h3><p>Decyduje, czy czynna powierzchnia podłogi odda potrzebną moc i przy jakich parametrach.</p></div>
        </div>
        <p>Więcej o różnicy między mocą domu i mocą poszczególnych pokoi znajdziesz w poradniku o <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowym obciążeniu cieplnym OZC</a>.</p>
      </section>

      <section id="rk-rv-sprawnosc" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Katalog to nie cały sezon</div>
        <h2>Sprawność rekuperatora zimą: wartość deklarowana i rzeczywista</h2>
        <p>Temperaturowa sprawność odzysku jest cechą konkretnego punktu pracy, a nie jedną stałą przypisaną do urządzenia na cały rok. Wpływają na nią między innymi strumienie, ich zbilansowanie, temperatury, przecieki, stan filtrów, oszronienie oraz algorytm ochrony wymiennika.</p>
        <div class="rk-rv-grid-4">
          <div class="rk-rv-card"><h3>Przepływ</h3><p>Inny bieg wentylatorów oznacza inny punkt pracy wymiennika.</p></div>
          <div class="rk-rv-card"><h3>Bilans</h3><p>Niezgodność nawiewu i wywiewu ogranicza część strumienia objętą odzyskiem.</p></div>
          <div class="rk-rv-card"><h3>Szronienie</h3><p>Strategia ochrony może okresowo zmieniać strumień lub zużycie energii.</p></div>
          <div class="rk-rv-card"><h3>Filtry</h3><p>Rosnący opór zmienia warunki pracy i może zwiększyć pobór wentylatorów.</p></div>
        </div>
        <p>Unijne zasady ekoprojektu definiują między innymi temperaturową sprawność odzysku i warunki jej pomiaru. Dlatego do obliczeń używaj danych dla konkretnego punktu, a nie samego hasła „do 95%”.</p>
      </section>

      <section id="rk-rv-bilans" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Powietrze musi się zgadzać</div>
        <h2>Nawiew, wywiew, szczelność i infiltracja</h2>
        <p>W idealnym modelu strumień nawiewany i usuwany są zbliżone. W budynku występują jednak nieszczelności, okresowe podciśnienie lub nadciśnienie, otwieranie drzwi oraz urządzenia wyrzucające powietrze poza centralą. Powietrze brakujące do bilansu napływa przez obudowę albo inne otwory — bez odzysku w wymienniku.</p>
        <div class="rk-rv-callout rk-rv-callout-danger"><strong>Szczelność budynku nie oznacza braku wentylacji.</strong> Oznacza, że wymiana odbywa się kontrolowaną drogą, a nie przez przypadkowe szczeliny. Dopiero wtedy łatwiej utrzymać projektowe przepływy i wykorzystać odzysk ciepła.</div>
        <p>Kubatura i umowna liczba wymian mogą pomóc w kontroli wyniku, ale projekt powinien wynikać z potrzeb pomieszczeń i wymagań higienicznych. Uniwersalne „0,5 wymiany na godzinę” nie zastępuje bilansu nawiewu i wywiewu.</p>
      </section>

      <section id="rk-rv-podlogowka" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Wpływ pośredni</div>
        <h2>Jak rekuperacja wpływa na wymaganą moc podłogówki?</h2>
        <p>Jeżeli OZC wykaże mniejszą stratę wentylacyjną, maleje suma mocy do dostarczenia. Nie oznacza to jednak, że odzyskaną moc można równo podzielić przez metry kwadratowe całego domu i z takiej średniej dobrać każde pomieszczenie.</p>
        <div class="rk-rv-grid-3">
          <div class="rk-rv-card"><h3>Salon</h3><p>Duże przeszklenia i mała powierzchnia czynna mogą nadal tworzyć wymagający przypadek.</p></div>
          <div class="rk-rv-card"><h3>Łazienka</h3><p>Wyższa temperatura obliczeniowa i zabudowa ograniczająca podłogę zmieniają wynik.</p></div>
          <div class="rk-rv-card"><h3>Sypialnia</h3><p>Inna temperatura zadana, nawiew i udział przegród dają inne obciążenie niż średnia domu.</p></div>
        </div>
        <p>To jeden z powodów, dla których warto sprawdzić, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">czy do ogrzewania podłogowego potrzebny jest projekt</a>, zamiast dobierać pętle z powierzchni całkowitej.</p>
      </section>

      <section id="rk-rv-rozstaw" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Brak automatycznej reguły</div>
        <h2>Jaki rozstaw rur podłogówki przy rekuperacji?</h2>
        <p><strong>Rekuperacja nie narzuca rozstawu 10, 15 ani 20 cm.</strong> Rozstaw dobiera się do wymaganej mocy jednostkowej pomieszczenia, czynnej powierzchni, temperatury wody, konstrukcji podłogi, oporu okładziny i ograniczeń temperatury powierzchni.</p>
        <div class="rk-rv-formula">q<sub>wym</sub> = Q̇<sub>pomieszczenia</sub> ÷ A<sub>czynna</sub></div>
        <p>Dopiero po obliczeniu <em>q<sub>wym</sub></em> można porównać <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 i 15 cm</a>. Gdy źródłem jest pompa ciepła, pomocne jest osobne opracowanie o <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstawie podłogówki przy pompie ciepła</a>.</p>
      </section>

      <section id="rk-rv-zasilanie" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Wynik, nie założenie</div>
        <h2>Temperatura zasilania podłogówki przy rekuperacji</h2>
        <p>Mniejsze obciążenie może pozwolić uzyskać wymaganą moc przy niższej średniej temperaturze wody, ale trzeba to sprawdzić na charakterystyce konkretnej konstrukcji podłogi. Nie ma jednej temperatury „dla domu z rekuperacją”.</p>
        <ul class="rk-rv-list-check">
          <li>Najpierw oblicz moc każdego pomieszczenia po uwzględnieniu wentylacji.</li>
          <li>Określ czynną powierzchnię, rozstaw, jastrych i opór okładziny.</li>
          <li>Sprawdź temperaturę powierzchni oraz wymagany przepływ.</li>
          <li>Dopiero potem ustal wspólną temperaturę zasilania i krzywą grzewczą.</li>
        </ul>
        <p>Granice i zależności wyjaśnia artykuł o <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperaturze zasilania podłogówki</a>. Późniejszą pracę źródła porządkuje prawidłowo ustawiona <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza</a>.</p>
      </section>

      <section id="rk-rv-pompa-ciepla" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Popularny zestaw trzech instalacji</div>
        <h2>Rekuperacja, pompa ciepła i podłogówka</h2>
        <p>To logiczne połączenie w budynku o niewielkich stratach: rekuperacja ogranicza część obciążenia wentylacyjnego, pompa ciepła wytwarza energię, a podłogówka może pracować z niską temperaturą wody. Każdy element trzeba jednak dobrać osobno do wspólnych danych budynku.</p>
        <div class="rk-rv-grid-3">
          <div class="rk-rv-card rk-rv-card-accent"><h3>Rekuperacja</h3><p>Bilans powietrza, spręż dyspozycyjny, odzysk, akustyka i pobór wentylatorów.</p></div>
          <div class="rk-rv-card rk-rv-card-warm"><h3>Pompa ciepła</h3><p>Moc i modulacja przy temperaturze obliczeniowej, defrost, punkt biwalentny i parametry wody.</p></div>
          <div class="rk-rv-card rk-rv-card-green"><h3>Podłogówka</h3><p>Moc pomieszczeń, powierzchnie czynne, pętle, przepływy i opory hydrauliczne.</p></div>
        </div>
        <p>Zacznij od poznania zasad działania <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>, następnie sprawdź, <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">czy pompa ciepła ogrzeje konkretny dom z podłogówką</a>. Cały proces projektowy opisuje poradnik <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>.</p>
      </section>

      <section id="rk-rv-koszty" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Pełny koszt użytkowania</div>
        <h2>Ile kosztuje praca rekuperacji z ogrzewaniem podłogowym?</h2>
        <p>Rachunek nie sprowadza się do odzyskanej energii. Trzeba zestawić wartość unikniętego zużycia ciepła z energią elektryczną wentylatorów, filtrami, czyszczeniem, przeglądami oraz ewentualnymi naprawami. W nowym domu osobno porównuje się także koszt inwestycyjny różnych sposobów wentylacji.</p>
        <div class="rk-rv-grid-4">
          <div class="rk-rv-card rk-rv-card-green"><h3>Energia odzyskana</h3><p>Jej wartość zależy od źródła ciepła, jego sprawności lub COP oraz ceny energii.</p></div>
          <div class="rk-rv-card rk-rv-card-accent"><h3>Wentylatory</h3><p>Pobór zależy od przepływu, oporów instalacji, zabrudzenia filtrów i sprawności napędów.</p></div>
          <div class="rk-rv-card rk-rv-card-warm"><h3>Materiały eksploatacyjne</h3><p>Częstotliwość wymiany filtrów zależy między innymi od otoczenia i intensywności pracy.</p></div>
          <div class="rk-rv-card"><h3>Serwis</h3><p>Dostęp do centrali, czyszczenie, odpływ kondensatu i kontrola przepływów mają realny koszt.</p></div>
        </div>
        <div class="rk-rv-callout"><strong>Moc wentylatorów nie jest prostym „ujemnym obciążeniem cieplnym”.</strong> Część energii może ostatecznie trafić do strumienia powietrza, ale sposób jej uwzględnienia zależy od położenia wentylatorów i metody obliczeń. W analizatorze pokazujemy ją osobno.</div>
        <p>Na całkowity rachunek wpływa również to, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">czy ogrzewanie podłogowe jest energooszczędne w konkretnym budynku</a>, a nie sama nazwa zastosowanych instalacji.</p>
      </section>

      <section id="rk-rv-zwrot" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Bez obiecywania jednej liczby</div>
        <h2>Jak policzyć okres zwrotu rekuperacji?</h2>
        <p>Prosty okres zwrotu można policzyć dopiero po ustaleniu porównywalnych wariantów kosztowych. Dla modernizacji będzie to zwykle koszt wykonania rekuperacji pomniejszony o koszty elementów wentylacji, których dzięki niej nie trzeba wykonać. W nowym budynku baza porównawcza może wyglądać inaczej.</p>
        <ol class="rk-rv-steps">
          <li><strong>Zdefiniuj wariant bazowy.</strong> Opisz sposób wentylacji, jakość powietrza i wymagane prace budowlane bez rekuperacji.</li>
          <li><strong>Policz energię w obu wariantach.</strong> Użyj danych pogodowych i zmiennego obciążenia, a nie jednego mroźnego punktu.</li>
          <li><strong>Przelicz energię na koszt.</strong> Uwzględnij źródło ciepła, sprawność, taryfę oraz ceny w przyjętym scenariuszu.</li>
          <li><strong>Dodaj koszty własne rekuperacji.</strong> Energia wentylatorów, filtry, przeglądy i odtworzenie elementów.</li>
          <li><strong>Wykonaj analizę wrażliwości.</strong> Sprawdź kilka cen energii, sprawności, przepływów i kosztów serwisu.</li>
        </ol>
        <div class="rk-rv-formula">prosty okres zwrotu = dodatkowy nakład inwestycyjny ÷ roczna korzyść netto</div>
        <p>To dopiero metoda uproszczona — nie uwzględnia wartości pieniądza w czasie ani wymiany urządzeń. Podobne pułapki opisuje analiza <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">zwrotu z inwestycji w ogrzewanie podłogowe</a>.</p>
      </section>

      <section id="rk-rv-wilgotnosc" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Komfort nie wynika z jednego urządzenia</div>
        <h2>Rekuperacja, podłogówka i wilgotność powietrza</h2>
        <p>Zimą powietrze zewnętrzne po ogrzaniu ma niską wilgotność względną. Wentylacja usuwa wilgoć produkowaną w domu, więc zbyt duży strumień w stosunku do emisji wilgoci może sprzyjać przesuszeniu. Podłogówka nie usuwa pary wodnej z budynku — podnosi temperaturę powietrza i powierzchni, co zmienia wilgotność względną.</p>
        <div class="rk-rv-grid-3">
          <div class="rk-rv-card"><h3>Źródła wilgoci</h3><p>Liczba mieszkańców, kąpiele, gotowanie, pranie, rośliny i wilgoć technologiczna.</p></div>
          <div class="rk-rv-card"><h3>Strumień wentylacji</h3><p>Powinien zapewniać jakość powietrza, ale nie być bez potrzeby utrzymywany na najwyższym biegu.</p></div>
          <div class="rk-rv-card"><h3>Temperatura</h3><p>Ta sama zawartość wilgoci daje inną wilgotność względną przy innej temperaturze powietrza.</p></div>
        </div>
        <p>Osobno omawiam <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/">wpływ podłogówki na wilgotność</a> oraz pytanie, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">czy ogrzewanie podłogowe wysusza powietrze</a>.</p>
        <div class="rk-rv-callout rk-rv-callout-warn"><strong>Nie obiecuj stałych 40–50% wilgotności.</strong> Wynik zależy od pogody, emisji wilgoci, strumienia powietrza, szczelności i ewentualnego odzysku wilgoci.</div>
      </section>

      <section id="rk-rv-wymiennik" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Ciepło jawne i część wilgoci</div>
        <h2>Wymiennik standardowy czy entalpiczny?</h2>
        <p>Standardowy wymiennik odzyskuje przede wszystkim ciepło jawne. Wymiennik entalpiczny może w określonych warunkach przekazywać także część wilgoci między strumieniami. Nie oznacza to automatycznego utrzymania zadanej wilgotności ani braku potrzeby kontroli wentylacji.</p>
        <div class="rk-rv-table-wrap">
          <table class="rk-rv-table">
            <thead><tr><th>Cecha</th><th>Wymiennik standardowy</th><th>Wymiennik entalpiczny</th></tr></thead>
            <tbody>
              <tr><td data-label="Cecha"><strong>Odzysk temperatury</strong></td><td data-label="Standardowy">Tak, zależnie od konstrukcji i punktu pracy.</td><td data-label="Entalpiczny">Tak, również zależnie od warunków i punktu pracy.</td></tr>
              <tr><td data-label="Cecha"><strong>Transfer wilgoci</strong></td><td data-label="Standardowy">Zwykle nie jest jego podstawową funkcją.</td><td data-label="Entalpiczny">Możliwy częściowy transfer pary wodnej.</td></tr>
              <tr><td data-label="Cecha"><strong>Dobór</strong></td><td data-label="Standardowy">Klimat, przepływy, odszranianie, kondensat i serwis.</td><td data-label="Entalpiczny">Dodatkowo oczekiwany bilans wilgoci i wymagania producenta urządzenia.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Jeżeli instalacja ma również chłodzić przez podłogę, wilgotność trzeba analizować razem z <a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/">punktem rosy i ryzykiem kondensacji</a>.</p>
      </section>

      <section id="rk-rv-okna" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Przepływy poza centralą</div>
        <h2>Czy przy rekuperacji można otwierać okna? Co z okapem i kominkiem?</h2>
        <h3>Co okresowo zmienia bilans przepływów?</h3>
        <h4>Otwieranie okien</h4>
        <p>Można otwierać okna. W tym czasie część wymiany powietrza odbywa się poza wymiennikiem, dlatego odzysk ciepła spada, a centrala nie kontroluje całego przepływu. Krótkie otwarcie okna nie „psuje” instalacji, lecz długotrwałe rozszczelnienie zwiększa straty.</p>
        <h4>Okap kuchenny</h4>
        <p>Okap wyrzucający powietrze bezpośrednio na zewnątrz może wytworzyć znaczne podciśnienie. Trzeba przewidzieć drogę powietrza kompensacyjnego i nie włączać jego dużego przepływu do standardowego bilansu centrali bez sprawdzenia.</p>
        <h4>Kominek i urządzenia spalające paliwo</h4>
        <p>Wymagają doprowadzenia powietrza do spalania oraz weryfikacji bezpieczeństwa i warunków ciągu. Nie wolno zakładać, że sama regulacja rekuperatora rozwiąże każdy przypadek podciśnienia.</p>
        <p>Pomieszczenia z dużymi oknami nadal trzeba obliczać lokalnie. Rekuperacja nie usuwa potrzeby analizy <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">podłogówki przy dużych przeszkleniach</a>.</p>
      </section>

      <section id="rk-rv-zima" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Tryby poza punktem katalogowym</div>
        <h2>Mróz, kondensat, odszranianie i bypass</h2>
        <p>W niskiej temperaturze w wymienniku może wykraplać się wilgoć, a w określonych warunkach powstawać szron. Centrala musi chronić wymiennik, na przykład zmieniając przepływy, uruchamiając nagrzewnicę lub realizując sekwencję odszraniania. Każda strategia może zmienić chwilowy odzysk i pobór energii.</p>
        <div class="rk-rv-grid-2">
          <div class="rk-rv-card rk-rv-card-warm"><h3>Zimą</h3><ul class="rk-rv-list-check"><li>sprawdź drożność odpływu kondensatu,</li><li>poznaj logikę ochrony przeciwzamrożeniowej,</li><li>kontroluj opory filtrów i bilans przepływów.</li></ul></div>
          <div class="rk-rv-card rk-rv-card-accent"><h3>Latem i w okresach przejściowych</h3><ul class="rk-rv-list-check"><li>bypass może omijać odzysk temperatury,</li><li>nocne chłodzenie zależy od temperatur i przepływu,</li><li>rekuperator nie zastępuje aktywnej klimatyzacji.</li></ul></div>
        </div>
        <div class="rk-rv-callout"><strong>Wartość odzysku z etykiety nie opisuje wszystkich trybów centrali.</strong> Do analizy sezonowej potrzebny jest przebieg pracy, dane klimatyczne i sposób sterowania.</div>
      </section>

      <section id="rk-rv-uruchomienie" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Projekt trzeba potwierdzić pomiarem</div>
        <h2>Uruchomienie rekuperacji i regulacja podłogówki</h2>
        <p>Dobrze zaprojektowane instalacje mogą działać słabo, jeśli nie zostaną uruchomione i zrównoważone. Po stronie wentylacji potrzebny jest pomiar nawiewów i wywiewów. Po stronie ogrzewania — odpowietrzenie, ustawienie przepływów i sprawdzenie pracy źródła przy rzeczywistym obciążeniu.</p>
        <div class="rk-rv-table-wrap">
          <table class="rk-rv-table">
            <thead><tr><th>Instalacja</th><th>Co mierzyć lub sprawdzać?</th><th>Dokument końcowy</th></tr></thead>
            <tbody>
              <tr><td data-label="Instalacja"><strong>Rekuperacja</strong></td><td data-label="Kontrola">Strumienie na nawiewnikach i wywiewnikach, spręż, hałas, sterowanie, kondensat.</td><td data-label="Dokument">Protokół uruchomienia i regulacji przepływów.</td></tr>
              <tr><td data-label="Instalacja"><strong>Podłogówka</strong></td><td data-label="Kontrola">Przepływy pętli, ciśnienie, odpowietrzenie, temperatury zasilania i powrotu, działanie automatyki.</td><td data-label="Dokument">Nastawy rozdzielaczy i parametry uruchomienia.</td></tr>
              <tr><td data-label="Instalacja"><strong>Cały budynek</strong></td><td data-label="Kontrola">Temperatury pomieszczeń, reakcja na pogodę, rzeczywiste harmonogramy i zużycie energii.</td><td data-label="Dokument">Korekty eksploatacyjne bez zmiany założeń bezpieczeństwa.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Po stronie wodnej przepływy odczytuje się na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach rozdzielacza</a>, a wymagany spręż zapewnia prawidłowo dobrana <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a>.</p>
      </section>

      <section id="rk-rv-bledy" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Mity, które zmieniają decyzje</div>
        <h2>Najczęstsze błędy przy łączeniu rekuperacji i podłogówki</h2>
        <div class="rk-rv-grid-2">
          <div class="rk-rv-card rk-rv-card-warm"><h3>Błędy obliczeniowe</h3><ul class="rk-rv-list-cross"><li>pomnożenie mocy projektowej przez cały sezon,</li><li>pominięcie infiltracji i niezbilansowania,</li><li>użycie maksymalnej sprawności jako stałej,</li><li>przypisanie jednej oszczędności każdemu domowi.</li></ul></div>
          <div class="rk-rv-card rk-rv-card-accent"><h3>Błędy projektowe</h3><ul class="rk-rv-list-cross"><li>dobór rozstawu rur wyłącznie z faktu posiadania rekuperacji,</li><li>podział mocy domu proporcjonalnie do powierzchni pokoi,</li><li>brak koordynacji tras kanałów, rozdzielaczy i sufitów,</li><li>brak dostępu do filtrów, syfonu i elementów regulacyjnych.</li></ul></div>
        </div>
        <div class="rk-rv-callout rk-rv-callout-danger"><strong>Nie myl mocy z efektywnością.</strong> Urządzenie może dostarczyć wymaganą moc dzięki grzałce lub źródłu szczytowemu, ale nie oznacza to, że cała energia została wytworzona z wysoką sprawnością sezonową.</div>
      </section>

      <section id="rk-rv-checklista" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Przed zamówieniem i przed odbiorem</div>
        <h2>Checklista inwestora: nowy dom i modernizacja</h2>
        <div class="rk-rv-grid-2">
          <div class="rk-rv-card rk-rv-card-green">
            <h3>Nowy budynek</h3>
            <ul class="rk-rv-list-check">
              <li>ustal układ funkcjonalny i temperatury pomieszczeń,</li>
              <li>wykonaj OZC ze spójnym modelem wentylacji,</li>
              <li>zaprojektuj nawiew, wywiew i drogi transferu,</li>
              <li>oblicz podłogówkę dla każdego pomieszczenia,</li>
              <li>skoordynuj kanały, stropy, sufity i szafki rozdzielaczy,</li>
              <li>zapewnij dostęp serwisowy i odpływ kondensatu.</li>
            </ul>
          </div>
          <div class="rk-rv-card rk-rv-card-accent">
            <h3>Modernizacja</h3>
            <ul class="rk-rv-list-check">
              <li>oceń szczelność i istniejące drogi napływu powietrza,</li>
              <li>sprawdź miejsce na centralę, kanały i tłumiki,</li>
              <li>zweryfikuj kominy, okap i urządzenia spalające paliwo,</li>
              <li>przelicz nowe obciążenie oraz moc istniejącego źródła,</li>
              <li>sprawdź, czy hydraulika podłogówki pozwala na regulację,</li>
              <li>porównaj pełne koszty obu wariantów.</li>
            </ul>
          </div>
        </div>
        <p>Zakres rysunków, obliczeń i zestawień opisuję w poradniku <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">jak powinien wyglądać profesjonalny projekt ogrzewania podłogowego</a>.</p>
      </section>

      <section id="rk-rv-faq" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Pytania inwestorów</div>
        <h2>Rekuperacja i ogrzewanie podłogowe — FAQ</h2>
        <div class="rk-rv-faq">
          <details><summary>Czy rekuperacja ogrzewa dom?</summary><div class="rk-rv-faq-answer"><p>Nie zastępuje źródła ciepła. Odzyskuje część energii z powietrza usuwanego i dzięki temu ogranicza wentylacyjną część strat. Pozostałe straty musi pokryć instalacja grzewcza.</p></div></details>
          <details><summary>Czy rekuperacja obniża koszty ogrzewania?</summary><div class="rk-rv-faq-answer"><p>Może je obniżyć, ale wielkość korzyści zależy od przepływów, rzeczywistego odzysku, szczelności, klimatu, źródła ciepła i ceny energii. Od korzyści trzeba odjąć energię wentylatorów, filtry i serwis.</p></div></details>
          <details><summary>Czy rekuperacja wymaga ogrzewania podłogowego?</summary><div class="rk-rv-faq-answer"><p>Nie. Rekuperacja może współpracować z podłogówką, grzejnikami lub innym systemem ogrzewania. Łączy je bilans cieplny budynku, a nie bezpośrednie połączenie instalacyjne.</p></div></details>
          <details><summary>Czy ogrzewanie podłogowe wymaga rekuperacji?</summary><div class="rk-rv-faq-answer"><p>Nie. Podłogówka może pracować także w budynku z innym prawidłowo zaprojektowanym sposobem wentylacji. Rekuperacja może jednak zmniejszyć część obciążenia cieplnego.</p></div></details>
          <details><summary>Czy przy rekuperacji można otwierać okna?</summary><div class="rk-rv-faq-answer"><p>Tak. W czasie otwarcia okna wymiana powietrza częściowo omija wymiennik, więc odzysk spada i rosną straty. Krótkie wietrzenie nie uszkadza systemu.</p></div></details>
          <details><summary>Jaki rozstaw rur podłogówki stosuje się przy rekuperacji?</summary><div class="rk-rv-faq-answer"><p>Nie istnieje rozstaw przypisany do rekuperacji. Dobiera się go z mocy pomieszczenia, powierzchni czynnej, temperatury wody, konstrukcji podłogi i oporu okładziny.</p></div></details>
          <details><summary>Czy rekuperacja automatycznie obniża temperaturę zasilania podłogówki?</summary><div class="rk-rv-faq-answer"><p>Nie automatycznie. Mniejsze obciążenie może umożliwić niższą temperaturę, lecz trzeba to potwierdzić obliczeniem wydajności podłogi w każdym pomieszczeniu.</p></div></details>
          <details><summary>Czy sprawność rekuperatora 85% jest stała przez całą zimę?</summary><div class="rk-rv-faq-answer"><p>Nie. To wartość odnosząca się do określonych warunków. Rzeczywisty odzysk zmieniają przepływy, bilans, temperatury, filtry, przecieki, szronienie i strategia odszraniania.</p></div></details>
          <details><summary>Ile prądu zużywa rekuperator?</summary><div class="rk-rv-faq-answer"><p>Zużycie wynika z mocy wentylatorów i czasu pracy na poszczególnych biegach. Należy korzystać z danych konkretnej centrali dla projektowego sprężu i mierzyć zużycie w rzeczywistej instalacji.</p></div></details>
          <details><summary>Czy wymiennik entalpiczny rozwiązuje problem suchego powietrza?</summary><div class="rk-rv-faq-answer"><p>Może odzyskiwać część wilgoci, ale nie gwarantuje stałej wilgotności. Bilans nadal zależy od pogody, emisji wilgoci w domu, przepływu wentylacji i szczelności.</p></div></details>
          <details><summary>Czy dzięki rekuperacji można kupić mniejszą pompę ciepła?</summary><div class="rk-rv-faq-answer"><p>Tylko wtedy, gdy kompletne OZC wykaże niższe projektowe obciążenie. Nie odejmuje się z góry uniwersalnych 2–3 kW i nie dobiera urządzenia wyłącznie z deklarowanej sprawności centrali.</p></div></details>
          <details><summary>Czy analizator oblicza roczne oszczędności i okres zwrotu?</summary><div class="rk-rv-faq-answer"><p>Nie. Pokazuje chwilową wentylacyjną część obciążenia dla wpisanych temperatur i przepływów. Analiza roczna wymaga danych pogodowych, profilu pracy, cen energii i kosztów eksploatacyjnych.</p></div></details>
        </div>
      </section>

      <section id="rk-rv-zrodla" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Podstawa techniczna</div>
        <h2>Źródła i dokumenty wykorzystane przy aktualizacji</h2>
        <p>Linki prowadzą wyłącznie do instytucji publicznych i organizacji normalizacyjnej. Dokumenty trzeba zawsze stosować w aktualnym wydaniu i w zakresie właściwym dla danego projektu.</p>
        <ol class="rk-rv-source-list">
          <li><a href="https://eur-lex.europa.eu/legal-content/PL/TXT/HTML/?uri=CELEX%3A32014R1253" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — rozporządzenie (UE) nr 1253/2014 dotyczące urządzeń wentylacyjnych</a>: definicje odzysku ciepła, sprawności temperaturowej, przecieków i poboru mocy.</li>
          <li><a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/ecodesign-and-energy-labelling-ventilation_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — ekoprojekt i etykietowanie energetyczne urządzeń wentylacyjnych</a>.</li>
          <li><a href="https://www.gov.uk/government/publications/ventilation-approved-document-f" target="_blank" rel="nofollow noopener noreferrer">GOV.UK — Approved Document F: Ventilation</a>: wymagania dotyczące wentylacji, uruchomienia, pomiarów i przekazania informacji użytkownikowi.</li>
          <li><a href="https://isap.sejm.gov.pl/isap.nsf/download.xsp/WDU20220001225" target="_blank" rel="nofollow noopener noreferrer">ISAP — Warunki techniczne, jakim powinny odpowiadać budynki i ich usytuowanie</a>.</li>
          <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 — systemy ogrzewania i chłodzenia płaszczyznowego</a>: metody wyznaczania wydajności powierzchni grzewczych.</li>
        </ol>
        <div class="rk-rv-callout"><strong>Zakres odpowiedzialności:</strong> wzory i analizator służą do edukacyjnego porównania wariantów. Nie zastępują obliczeń wykonanych według właściwych norm, projektu wentylacji, charakterystyk urządzeń ani sprawdzenia wymagań krajowych.</div>
      </section>

      <section id="rk-rv-author" class="rk-rv-section">
        <div class="rk-rv-eyebrow">Autor i odpowiedzialność merytoryczna</div>
        <h2>O autorze opracowania</h2>
        <div class="rk-rv-author">
          <aside class="rk-rv-author-side">
            <img decoding="async" class="rk-rv-author-photo" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="300" height="300" loading="lazy">
            <h3>Robert Kucharski</h3>
            <p>Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
            <span class="rk-rv-social-label">Profile autora</span>
            <div class="rk-rv-socials" aria-label="Profile społecznościowe Roberta Kucharskiego">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="Robert Kucharski na LinkedIn">in</a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt Ogrzewania na Facebooku">f</a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Projekt HVAC w serwisie X">X</a>
            </div>
          </aside>
          <div class="rk-rv-author-main">
            <div class="rk-rv-author-quote">Rekuperacja może zmniejszyć obciążenie cieplne budynku, ale nie zwalnia projektanta z obliczenia każdego pomieszczenia, czynnej podłogi i hydrauliki pętli.</div>
            <div class="rk-rv-author-tabs" aria-label="Zakres kompetencji autora"><span>O autorze</span><span>Obliczenia cieplne</span><span>Hydraulika</span><span>Materiały edukacyjne</span></div>
            <p><strong>Robert Kucharski</strong> opracowuje projekty ogrzewania podłogowego, obliczenia cieplne i hydrauliczne oraz materiały edukacyjne dla inwestorów i wykonawców. W publikacjach rozdziela dane wejściowe, model obliczeniowy, wynik i ograniczenia — tak, aby czytelnik wiedział, co można ocenić orientacyjnie, a czego nie wolno rozstrzygać bez projektu.</p>
            <p>Artykuł został zaktualizowany pod kątem współpracy rekuperacji z instalacją grzewczą, interpretacji mocy i energii, bilansu przepływów oraz wpływu odzysku ciepła na projektowe obciążenie pomieszczeń. Autor nie przypisuje uniwersalnych oszczędności konkretnemu urządzeniu i opiera wnioski na jawnych założeniach, dokumentach technicznych oraz aktualnych wymaganiach.</p>
            <p>Wszystkie wpisy autora znajdziesz na stronie <a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski — publikacje</a>.</p>
            <div class="rk-rv-author-portals">Autor publikuje również w serwisach <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>.</div>
          </div>
        </div>
      </section>

      <aside class="rk-rv-cta" aria-label="Końcowe zaproszenie do zamówienia projektu">
        <h3>Zaprojektuj podłogówkę na podstawie rzeczywistych strat po uwzględnieniu rekuperacji</h3>
        <p>Projekt łączy obciążenie cieplne pomieszczeń z ich powierzchnią czynną, konstrukcją podłogi, rozstawem rur, długościami pętli, przepływami i nastawami rozdzielaczy. Dzięki temu instalacja nie opiera się na średniej mocy całego domu ani na założeniu, że sama rekuperacja rozwiązuje dobór ogrzewania.</p>
        <a class="rk-rv-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów indywidualny projekt ogrzewania podłogowego</a>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#article",
      "url": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/",
      "headline": "Rekuperacja i ogrzewanie podłogowe – czy to się opłaca? Koszty i obliczenia",
      "description": "Techniczne porównanie wpływu rekuperacji na straty ciepła budynku, moc ogrzewania podłogowego i koszty eksploatacji wraz z interaktywnym analizatorem bilansu.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-07",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#webpage" },
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "about": [
        "rekuperacja i ogrzewanie podłogowe",
        "odzysk ciepła z wentylacji",
        "projektowe obciążenie cieplne",
        "temperatura zasilania podłogówki",
        "koszty eksploatacji rekuperacji"
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#webpage",
      "url": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/",
      "name": "Rekuperacja i ogrzewanie podłogowe – czy to się opłaca? Koszty i obliczenia",
      "description": "Sprawdź, jak rekuperacja wpływa na straty ciepła budynku, moc podłogówki i koszty ogrzewania.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-07",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#breadcrumb" },
      "mainEntity": [
        { "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#article" },
        { "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#analyzer" },
        { "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#faq" }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt Ogrzewania",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Rekuperacja i ogrzewanie podłogowe",
          "item": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/"
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#analyzer",
      "name": "Interaktywny analizator współpracy rekuperacji z podłogówką",
      "url": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#rk-rv-analizator",
      "applicationCategory": "EducationalApplication",
      "operatingSystem": "Web",
      "inLanguage": "pl-PL",
      "description": "Narzędzie porównuje wentylacyjną część obciążenia budynku bez odzysku i z odzyskiem ciepła dla wpisanych przepływów, temperatur, sprawności i infiltracji.",
      "isAccessibleForFree": true,
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#howto",
      "name": "Jak ocenić współpracę rekuperacji z ogrzewaniem podłogowym",
      "description": "Sześć kroków do technicznej oceny wpływu odzysku ciepła na bilans i projekt podłogówki.",
      "inLanguage": "pl-PL",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Ustal warunki projektowe", "text": "Określ temperatury wewnętrzne, temperaturę zewnętrzną właściwą dla lokalizacji i geometrię budynku." },
        { "@type": "HowToStep", "position": 2, "name": "Zbilansuj wentylację", "text": "Ustal projektowe strumienie nawiewu i wywiewu dla poszczególnych pomieszczeń." },
        { "@type": "HowToStep", "position": 3, "name": "Przyjmij odzysk i infiltrację", "text": "Użyj sprawności dla właściwego punktu pracy oraz osobno uwzględnij niekontrolowany przepływ powietrza." },
        { "@type": "HowToStep", "position": 4, "name": "Wykonaj OZC pomieszczeń", "text": "Policz przenikanie, mostki, wentylację, infiltrację i właściwe zyski dla każdego pomieszczenia." },
        { "@type": "HowToStep", "position": 5, "name": "Dobierz podłogówkę", "text": "Do obciążenia pomieszczeń dobierz czynną powierzchnię, rozstaw rur, temperaturę wody, pętle i przepływy." },
        { "@type": "HowToStep", "position": 6, "name": "Uruchom i zmierz", "text": "Zmierz strumienie wentylacji, ustaw przepływy pętli i skoryguj sterowanie na podstawie rzeczywistej pracy instalacji." }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy rekuperacja ogrzewa dom?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie zastępuje źródła ciepła. Odzyskuje część energii z powietrza usuwanego i dzięki temu ogranicza wentylacyjną część strat. Pozostałe straty musi pokryć instalacja grzewcza." }
        },
        {
          "@type": "Question",
          "name": "Czy rekuperacja obniża koszty ogrzewania?",
          "acceptedAnswer": { "@type": "Answer", "text": "Może je obniżyć, ale wielkość korzyści zależy od przepływów, rzeczywistego odzysku, szczelności, klimatu, źródła ciepła i ceny energii. Od korzyści trzeba odjąć energię wentylatorów, filtry i serwis." }
        },
        {
          "@type": "Question",
          "name": "Czy rekuperacja wymaga ogrzewania podłogowego?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Rekuperacja może współpracować z podłogówką, grzejnikami lub innym systemem ogrzewania. Łączy je bilans cieplny budynku, a nie bezpośrednie połączenie instalacyjne." }
        },
        {
          "@type": "Question",
          "name": "Czy ogrzewanie podłogowe wymaga rekuperacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Podłogówka może pracować także w budynku z innym prawidłowo zaprojektowanym sposobem wentylacji. Rekuperacja może jednak zmniejszyć część obciążenia cieplnego." }
        },
        {
          "@type": "Question",
          "name": "Czy przy rekuperacji można otwierać okna?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak. W czasie otwarcia okna wymiana powietrza częściowo omija wymiennik, więc odzysk spada i rosną straty. Krótkie wietrzenie nie uszkadza systemu." }
        },
        {
          "@type": "Question",
          "name": "Jaki rozstaw rur podłogówki stosuje się przy rekuperacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie istnieje rozstaw przypisany do rekuperacji. Dobiera się go z mocy pomieszczenia, powierzchni czynnej, temperatury wody, konstrukcji podłogi i oporu okładziny." }
        },
        {
          "@type": "Question",
          "name": "Czy rekuperacja automatycznie obniża temperaturę zasilania podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie automatycznie. Mniejsze obciążenie może umożliwić niższą temperaturę, lecz trzeba to potwierdzić obliczeniem wydajności podłogi w każdym pomieszczeniu." }
        },
        {
          "@type": "Question",
          "name": "Czy sprawność rekuperatora 85% jest stała przez całą zimę?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. To wartość odnosząca się do określonych warunków. Rzeczywisty odzysk zmieniają przepływy, bilans, temperatury, filtry, przecieki, szronienie i strategia odszraniania." }
        },
        {
          "@type": "Question",
          "name": "Ile prądu zużywa rekuperator?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zużycie wynika z mocy wentylatorów i czasu pracy na poszczególnych biegach. Należy korzystać z danych konkretnej centrali dla projektowego sprężu i mierzyć zużycie w rzeczywistej instalacji." }
        },
        {
          "@type": "Question",
          "name": "Czy wymiennik entalpiczny rozwiązuje problem suchego powietrza?",
          "acceptedAnswer": { "@type": "Answer", "text": "Może odzyskiwać część wilgoci, ale nie gwarantuje stałej wilgotności. Bilans nadal zależy od pogody, emisji wilgoci w domu, przepływu wentylacji i szczelności." }
        },
        {
          "@type": "Question",
          "name": "Czy dzięki rekuperacji można kupić mniejszą pompę ciepła?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tylko wtedy, gdy kompletne OZC wykaże niższe projektowe obciążenie. Nie odejmuje się z góry uniwersalnych 2–3 kW i nie dobiera urządzenia wyłącznie z deklarowanej sprawności centrali." }
        },
        {
          "@type": "Question",
          "name": "Czy analizator oblicza roczne oszczędności i okres zwrotu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Pokazuje chwilową wentylacyjną część obciążenia dla wpisanych temperatur i przepływów. Analiza roczna wymaga danych pogodowych, profilu pracy, cen energii i kosztów eksploatacyjnych." }
        }
      ]
    },
    {
      "@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" },
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "obliczenia cieplne",
        "hydraulika instalacji grzewczych",
        "wentylacja mechaniczna z odzyskiem ciepła",
        "dobór pomp ciepła"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.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" }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/"
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/"
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" }
    }
  ]
}
</script>

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

    function startRekuAnalyzer() {
      var root = document.getElementById("rk-rv-analyzer-tool");
      if (!root) { return; }

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

      function numberValue(id, fallback) {
        var field = element(id);
        if (!field) { return fallback; }
        var parsed = parseFloat(String(field.value).replace(",", "."));
        if (!Number.isFinite(parsed)) { return fallback; }
        return parsed;
      }

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

      function setText(id, value) {
        var target = element(id);
        if (target) { target.textContent = value; }
      }

      function formatNumber(value, digits) {
        return value.toLocaleString("pl-PL", {
          minimumFractionDigits: digits,
          maximumFractionDigits: digits
        });
      }

      function formatKw(value) {
        return formatNumber(value, 2) + " kW";
      }

      function clearDiagnostics(container) {
        while (container.firstChild) {
          container.removeChild(container.firstChild);
        }
      }

      function addDiagnostic(container, message, warning) {
        var box = document.createElement("div");
        box.className = "rk-rv-diagnostic";
        if (warning) { box.className += " rk-rv-diagnostic-warn"; }
        box.textContent = message;
        container.appendChild(box);
      }

      function drawChart(data) {
        var left = 70;
        var right = 780;
        var top = 30;
        var bottom = 300;
        var xMin = Math.min(-25, data.outdoor - 3);
        var xMax = 10;
        var deltaRange = xMax - xMin;
        if (deltaRange <= 0) { deltaRange = 1; }

        var maxDelta = Math.max(0, data.indoor - xMin);
        var maximumNoRecovery = 0.34 * (data.baseFlow + data.infiltration) * maxDelta / 1000;
        var remainingFlow = data.baseFlow - data.balancedFlow * data.efficiency;
        var maximumWithRecovery = 0.34 * (remainingFlow + data.infiltration) * maxDelta / 1000;
        var rawMaximum = Math.max(maximumNoRecovery, maximumWithRecovery, 0.5) * 1.12;
        var yMaximum = Math.ceil(rawMaximum * 2) / 2;

        function xPosition(temperature) {
          return left + (temperature - xMin) / deltaRange * (right - left);
        }

        function yPosition(load) {
          return bottom - load / yMaximum * (bottom - top);
        }

        function coordinate(value) {
          return value.toFixed(1);
        }

        var noRecoveryPoints = [];
        var recoveryPoints = [];
        var pointCount = 30;
        var index;
        for (index = 0; index <= pointCount; index += 1) {
          var temperature = xMin + deltaRange * index / pointCount;
          var deltaTemperature = Math.max(0, data.indoor - temperature);
          var noRecovery = 0.34 * (data.baseFlow + data.infiltration) * deltaTemperature / 1000;
          var withRecovery = 0.34 * (remainingFlow + data.infiltration) * deltaTemperature / 1000;
          noRecoveryPoints.push(coordinate(xPosition(temperature)) + "," + coordinate(yPosition(noRecovery)));
          recoveryPoints.push(coordinate(xPosition(temperature)) + "," + coordinate(yPosition(withRecovery)));
        }

        var noLine = element("rk-rv-line-no");
        var recoveryLine = element("rk-rv-line-hr");
        if (noLine) { noLine.setAttribute("points", noRecoveryPoints.join(" ")); }
        if (recoveryLine) { recoveryLine.setAttribute("points", recoveryPoints.join(" ")); }

        var markerX = clamp(xPosition(data.outdoor), left, right);
        var marker = element("rk-rv-design-marker");
        if (marker) {
          marker.setAttribute("x1", coordinate(markerX));
          marker.setAttribute("x2", coordinate(markerX));
        }

        var markerLabel = element("rk-rv-design-label");
        if (markerLabel) {
          markerLabel.textContent = "punkt " + formatNumber(data.outdoor, 1) + "°C";
          if (markerX > 650) {
            markerLabel.setAttribute("x", coordinate(markerX - 7));
            markerLabel.setAttribute("text-anchor", "end");
          } else {
            markerLabel.setAttribute("x", coordinate(markerX + 7));
            markerLabel.setAttribute("text-anchor", "start");
          }
        }

        setText("rk-rv-x0", formatNumber(xMin, 1) + "°C");
        setText("rk-rv-x1", formatNumber((xMin + xMax) / 2, 1) + "°C");
        setText("rk-rv-x2", formatNumber(xMax, 0) + "°C");
        setText("rk-rv-y1", formatNumber(yMaximum * 0.25, 1));
        setText("rk-rv-y2", formatNumber(yMaximum * 0.5, 1));
        setText("rk-rv-y3", formatNumber(yMaximum * 0.75, 1));
        setText("rk-rv-y4", formatNumber(yMaximum, 1));

        var description = element("rk-rv-chart-desc");
        if (description) {
          var noRecoveryTotal = data.qNo + 0.34 * data.infiltration * (data.indoor - data.outdoor) / 1000;
          description.textContent = "Przy temperaturze " + formatNumber(data.outdoor, 1) + " stopnia Celsjusza obciążenie bez odzysku wraz z podaną infiltracją wynosi " + formatNumber(noRecoveryTotal, 2) + " kilowata, a po uwzględnieniu odzysku " + formatNumber(data.qTotal, 2) + " kilowata.";
        }
      }

      function calculate() {
        var volume = numberValue("rk-rv-volume", 405);
        var supply = numberValue("rk-rv-supply", 200);
        var extract = numberValue("rk-rv-extract", 200);
        var indoor = numberValue("rk-rv-indoor", 20);
        var outdoor = numberValue("rk-rv-outdoor", -20);
        var efficiencyPercent = numberValue("rk-rv-efficiency", 80);
        var infiltration = numberValue("rk-rv-infiltration", 25);
        var fanPower = numberValue("rk-rv-fan-power", 90);
        var activeArea = numberValue("rk-rv-active-area", 120);
        var sourceField = element("rk-rv-source");
        var qualityField = element("rk-rv-commissioned");
        var modeField = element("rk-rv-mode");
        var source = sourceField ? sourceField.value : "heatpump";
        var quality = qualityField ? qualityField.value : "design";
        var mode = modeField ? modeField.value : "design";

        var invalid = false;
        if (volume <= 0) { invalid = true; }
        if (supply <= 0) { invalid = true; }
        if (extract <= 0) { invalid = true; }
        if (activeArea <= 0) { invalid = true; }
        if (indoor <= outdoor) { invalid = true; }

        var diagnostics = element("rk-rv-diagnostics");
        if (!diagnostics) { return; }
        clearDiagnostics(diagnostics);

        if (invalid) {
          setText("rk-rv-q-no", "—");
          setText("rk-rv-q-recovered", "—");
          setText("rk-rv-q-remain", "—");
          setText("rk-rv-q-infiltration", "—");
          setText("rk-rv-q-total", "—");
          setText("rk-rv-q-area", "—");
          setText("rk-rv-balance-output", "—");
          setText("rk-rv-fan-output", "—");
          setText("rk-rv-verdict-title", "Uzupełnij prawidłowe dane wejściowe");
          setText("rk-rv-verdict-text", "Przepływy, kubatura i powierzchnia muszą być większe od zera, a temperatura wewnętrzna wyższa od zewnętrznej.");
          addDiagnostic(diagnostics, "Obliczenie zostało zatrzymane, aby nie pokazywać pozornie precyzyjnego wyniku z błędnych danych.", true);
          return;
        }

        var efficiency = clamp(efficiencyPercent, 0, 95) / 100;
        var cleanInfiltration = Math.max(0, infiltration);
        var cleanFanPower = Math.max(0, fanPower);
        var deltaTemperature = indoor - outdoor;
        var baseFlow = Math.max(supply, extract);
        var balancedFlow = Math.min(supply, extract);
        var imbalancePercent = Math.abs(supply - extract) / baseFlow * 100;
        var qNo = 0.34 * baseFlow * deltaTemperature / 1000;
        var qRecovered = 0.34 * balancedFlow * deltaTemperature * efficiency / 1000;
        var qRemain = Math.max(0, qNo - qRecovered);
        var qInfiltration = 0.34 * cleanInfiltration * deltaTemperature / 1000;
        var qTotal = qRemain + qInfiltration;
        var qArea = qRecovered * 1000 / activeArea;
        var airChange = baseFlow / volume;

        setText("rk-rv-q-no", formatKw(qNo));
        setText("rk-rv-q-recovered", formatKw(qRecovered));
        setText("rk-rv-q-remain", formatKw(qRemain));
        setText("rk-rv-q-infiltration", formatKw(qInfiltration));
        setText("rk-rv-q-total", formatKw(qTotal));
        setText("rk-rv-q-area", formatNumber(qArea, 1) + " W/m²");
        setText("rk-rv-fan-output", formatNumber(cleanFanPower, 0) + " W");
        setText("rk-rv-balance-output", formatNumber(imbalancePercent, 1) + "%");

        if (quality === "measured") {
          setText("rk-rv-verdict-title", "Dane wystarczające do modelu orientacyjnego");
          setText("rk-rv-verdict-text", "Przepływy pochodzą z pomiarów, więc porównanie ma lepszą podstawę. Nadal nie jest to pełne OZC ani analiza rocznych kosztów.");
        } else if (quality === "unknown") {
          setText("rk-rv-verdict-title", "Najpierw potwierdź przepływy wentylacji");
          setText("rk-rv-verdict-text", "Wartości szacunkowe pokazują jedynie skalę zjawiska. Pomiar nawiewu i wywiewu może istotnie zmienić wynik.");
        } else {
          setText("rk-rv-verdict-title", "Wynik warunkowy — dane nadają się do porównania");
          setText("rk-rv-verdict-text", "Dane projektowe pozwalają ocenić kierunek zmiany. Przed regulacją podłogówki warto potwierdzić rzeczywiste strumienie po uruchomieniu centrali.");
        }

        if (imbalancePercent > 10) {
          setText("rk-rv-verdict-title", "Wynik wymaga sprawdzenia bilansu nawiewu i wywiewu");
          setText("rk-rv-verdict-text", "Różnica przepływów przekracza 10%. Część powietrza może przemieszczać się przez nieszczelności lub inne drogi poza wymiennikiem.");
          addDiagnostic(diagnostics, "Nawiew i wywiew różnią się o " + formatNumber(imbalancePercent, 1) + "%. Sprawdź projekt, nastawy i protokół pomiarowy.", true);
        } else {
          addDiagnostic(diagnostics, "Bilans nawiewu i wywiewu jest zbliżony: różnica wynosi " + formatNumber(imbalancePercent, 1) + "%.", false);
        }

        addDiagnostic(diagnostics, "Większy strumień odpowiada orientacyjnie " + formatNumber(airChange, 2) + " wymiany kubatury na godzinę. To kontrola, nie kryterium projektowe.", false);

        if (efficiencyPercent > 85) {
          addDiagnostic(diagnostics, "Wpisano wysoką sprawność " + formatNumber(efficiencyPercent, 0) + "%. Potwierdź ją dla konkretnego przepływu, temperatury i trybu odszraniania.", true);
        } else {
          addDiagnostic(diagnostics, "Sprawność " + formatNumber(efficiencyPercent, 0) + "% jest założeniem dla wybranego punktu, a nie gwarancją całoroczną.", true);
        }

        if (cleanInfiltration > 0) {
          addDiagnostic(diagnostics, "Dodatkowa infiltracja zwiększa wynik o " + formatNumber(qInfiltration, 2) + " kW i nie korzysta z odzysku w wymienniku.", true);
        }

        if (source === "heatpump") {
          addDiagnostic(diagnostics, "Dla pompy ciepła mniejsze obciążenie może zmienić dobór mocy, ale nie wolno odejmować odzyskanej mocy od urządzenia bez pełnego OZC i sprawdzenia punktu biwalentnego.", false);
        } else if (source === "gas") {
          addDiagnostic(diagnostics, "Dla kotła koszt unikniętej energii zależy od jego sprawności sezonowej, ceny paliwa i opłat — sama moc w kW nie jest oszczędnością w złotych.", false);
        } else if (source === "electric") {
          addDiagnostic(diagnostics, "Dla ogrzewania elektrycznego koszt zależy od taryfy i godzin pracy. Do wyniku trzeba doliczyć energię wentylatorów.", false);
        } else {
          addDiagnostic(diagnostics, "Wartość odzyskanej energii trzeba przeliczyć z użyciem sprawności i ceny właściwych dla konkretnego źródła ciepła.", false);
        }

        if (mode === "comparison") {
          addDiagnostic(diagnostics, "Tryb porównawczy pokazuje różnicę wariantów w tym samym punkcie. Nie przelicza jej na sezonowe kWh.", false);
        }

        drawChart({
          outdoor: outdoor,
          indoor: indoor,
          baseFlow: baseFlow,
          balancedFlow: balancedFlow,
          efficiency: efficiency,
          infiltration: cleanInfiltration,
          qNo: qNo,
          qTotal: qTotal
        });
      }

      var runButton = element("rk-rv-run");
      if (runButton) { runButton.addEventListener("click", calculate); }

      var fields = root.querySelectorAll("input, select");
      Array.prototype.forEach.call(fields, function (field) {
        field.addEventListener("change", calculate);
        field.addEventListener("input", calculate);
      });

      calculate();
    }

    if (document.readyState === "loading") {
      document.addEventListener("DOMContentLoaded", startRekuAnalyzer);
    } else {
      startRekuAnalyzer();
    }
  }());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">Rekuperacja i ogrzewanie podłogowe – czy to się opłaca?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
