[{"id":"tile_1663667563512","date":1777038676996,"json":"{\"components\":[{\"plotOptions\":{\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"subtitle\":{\"text\":\"\"}},\"col\":0,\"dataPlatformQueryParams\":[{\"topicId\":\"waermepumpen\"},{\"topicId\":\"solarmodule\"},{\"topicId\":\"solarkollektoren\"}],\"alt\":\"\",\"main\":false,\"type\":\"highcharts\",\"colors\":[\"#3366CC\",\"#CC0033\",\"#339966\",\"#66CCFF\",\"#FF9900\",\"#333366\",\"#FF6600\",\"#66CC66\",\"#990033\",\"#2C6622\",\"#FFCC33\",\"#660022\"],\"series\":[],\"colexpand\":2,\"row\":0,\"chart\":{\"plotOptions\":{\"bar\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}},\"series\":{\"connectNulls\":true,\"marker\":{\"enabled\":false},\"custom\":{\"hideRedundantXLabels\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"column\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}}},\"yAxis\":[{\"max\":1250000,\"index\":0,\"opposite\":false,\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"left\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":300}},\"type\":\"linear\",\"labels\":{\"align\":\"right\",\"formatter\":\"function() { return `${Number((this.value / 1000).toFixed(0)).toLocaleString('de-DE', {minimumFractionDigits: 0, maximumFractionDigits: 0})}`}\",\"formatterIdentifier\":\"MATH_DIVIDER\",\"mathPow\":1000,\"prefix\":\"\",\"suffix\":\"\",\"decimals\":0}},{\"opposite\":true,\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"right\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":300}},\"type\":\"linear\",\"labels\":{\"align\":\"left\"}}],\"xAxis\":[{\"crosshair\":false,\"tickInterval\":7776000000,\"index\":0,\"type\":\"datetime\",\"labels\":{\"format\":\"{value:%b '%y}\",\"formatterIdentifier\":\"CUSTOM\"},\"isX\":true}],\"data\":{},\"series\":[{\"color\":\"#339966\",\"data\":[[1546300800000,43774],[1554076800000,41944],[1561939200000,43120],[1569888000000,43476],[1577836800000,43459],[1585699200000,44077],[1593561600000,50029],[1601510400000,43426],[1609459200000,49782],[1617235200000,53602],[1625097600000,59957],[1633046400000,62347],[1640995200000,71643],[1648771200000,77942],[1656633600000,93550],[1664582400000,107729],[1672531200000,132289],[1680307200000,120595],[1688169600000,92862],[1696118400000,54391],[1704067200000,48829],[1711929600000,37805],[1719792000000,35278],[1727740800000,40463],[1735689600000,56155],[1743465600000,50388],[1751328000000,64225]],\"custom\":{\"name\":\"Wärmepumpen\"},\"name\":\"Wärmepumpen\",\"index\":2,\"id\":\"waermepumpen\"},{\"color\":\"#333366\",\"data\":[[1546300800000,557204],[1554076800000,525529],[1561939200000,581477],[1569888000000,533405],[1577836800000,625214],[1585699200000,589024],[1593561600000,670684],[1601510400000,601315],[1609459200000,656009],[1617235200000,700437],[1625097600000,667823],[1633046400000,696168],[1640995200000,882349],[1648771200000,1001468],[1656633600000,1027109],[1664582400000,1040921],[1672531200000,1049435],[1680307200000,1093956],[1688169600000,667225],[1696118400000,637366],[1704067200000,460550],[1711929600000,465924],[1719792000000,366787],[1727740800000,217325],[1735689600000,227028],[1743465600000,164977],[1751328000000,117155]],\"custom\":{\"name\":\"Solarmodule\"},\"name\":\"Solarmodule\",\"index\":0,\"id\":\"solarmodule\"},{\"color\":\"#CC0033\",\"data\":[[1546300800000,50660],[1554076800000,55466],[1561939200000,55293],[1569888000000,38557],[1577836800000,37065],[1585699200000,54156],[1593561600000,59265],[1601510400000,45974],[1609459200000,53505],[1617235200000,78519],[1625097600000,68232],[1633046400000,52267],[1640995200000,55377],[1648771200000,75645],[1656633600000,71731],[1664582400000,65392],[1672531200000,64759],[1680307200000,60051],[1688169600000,36559],[1696118400000,30592],[1704067200000,21294],[1711929600000,28770],[1719792000000,22648],[1727740800000,16158],[1735689600000,19099],[1743465600000,21947],[1751328000000,23336]],\"custom\":{\"name\":\"Solarkollektoren\"},\"name\":\"Solarkollektoren\",\"index\":1,\"id\":\"solarkollektoren\"}],\"subtitle\":{\"text\":\"\"},\"tooltip\":{\"shared\":true,\"crosshairs\":true,\"borderColor\":\"#B0B5B7\",\"shadow\":true,\"dateFormat\":{\"key\":\"MONTHLY\",\"label\":\"Monatlich (z.B. Oktober 2023)\"},\"prefix\":\"\",\"positioner\":\"function (labelWidth, labelHeight, point) {\\n      const chart = this.chart;\\n      const chartPosition = chart.pointer.getChartPosition();\\n      const defaultSpacing = 12;\\n      const topBarHeight = document.querySelector(\\\".topbar\\\")?.getBoundingClientRect().height || 50;\\n\\n      \\n      let tooltipYPos = -labelHeight - defaultSpacing;\\n      let customLineHeightShorten = 0;\\n      if (window.scrollY + topBarHeight > chartPosition.top + tooltipYPos) {\\n        tooltipYPos = window.scrollY + topBarHeight - chartPosition.top;\\n        customLineHeightShorten = Math.abs(-labelHeight - defaultSpacing - tooltipYPos);\\n      }\\n      let tooltipXPos = this.chart.plotLeft + point.plotX - labelWidth / 2;\\n\\n      \\n      const tooltipContainer = document.querySelector(\\\".highcharts-tooltip-container\\\");\\n      if (tooltipContainer) {\\n        const plotOffsetTop = this.chart?.plotTop\\n          ? (this.chart?.types?.[0] === \\\"line\\\" && this.chart?.types?.length < 2\\n              ? this.chart.plotHeight + this.chart.plotTop\\n              : this.chart.plotTop) -\\n            customLineHeightShorten +\\n            defaultSpacing\\n          : 0 - customLineHeightShorten;\\n        tooltipContainer.setAttribute(\\\"data-plot-top-offset\\\", plotOffsetTop.toString());\\n      }\\n\\n      if (this.chart?.types?.[0] === \\\"bar\\\") {\\n        tooltipXPos = tooltipXPos - point.h / 2;\\n      }\\n\\n     \\n      if ((this.chart?.types?.[0] === \\\"map\\\" || this.chart?.types?.[0] === \\\"pie\\\" || this.chart?.types?.[0] === \\\"column\\\") && tooltipContainer) {\\n        const fixedLabelX = tooltipContainer.getAttribute(\\\"data-fixed-tooltip-x\\\");\\n        if (fixedLabelX) {\\n          tooltipXPos = Number(fixedLabelX) - labelWidth / 2;\\n        }\\n        if(this.chart?.types?.[0] === \\\"column\\\" && fixedLabelX) {\\n          tooltipXPos = this.chart.plotLeft + Number(fixedLabelX) - labelWidth / 2;\\n        }\\n      }\\n      if(this.chart?.types?.[0] === \\\"bar\\\" && this.chart?.yAxis?.length === 2) {\\n        if(point.plotX <= (this.chart.plotWidth / 2) && this.chart?.yAxis?.[0]?.len && this.chart?.yAxis?.[0]?.left && false) {\\n          tooltipXPos = this.chart.yAxis[0].left - labelWidth/2 + this.chart.yAxis[0].len - (point.h / 2);\\n        }\\n      }  \\n\\n      return {\\n        x: tooltipXPos,\\n        y: tooltipYPos\\n      };\\n    }\",\"suffix\":\":\",\"enabled\":true,\"mathPow\":\"1000\",\"useHTML\":true,\"footerFormat\":\"\",\"mathOperation\":\"MATH_DIVIDER\",\"shape\":\"rect\",\"animation\":false,\"formatter\":\"function() {\\n  \\n      const createCustomLine = () => { \\n    let pointXValue = null;\\n    let pointYValue = null;\\n\\n    pointXValue: 0; pointYValue = 0;\\n    ;\\n    let offsetChart = 60 + 12;\\n    const highchartTooltipContainer = document.querySelector('div.highcharts-tooltip-container');\\n    if(highchartTooltipContainer) {\\n      offsetChart = Number(highchartTooltipContainer.getAttribute('data-plot-top-offset'));\\n    }\\n    \\n    \\n    // -1 to prevent line touch the x-axis\\n    let customLineHeight = pointYValue + offsetChart - 1; \\n\\n    if(customLineHeight < 0) {\\n      customLineHeight = 0;\\n    }\\n\\n    return `<style>\\n    .highcharts-label span:first-child::before{\\n      position:absolute;\\n      content:'';\\n      bottom: -9px;\\n      left:50%;\\n      width:1px;\\n      height: ${customLineHeight}px;\\n      background:#B0B5B7;\\n      transform: translate(-100%, 100%);\\n    }</style>`;\\n  };;\\n      const customLine = createCustomLine();\\n      const formatDate = function(timestamp) {const date = new Date(timestamp) || new Date(); const monthNames = [\\\"Januar\\\",\\\"Februar\\\",\\\"März\\\",\\\"April\\\",\\\"Mai\\\",\\\"Juni\\\",\\\"Juli\\\",\\\"August\\\",\\\"September\\\",\\\"Oktober\\\",\\\"November\\\",\\\"Dezember\\\"]; return `${monthNames[date.getMonth()]} ${date.getFullYear()}`;}; const header = `<style>\\n    .highcharts-tooltip-container .highcharts-tooltip span{\\n      line-height: 18px !important;\\n    } \\n  </style><span style='margin-bottom: 4px; display: inline-block; width: 100%; text-align: center; line-height: 20px;'><b>${formatDate(this?.x)}</b></span><br>`;\\n      const getBodyFunc = () => { let pointFormat = \\\"<div><span style='display: inline-block; width: 10px; height: 5px; vertical-align: middle; background-color: {pointColor}; margin-right: 4px;'></span><b>{pointValue}</b> {pointName}</div>\\\";\\n    let bodyString = \\\"\\\";\\n    let pointCalcFunc = function(pointValue) {\\n    let tmpPointValue = Number(pointValue / 1000);\\n    return new Intl.NumberFormat(\\\"de-DE\\\").format(tmpPointValue);\\n  };;\\n    let pointFillFunc = function(pointString, pointColor, pointValue, pointName) { \\n    return pointString.replace(\\\"{pointColor}\\\", pointColor).replace(\\\"{pointValue}\\\", pointValue).replace(\\\"{pointName}\\\", pointName);\\n  };; \\n    this?.points?.forEach((point) => {\\n      let pointColor = point?.color || \\\"\\\"; \\n      let pointName = point?.series?.userOptions?.custom?.name || point?.series?.name || \\\"\\\";\\n      bodyString += pointFillFunc(pointFormat, pointColor, pointCalcFunc(point?.y), pointName);\\n    })\\n\\n    return bodyString;\\n  };;\\n      const body = getBodyFunc();\\n      return header + body + customLine;\\n    }\",\"headerFormat\":\"<b>{series.name}</b><br>\",\"borderRadius\":2,\"valuePrefix\":\"\",\"outside\":true,\"pointFormatter\":\"function() { const date = new Date(this.x); const func = function(e){return Math.floor(e.getMonth()/3+1)}; const res = func(date); return `${res}. Quartal ${date.getFullYear().toString()}:` }\",\"decimals\":0,\"style\":{\"lineHeight\":\"undefined\"},\"valueSuffix\":\"\",\"formatterIdentifier\":\"QUARTERS_WITH_YEAR_VARIANT\"},\"title\":{\"text\":\"\"},\"chart\":{\"zoomType\":\"xy\",\"type\":\"line\",\"marginTop\":60}},\"rowexpand\":1,\"order\":1},{\"col\":2,\"yAxisUnit\":\"<p>Menge der zum Absatz bestimmten Produktion in Tsd. Stück</p>\",\"subtitle\":\"\",\"colexpand\":1,\"text\":\"<p>Im 3. Quartal 2025 wurden 23.336 Solarkollektoren, 117.155 Solarmodule und 64.225 Wärmepumpen zur Absatzproduktion gemeldet.</p><p>Solarkollektoren sind Bestandteil von Solarthermieanlagen. Diese wandeln Sonnenenergie in Wärme um, die sowohl für Warmwasser als auch für das Heizen von Räumen eingesetzt werden kann. Leistungsfähige solarthermische Anlagen kommen auch in der Industrie zum Einsatz: Dort erwärmen sie nicht nur Brauch- und Heizwasser, sondern erzeugen auch Wärme für industrielle Prozesse, die sogenannte Prozesswärme. Solarmodule hingegen kommen in Photovoltaikanlagen zum Einsatz, die der Erzeugung von Strom aus Sonnenenergie dienen. Der erzeugte Strom kann dann entweder direkt genutzt, gespeichert oder in das Stromnetz eingespeist werden. Wärmepumpen nutzen die Umweltwärme aus dem Boden, der Luft oder dem Grundwasser zum Heizen und zur Warmwasserbereitung.</p>\",\"infoButtonText\":\"Dargestellt wird die Absatzproduktion nach Menge für Solarkollektoren (GP19-275214007), Solarmodule (GP19-261122403) sowie Wärmepumpen (GP19-282513801 und GP19-282513809).\\n\\nDie Daten sind als Absolutwerte dargestellt.\\n\\nZur Verbesserung der Qualität können Revisionen der Daten erfolgen.\\n\\nDieser Indikator wird quartalsweise aktualisiert.\",\"row\":0,\"type\":\"text\",\"title\":\"\",\"belongsTo\":1,\"rowexpand\":1},{\"hideSeries\":[],\"description\":\"\",\"main\":false,\"type\":\"compact\",\"title\":\"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen\",\"widgets\":[{\"num\":\"3,0 %\",\"icon\":\"ArrowUpRight\",\"refDate\":null,\"foundExactReference\":false,\"desc\":\"mehr Solarkollektoren produziert im 3. Quartal 2025 als im Vorjahresquartal\"},{\"num\":\"68,1 %\",\"icon\":\"ArrowDownRight\",\"refDate\":null,\"foundExactReference\":false,\"desc\":\"weniger Solarmodule produziert im 3. Quartal 2025 als im Vorjahresquartal\"},{\"num\":\"82,1 %\",\"icon\":\"ArrowUpRight\",\"refDate\":null,\"foundExactReference\":false,\"desc\":\"mehr Wärmepumpen produziert im 3. Quartal 2025 als im Vorjahresquartal\"}],\"widgetConfig\":[null,null,null]},{\"smallTitle\":\"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen\",\"imageChart\":\"\",\"variant\":1,\"type\":\"teaser\"}],\"attachments\":[{\"name\":\"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen.csv\",\"type\":\"csv\"},{\"name\":\"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen.xlsx\",\"type\":\"xlsx\"}],\"sources\":[{\"qualitySource\":1,\"link\":\"https://www.destatis.de/DE/Themen/Branchen-Unternehmen/Industrie-Verarbeitendes-Gewerbe/_inhalt.html\",\"name\":\"Statistisches Bundesamt (Destatis)\",\"quality\":1}],\"source\":\"[Statistisches Bundesamt (Destatis)](https://www.destatis.de/DE/Themen/Branchen-Unternehmen/Industrie-Verarbeitendes-Gewerbe/_inhalt.html)\",\"title\":\"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen\",\"minHeight\":0,\"lastUpdated\":1767632205137,\"maxHeight\":0,\"introtext\":\"<p>Menge der zum Absatz bestimmten Produktion in Tsd. Stück</p>\",\"id\":\"tile_1663667563512\",\"lang\":\"de\",\"cols\":3,\"height\":4,\"maxWidth\":0,\"previewImg\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<Error><Code>MethodNotAllowed</Code><Message>The specified method is not allowed against this resource.</Message><Method>POST</Method><ResourceType>OBJECT</ResourceType><RequestId>TR32J9THCEYPFXQP</RequestId><HostId>MxC08xfX61nLhWTFl5CiY7FLP5ZV97cVYdmgrfNnPSuNvDhvDx/YUb/0fctO88cfW815EqaYOHGSCpVOACINaqZEYY02YOua/4qCTL6J7yE=</HostId></Error>\",\"workflow\":\"manual\",\"minWidth\":0,\"dateUpload\":\"5. Januar 2026\",\"rows\":1,\"version\":\"2.0\",\"tags\":[\"Erneuerbare Energie\",\"Wärmepumpe\",\"Solarkollektor\",\"Solarmodul\",\"Photovoltaik\",\"Statistisches Bundesamt\",\"Destatis\"],\"width\":5,\"category\":\"Wirtschaftsaktivität und aktuelle Konjunkturindikatoren\",\"embeddable\":true,\"dataVersionDate\":\"3. Quartal 2025\"}","title":"Produktion von Solarkollektoren, Solarmodulen und Wärmepumpen"}]