{"product_id":"dachrinnenhalter-standard","title":"Dachrinnenhalter standard","description":"\u003ch1\u003eDachrinnenhalter verzinkt – sichere Befestigung für halbrunde Zinkdachrinnen\u003c\/h1\u003e\n\u003cp\u003eDer \u003cstrong\u003everzinkte Dachrinnenhalter mit zwei Befestigungsfedern\u003c\/strong\u003e ist die bewährte und robuste Lösung zur sicheren Montage von \u003cstrong\u003ehalbrunden Zinkdachrinnen an der Dachtraufe\u003c\/strong\u003e. Die stabile Ausführung sorgt für einen zuverlässigen Halt der Regenrinne und eignet sich ideal für Neubau, Sanierung, Reparatur und die Erneuerung bestehender Dachentwässerungen.\u003c\/p\u003e\n\u003cp\u003eDank der \u003cstrong\u003ezwei integrierten Befestigungsfedern\u003c\/strong\u003e wird die Dachrinne sicher im Rinnenhalter fixiert. So entsteht eine stabile Befestigung, die gleichzeitig eine unkomplizierte Montage der Dachrinne ermöglicht.\u003c\/p\u003e\n\u003ch2\u003eKlassischer Rinnenhalter für Zinkdachrinnen\u003c\/h2\u003e\n\u003cp\u003eDer klassische Dachrinnenhalter gehört zu den wichtigsten Komponenten einer funktionierenden Dachentwässerung.\u003c\/p\u003e\n\u003cp\u003eEr trägt das Gewicht der Dachrinne und sorgt dafür, dass diese dauerhaft in der vorgesehenen Position an der Dachtraufe gehalten wird.\u003c\/p\u003e\n\u003cp\u003eDer Halter eignet sich für \u003cstrong\u003ehalbrunde Dachrinnen aus Titanzink\u003c\/strong\u003e und lässt sich mit den passenden Rinnengrößen unseres Dachrinnensystems kombinieren.\u003c\/p\u003e\n\u003ch2\u003eZwei Befestigungsfedern für sicheren Halt\u003c\/h2\u003e\n\u003cp\u003eDer Dachrinnenhalter verfügt über \u003cstrong\u003ezwei Befestigungsfedern\u003c\/strong\u003e, mit denen die eingesetzte Dachrinne sicher im Halter fixiert wird.\u003c\/p\u003e\n\u003cp\u003eNach dem Einsetzen der Dachrinne wird diese über die Federn im Halter gehalten.\u003c\/p\u003e\n\u003cp\u003eDas ermöglicht eine stabile und zugleich montagefreundliche Befestigung der Zinkdachrinne.\u003c\/p\u003e\n\u003ch2\u003eEmpfohlener Abstand der Dachrinnenhalter: ca. 67 cm\u003c\/h2\u003e\n\u003cp\u003eDamit die Dachrinne zuverlässig getragen wird, sollten die Rinnenhalter in gleichmäßigen Abständen entlang der Dachtraufe montiert werden.\u003c\/p\u003e\n\u003cp\u003eFür dieses System empfehlen wir einen \u003cstrong\u003eAbstand von ca. 67 cm zwischen den einzelnen Dachrinnenhaltern\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eAls einfache Orientierung ergibt sich daraus:\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 Meter Dachrinne → ca. 1,5 Rinnenhalter\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eBei der Planung sollte zusätzlich darauf geachtet werden, dass die Dachrinne an relevanten Stellen ausreichend abgestützt wird.\u003c\/p\u003e\n\u003ch2\u003eDachrinne mit Gefälle montieren\u003c\/h2\u003e\n\u003cp\u003eDie Rinnenhalter bestimmen nicht nur die Position der Dachrinne, sondern ermöglichen auch die Ausrichtung des benötigten Gefälles.\u003c\/p\u003e\n\u003cp\u003eDie einzelnen Halter werden dafür entlang der Dachtraufe so positioniert, dass die Dachrinne ein gleichmäßiges Gefälle in Richtung des Rinnenablaufs erhält.\u003c\/p\u003e\n\u003cp\u003eDadurch kann das gesammelte Regenwasser zuverlässig zum \u003cstrong\u003eRinnenstutzen und anschließend in das Fallrohr\u003c\/strong\u003eabfließen.\u003c\/p\u003e\n\u003cp\u003eEine sorgfältige Ausrichtung der Dachrinnenhalter bildet deshalb die Grundlage für eine funktionierende Dachentwässerung.\u003c\/p\u003e\n\u003ch2\u003eVorteile des verzinkten Dachrinnenhalters\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Robuste verzinkte Ausführung\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Für halbrunde Zink- und Titanzink-Dachrinnen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Zwei Befestigungsfedern für sicheren Halt\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Bewährte klassische Bauform\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Einfache und zuverlässige Montage\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Ideal für Neubau und Sanierung\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Auch für Reparaturen bestehender Dachrinnen geeignet\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Empfohlener Halterabstand ca. 67 cm\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch2\u003eWie viele Dachrinnenhalter benötige ich?\u003c\/h2\u003e\n\u003cp\u003eDie benötigte Anzahl hängt hauptsächlich von der Länge der Dachrinne ab.\u003c\/p\u003e\n\u003cp\u003eBei einem empfohlenen Abstand von etwa \u003cstrong\u003e67 cm\u003c\/strong\u003e kannst du überschlägig mit ungefähr \u003cstrong\u003e1,5 Dachrinnenhaltern pro Meter Dachrinne\u003c\/strong\u003e rechnen.\u003c\/p\u003e\n\u003cp\u003eBei einer Dachrinne mit 10 Metern Länge werden beispielsweise etwa 15 Halter entlang der Dachtraufe benötigt.\u003c\/p\u003e\n\u003cp\u003eDie konkrete Anzahl und Positionierung sollte zusätzlich an die jeweilige Einbausituation angepasst werden.\u003c\/p\u003e\n\u003ch2\u003eIdeal für die klassische Dachrinnenmontage\u003c\/h2\u003e\n\u003cp\u003eDieser verzinkte Rinnenhalter ist die richtige Wahl, wenn du eine \u003cstrong\u003eklassische, robuste und bewährte Befestigung für deine Titanzink-Dachrinne\u003c\/strong\u003e suchst.\u003c\/p\u003e\n\u003cp\u003eDie Halter werden entlang der Dachtraufe montiert und tragen anschließend die komplette Dachrinne.\u003c\/p\u003e\n\u003cp\u003eIn Kombination mit unseren Titanzink-Dachrinnen, Dachrinnenverbindern, Endstücken, Rinnenstutzen und Fallrohren lässt sich damit eine vollständige Dachentwässerung zusammenstellen.\u003c\/p\u003e\n\u003ch2\u003eAlternative: einstellbarer Pytoflex Dachrinnenhalter\u003c\/h2\u003e\n\u003cp\u003eDu benötigst mehr Flexibilität bei der Positionierung deiner Dachrinne?\u003c\/p\u003e\n\u003cp\u003eFür unterschiedliche Dachüberstände oder besondere Einbausituationen bieten wir zusätzlich unseren \u003cstrong\u003eeinstellbaren Pytoflex Dachrinnenhalter\u003c\/strong\u003e an.\u003c\/p\u003e\n\u003cp\u003eWährend dieser klassische Rinnenhalter eine einfache und bewährte Standardlösung darstellt, ermöglicht das Pytoflex-System durch sein verstellbares Schiebegelenk eine flexiblere Anpassung der Rinnenposition an die vorhandene Dachkonstruktion.\u003c\/p\u003e\n\u003ch2\u003ePassende Dachrinne direkt konfigurieren\u003c\/h2\u003e\n\u003cp\u003eMit unserem \u003cstrong\u003eDachrinnen-Konfigurator\u003c\/strong\u003e kannst du Dachrinne, Fallrohr, Rinnenhalter und weiteres Zubehör passend zu deinem Gebäude zusammenstellen.\u003c\/p\u003e\n\u003cp\u003eDie benötigte Anzahl der Rinnenhalter wird dabei passend zur gewählten Dachrinnenlänge berücksichtigt. So musst du nicht jedes einzelne Bauteil deiner Dachentwässerung selbst zusammensuchen.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eBerechnen Sie hier die passende Dachrinnengröße\u003c\/h2\u003e\n\n\u003cstyle\u003e\n\/* =========================================================\n   Rechner: Dachrinnengröße \u0026 Fallrohrgröße\n   ========================================================= *\/\n.dc-sizecalc{\n  margin:1.6rem 0 2rem;\n  border:1px solid #dce5eb;\n  border-radius:10px;\n  overflow:hidden;\n  background:#fff;\n}\n.dc-sizecalc *{box-sizing:border-box}\n.dc-sizecalc-head{\n  padding:1rem 1.2rem;\n  background:#f3f7f9;\n  border-bottom:1px solid #dce5eb;\n}\n.dc-sizecalc-head h2{margin:0 0 .35rem}\n.dc-sizecalc-head p{\n  margin:0;\n  font-size:.9rem;\n  color:#536676\n}\n.dc-sizecalc-body{padding:1.2rem}\n.dc-sizecalc-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:1rem\n}\n.dc-sizecalc-field label{\n  display:block;\n  margin-bottom:.35rem;\n  font-size:.9rem;\n  font-weight:700;\n  color:#243746\n}\n.dc-sizecalc-field small{\n  display:block;\n  margin-top:.3rem;\n  color:#667986;\n  font-size:.76rem;\n  line-height:1.4\n}\n.dc-sizecalc input,\n.dc-sizecalc select{\n  display:block;\n  width:100%;\n  min-height:46px;\n  padding:.7rem .8rem;\n  border:1px solid #cbd8df;\n  border-radius:7px;\n  background:#fff;\n  color:#243746;\n  font:inherit\n}\n.dc-sizecalc input:focus,\n.dc-sizecalc select:focus{\n  outline:3px solid rgba(8,125,163,.16);\n  outline-offset:0;\n  border-color:#087da3\n}\n.dc-sizecalc-button{\n  display:block;\n  width:100%;\n  min-height:48px;\n  margin-top:1rem;\n  padding:.75rem 1rem;\n  border:0;\n  border-radius:7px;\n  background:#087da3;\n  color:#fff;\n  font:inherit;\n  font-weight:700;\n  cursor:pointer\n}\n.dc-sizecalc-button:hover{filter:brightness(.95)}\n.dc-sizecalc-error{\n  display:none;\n  margin-top:1rem;\n  padding:.8rem 1rem;\n  border:1px solid #e4c7c7;\n  border-radius:7px;\n  background:#fff8f8;\n  font-size:.86rem\n}\n.dc-sizecalc-error.is-visible{display:block}\n.dc-sizecalc-result{\n  display:none;\n  margin-top:1.2rem\n}\n.dc-sizecalc-result.is-visible{display:block}\n.dc-sizecalc-main{\n  padding:1.1rem;\n  border:2px solid #087da3;\n  border-radius:9px;\n  background:#f7fbfc\n}\n.dc-sizecalc-label{\n  display:block;\n  margin-bottom:.3rem;\n  color:#536676;\n  font-size:.74rem;\n  font-weight:700;\n  letter-spacing:.04em;\n  text-transform:uppercase\n}\n.dc-sizecalc-size{\n  margin-bottom:.2rem;\n  color:#243746;\n  font-size:1.28rem;\n  line-height:1.3;\n  font-weight:800\n}\n.dc-sizecalc-pipe{\n  margin-bottom:.65rem;\n  color:#087da3;\n  font-size:1.05rem;\n  font-weight:700\n}\n.dc-sizecalc-main p{\n  margin:0;\n  font-size:.9rem\n}\n.dc-sizecalc-stats{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:.7rem;\n  margin-top:.9rem\n}\n.dc-sizecalc-stat{\n  padding:.75rem;\n  border:1px solid #dce5eb;\n  border-radius:7px;\n  background:#fff\n}\n.dc-sizecalc-stat span{\n  display:block;\n  margin-bottom:.15rem;\n  color:#667986;\n  font-size:.72rem\n}\n.dc-sizecalc-stat strong{\n  display:block;\n  font-size:.94rem\n}\n.dc-sizecalc-alt{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border:1px solid #dce5eb;\n  border-radius:8px;\n  background:#fff\n}\n.dc-sizecalc-alt strong{\n  display:block;\n  margin-bottom:.25rem\n}\n.dc-sizecalc-alt p{\n  margin:0;\n  font-size:.86rem\n}\n.dc-sizecalc-warning{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border-left:3px solid #087da3;\n  background:#f3f7f9;\n  font-size:.83rem;\n  line-height:1.5\n}\n.dc-sizecalc-links{\n  display:flex;\n  flex-wrap:wrap;\n  gap:.45rem 1rem;\n  margin-top:.9rem;\n  font-size:.84rem\n}\n.dc-sizecalc-links a{font-weight:700}\n\n@media(max-width:640px){\n  .dc-sizecalc-grid{grid-template-columns:1fr}\n  .dc-sizecalc-stats{grid-template-columns:1fr}\n  .dc-sizecalc-body{padding:1rem}\n}\n\n\n\u003c\/style\u003e\n\n\u003csection class=\"dc-sizecalc\" id=\"dc-dachrinnen-rechner\" aria-labelledby=\"dc-sizecalc-title\"\u003e\n  \u003cdiv class=\"dc-sizecalc-head\"\u003e\n    \u003ch2 id=\"dc-sizecalc-title\"\u003eDachrinnengröße und Fallrohrgröße berechnen\u003c\/h2\u003e\n    \u003cp\u003e\n      Geben Sie Dachfläche, Dachrinnenlänge, Fallrohrposition und Ihr Bundesland ein.\n      Der Rechner ermittelt daraus eine passende Dachrinnen- und Fallrohrgröße als Orientierung.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"dc-sizecalc-body\"\u003e\n    \u003cdiv class=\"dc-sizecalc-grid\"\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcArea\"\u003eZu entwässernde Dachfläche\u003c\/label\u003e\n        \u003cinput id=\"dcCalcArea\" type=\"number\" min=\"1\" max=\"1000\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 65\"\u003e\n        \u003csmall\u003e\n          Nur die Dachfläche eingeben, deren Wasser tatsächlich in diesen Rinnenabschnitt\n          beziehungsweise zu diesem Fallrohr fließt.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcLength\"\u003eLänge der Dachrinne\u003c\/label\u003e\n        \u003cinput id=\"dcCalcLength\" type=\"number\" min=\"0.5\" max=\"50\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 8\"\u003e\n        \u003csmall\u003eLänge des zusammenhängenden Rinnenabschnitts in Metern.\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcOutlet\"\u003ePosition des Fallrohrs\u003c\/label\u003e\n        \u003cselect id=\"dcCalcOutlet\"\u003e\n          \u003coption value=\"end\"\u003eFallrohr am Ende der Dachrinne\u003c\/option\u003e\n          \u003coption value=\"center\"\u003eFallrohr ungefähr mittig\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Bei einem mittigen Ablauf verkürzt sich der maximale Fließweg des Regenwassers.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcState\"\u003eBundesland\u003c\/label\u003e\n        \u003cselect id=\"dcCalcState\"\u003e\n          \u003coption value=\"\" selected disabled\u003eBundesland auswählen\u003c\/option\u003e\n          \u003coption value=\"BW\"\u003eBaden-Württemberg\u003c\/option\u003e\n          \u003coption value=\"BY\"\u003eBayern\u003c\/option\u003e\n          \u003coption value=\"BE\"\u003eBerlin\u003c\/option\u003e\n          \u003coption value=\"BB\"\u003eBrandenburg\u003c\/option\u003e\n          \u003coption value=\"HB\"\u003eBremen\u003c\/option\u003e\n          \u003coption value=\"HH\"\u003eHamburg\u003c\/option\u003e\n          \u003coption value=\"HE\"\u003eHessen\u003c\/option\u003e\n          \u003coption value=\"MV\"\u003eMecklenburg-Vorpommern\u003c\/option\u003e\n          \u003coption value=\"NI\"\u003eNiedersachsen\u003c\/option\u003e\n          \u003coption value=\"NW\"\u003eNordrhein-Westfalen\u003c\/option\u003e\n          \u003coption value=\"RP\"\u003eRheinland-Pfalz\u003c\/option\u003e\n          \u003coption value=\"SL\"\u003eSaarland\u003c\/option\u003e\n          \u003coption value=\"SN\"\u003eSachsen\u003c\/option\u003e\n          \u003coption value=\"ST\"\u003eSachsen-Anhalt\u003c\/option\u003e\n          \u003coption value=\"SH\"\u003eSchleswig-Holstein\u003c\/option\u003e\n          \u003coption value=\"TH\"\u003eThüringen\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Der Rechner verwendet daraus einen regionalen Orientierungswert.\n          Für eine normgerechte Bemessung ist der konkrete Standort maßgeblich.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cbutton type=\"button\" class=\"dc-sizecalc-button\" id=\"dcCalcButton\"\u003e\n      Passende Größe berechnen\n    \u003c\/button\u003e\n\n    \u003cdiv class=\"dc-sizecalc-error\" id=\"dcCalcError\" role=\"alert\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"dc-sizecalc-result\" id=\"dcCalcResult\" aria-live=\"polite\"\u003e\n      \u003cdiv class=\"dc-sizecalc-main\"\u003e\n\n        \u003cspan class=\"dc-sizecalc-label\"\u003eEmpfohlene Systemgröße\u003c\/span\u003e\n\n        \u003cdiv class=\"dc-sizecalc-size\" id=\"dcCalcSize\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"dc-sizecalc-pipe\" id=\"dcCalcPipe\"\u003e\u003c\/div\u003e\n\n        \u003cp id=\"dcCalcText\"\u003e\u003c\/p\u003e\n\n        \u003cdiv class=\"dc-sizecalc-stats\"\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eBerechneter Regenabfluss\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlow\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eMaximaler Fließweg\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlowLength\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eRechnerische Reserve\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcReserve\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-alt\" id=\"dcCalcAlternative\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-warning\"\u003e\n        \u003cstrong\u003eHinweis:\u003c\/strong\u003e\n        Die Auswahl nach Bundesland ist bewusst vereinfacht. Die tatsächliche\n        Starkregenbelastung ist standortbezogen und kann innerhalb eines Bundeslands\n        unterschiedlich sein. Der Rechner dient deshalb als Orientierung und ersetzt\n        keine vollständige hydraulische Bemessung.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-links\"\u003e\n        \u003ca href=\"\/products\/fallrohr\"\u003ePassendes Fallrohr ansehen →\u003c\/a\u003e\n        \u003ca href=\"\/products\/komplettpaket\"\u003eKomplettpaket zusammenstellen →\u003c\/a\u003e\n        \u003ca href=\"\/blogs\/tipps\/richtige-dachrinnengroesse-finden\"\u003e\n          Dachrinnengrößen erklärt →\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n\n  const root = document.getElementById('dc-dachrinnen-rechner');\n  if(!root) return;\n\n  const areaInput   = document.getElementById('dcCalcArea');\n  const lengthInput = document.getElementById('dcCalcLength');\n  const outletInput = document.getElementById('dcCalcOutlet');\n  const stateInput  = document.getElementById('dcCalcState');\n  const button      = document.getElementById('dcCalcButton');\n  const result      = document.getElementById('dcCalcResult');\n  const errorBox    = document.getElementById('dcCalcError');\n\n  \/*\n   * Vereinfachte regionale Orientierungswerte [l\/(s·ha)].\n   * Diese dienen nur zur Orientierung im Shop-Rechner.\n   *\/\n  const stateRainfall = {\n    BW: { name:'Baden-Württemberg', rain:400 },\n    BY: { name:'Bayern', rain:400 },\n    BE: { name:'Berlin', rain:300 },\n    BB: { name:'Brandenburg', rain:300 },\n    HB: { name:'Bremen', rain:350 },\n    HH: { name:'Hamburg', rain:350 },\n    HE: { name:'Hessen', rain:350 },\n    MV: { name:'Mecklenburg-Vorpommern', rain:300 },\n    NI: { name:'Niedersachsen', rain:350 },\n    NW: { name:'Nordrhein-Westfalen', rain:400 },\n    RP: { name:'Rheinland-Pfalz', rain:350 },\n    SL: { name:'Saarland', rain:400 },\n    SN: { name:'Sachsen', rain:350 },\n    ST: { name:'Sachsen-Anhalt', rain:300 },\n    SH: { name:'Schleswig-Holstein', rain:350 },\n    TH: { name:'Thüringen', rain:350 }\n  };\n\n  const gutters = [\n    {\n      label: '10-teilig \/ RG200',\n      area: 3069,\n      waterDepth: 48,\n      pipe: 'Ø 60 mm'\n    },\n    {\n      label: '8-teilig \/ RG250',\n      area: 5256,\n      waterDepth: 62,\n      pipe: 'Ø 76 mm'\n    },\n    {\n      label: '7-teilig \/ RG285',\n      area: 7347,\n      waterDepth: 72.5,\n      pipe: 'Ø 87 mm'\n    },\n    {\n      label: '6-teilig \/ RG333',\n      area: 10567,\n      waterDepth: 86.5,\n      pipe: 'Ø 100 mm'\n    }\n  ];\n\n  const lengthFactors = [\n    [50,1.00],\n    [75,0.97],\n    [100,0.93],\n    [125,0.90],\n    [150,0.86],\n    [175,0.83],\n    [200,0.80],\n    [225,0.78],\n    [250,0.77],\n    [275,0.75],\n    [300,0.73],\n    [325,0.72],\n    [350,0.70],\n    [375,0.68],\n    [400,0.67],\n    [425,0.65],\n    [450,0.63],\n    [475,0.62],\n    [500,0.60]\n  ];\n\n  function interpolateLengthFactor(value){\n    if(value \u003c= 50) return 1.00;\n    if(value \u003e= 500) return 0.60;\n\n    for(let i = 0; i \u003c lengthFactors.length - 1; i++){\n\n      const x1 = lengthFactors[i][0];\n      const y1 = lengthFactors[i][1];\n      const x2 = lengthFactors[i + 1][0];\n      const y2 = lengthFactors[i + 1][1];\n\n      if(value \u003e= x1 \u0026\u0026 value \u003c= x2){\n        const position = (value - x1) \/ (x2 - x1);\n        return y1 + (y2 - y1) * position;\n      }\n    }\n\n    return 0.60;\n  }\n\n  function gutterCapacity(gutter, flowLength){\n\n    const nominalCapacity =\n      2.78e-5 *\n      Math.pow(gutter.area, 1.25);\n\n    const lengthRatio =\n      (flowLength * 1000) \/\n      gutter.waterDepth;\n\n    const lengthFactor =\n      interpolateLengthFactor(lengthRatio);\n\n    return 0.9 * lengthFactor * nominalCapacity;\n  }\n\n  function findSuitableGutter(requiredFlow, flowLength){\n\n    for(const gutter of gutters){\n\n      const capacity =\n        gutterCapacity(gutter, flowLength);\n\n      if(capacity \u003e= requiredFlow){\n        return {\n          gutter:gutter,\n          capacity:capacity\n        };\n      }\n    }\n\n    return null;\n  }\n\n  function formatNumber(value, decimals){\n    return value.toLocaleString(\n      'de-DE',\n      {\n        minimumFractionDigits:decimals,\n        maximumFractionDigits:decimals\n      }\n    );\n  }\n\n  function calculate(){\n\n    errorBox.classList.remove('is-visible');\n    result.classList.remove('is-visible');\n\n    const roofArea =\n      parseFloat(\n        String(areaInput.value).replace(',', '.')\n      );\n\n    const gutterLength =\n      parseFloat(\n        String(lengthInput.value).replace(',', '.')\n      );\n\n    const stateCode =\n      stateInput.value;\n\n    const stateData =\n      stateRainfall[stateCode];\n\n    const rainfall =\n      stateData\n        ? stateData.rain\n        : NaN;\n\n    if(\n      !Number.isFinite(roofArea) ||\n      roofArea \u003c= 0 ||\n      !Number.isFinite(gutterLength) ||\n      gutterLength \u003c= 0 ||\n      !stateData\n    ){\n\n      errorBox.textContent =\n        'Bitte geben Sie Dachfläche und Dachrinnenlänge ein und wählen Sie Ihr Bundesland aus.';\n\n      errorBox.classList.add('is-visible');\n      return;\n    }\n\n    const requiredFlow =\n      rainfall *\n      roofArea \/\n      10000;\n\n    const flowLength =\n      outletInput.value === 'center'\n        ? gutterLength \/ 2\n        : gutterLength;\n\n    const match =\n      findSuitableGutter(\n        requiredFlow,\n        flowLength\n      );\n\n    const alternativeArea =\n      roofArea \/ 2;\n\n    const alternativeFlow =\n      rainfall *\n      alternativeArea \/\n      10000;\n\n    const alternativeFlowLength =\n      gutterLength \/ 4;\n\n    const alternativeMatch =\n      findSuitableGutter(\n        alternativeFlow,\n        alternativeFlowLength\n      );\n\n    if(match){\n\n      const reserve =\n        ((match.capacity \/ requiredFlow) - 1) * 100;\n\n      document.getElementById('dcCalcSize').textContent =\n        match.gutter.label;\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Empfohlenes Fallrohr: ' +\n        match.gutter.pipe;\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Für \u003cstrong\u003e' +\n        formatNumber(roofArea,1) +\n        ' m² Dachfläche\u003c\/strong\u003e in \u003cstrong\u003e' +\n        stateData.name +\n        '\u003c\/strong\u003e und einen maximalen Fließweg von \u003cstrong\u003e' +\n        formatNumber(flowLength,1) +\n        ' m\u003c\/strong\u003e empfiehlt der Rechner diese Systemgröße.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        reserve \u003e= 0\n          ? '+' + Math.round(reserve) + ' %'\n          : 'gering';\n\n    }else{\n\n      document.getElementById('dcCalcSize').textContent =\n        'Größere Auslegung erforderlich';\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Ein einzelner Standard-Ablauf reicht für diese Eingaben nicht aus.';\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Der berechnete Regenabfluss beträgt \u003cstrong\u003e' +\n        formatNumber(requiredFlow,2) +\n        ' l\/s\u003c\/strong\u003e. Bei der eingegebenen Rinnenlänge liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        '–';\n    }\n\n    const alternativeBox =\n      document.getElementById('dcCalcAlternative');\n\n    if(alternativeMatch){\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eAlternative mit zwei Fallrohren\u003c\/strong\u003e' +\n        '\u003cp\u003eBei zwei ungefähr gleichmäßig angeordneten Abläufen verteilt sich die Dachfläche auf etwa \u003cstrong\u003e' +\n        formatNumber(alternativeArea,1) +\n        ' m² je Ablauf\u003c\/strong\u003e. Der Rechner ergibt dafür \u003cstrong\u003e' +\n        alternativeMatch.gutter.label +\n        '\u003c\/strong\u003e mit einem Fallrohr von \u003cstrong\u003e' +\n        alternativeMatch.gutter.pipe +\n        '\u003c\/strong\u003e je Ablauf.\u003c\/p\u003e';\n\n    }else{\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eIndividuelle Auslegung empfohlen\u003c\/strong\u003e' +\n        '\u003cp\u003eAuch mit zwei ungefähr gleichmäßig verteilten Fallrohren liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen. Die Dachentwässerung sollte in diesem Fall individuell bemessen werden.\u003c\/p\u003e';\n    }\n\n    result.classList.add('is-visible');\n  }\n\n  button.addEventListener('click', calculate);\n\n  [areaInput, lengthInput].forEach(function(input){\n    input.addEventListener('keydown', function(event){\n      if(event.key === 'Enter'){\n        event.preventDefault();\n        calculate();\n      }\n    });\n  });\n\n})();\n\u003c\/script\u003e","brand":"Dachrinnenprofis","offers":[{"title":"NG 6 tlg. RG333","offer_id":58419840844040,"sku":"DP-006-001","price":2.91,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285","offer_id":58419840876808,"sku":"DP-006-002","price":2.64,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250","offer_id":58419840909576,"sku":"DP-006-003","price":2.64,"currency_code":"EUR","in_stock":true},{"title":"NG 10 tlg. RG200","offer_id":58419840942344,"sku":"DP-006-004","price":2.64,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1057\/7510\/4264\/files\/Dachrinnenhalter_Standard_46104e84-e9ec-4132-ac4e-257ba2763a8c.png?v=1786527922","url":"https:\/\/dachrinnenprofis.de\/products\/dachrinnenhalter-standard","provider":"Dachrinnenprofis.de","version":"1.0","type":"link"}