{"id":206,"date":"2026-08-05T11:33:00","date_gmt":"2026-08-05T09:33:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=206"},"modified":"2026-09-10T10:56:08","modified_gmt":"2026-09-10T08:56:08","slug":"integration-des-fronius-symo-wechselrichters-in-smart-home-systeme","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/","title":{"rendered":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Photovoltaikanlagen spielen eine entscheidende Rolle im modernen Energiemanagement. Der Wechselrichter Fronius Symo bietet hervorragende M\u00f6glichkeiten zur Integration in eine Smart Home-Umgebung. Dank einer offenen, lokalen API ist die Datenextraktion unkompliziert und erfordert keine st\u00e4ndige Cloud-Anbindung. Dieser lokale Ansatz sorgt f\u00fcr hohe Zuverl\u00e4ssigkeit und schnelle Reaktionszeiten bei Automatisierungen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ma\u00dfgeschneidertes PHP-Skript und Smartphone-Widget<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zur \u00dcberwachung des Status der PV-Anlage kann ein dediziertes PHP-Skript auf einem lokalen Server eingesetzt werden. Das Skript fragt den API-Endpunkt des Wechselrichters unter <code>[http:\/\/192.168.XXX.XXX\/solar_api\/v1\/GetInverterRealtimeData.cgi?Scope=Device&amp;DeviceId=1&amp;DataCollection=CommonInverterData]<\/code> ab. Die JSON-Antwort wird dekodiert, um die wichtigsten Kennzahlen zu extrahieren: die aktuelle Leistung (<code>PAC<\/code>) und die produzierte Tagesenergie (<code>DAY_ENERGY<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Datenabfrage erfolgt periodisch, beispielsweise alle 5 Minuten, um die Informationen stets aktuell zu halten. F\u00fcr Zeiten, in denen der Wechselrichter in den Standby-Modus wechselt (etwa nachts, wenn die Solarproduktion auf null sinkt und der Wert <code>DAY_ENERGY<\/code> als &#8220;null&#8221; oder &#8220;false&#8221; zur\u00fcckgegeben wird), ist ein Fallback-Mechanismus implementiert<sup><\/sup>. In solchen F\u00e4llen liest das Skript die zuletzt bekannten Werte aus einer lokalen <code>1.dat<\/code>-Datei aus, um Anzeigefehler zu vermeiden<sup><\/sup>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Optisch bietet das Skript eine dynamische Hintergrundfarbe, die sich je nach aktuell generierter Leistung anpasst. Durch eine spezielle Gradienten-Funktion geht die Hintergrundfarbe basierend auf dem <code>PAC<\/code>-Wert stufenlos in verschiedene Farben \u00fcber (beispielsweise von Wei\u00df \u00fcber Orange zu Rot). Diese minimalistische Webseite kann anschlie\u00dfend \u00fcber die App &#8220;Widgetify&#8221; als praktisches und personalisiertes Widget direkt auf dem Startbildschirm eines Smartphones platziert werden:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><\/span><span role=\"button\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" aria-hidden=\"true\" readonly>&lt;?php\n\n\/\/ Adjust the IP Address\n$x = json_decode(file_get_contents(\"http:\/\/192.168.XXX.XXX\/\"\n.\"solar_api\/v1\/GetInverterRealtimeData.cgi?\".\n\"Scope=Device&amp;DeviceId=1&amp;DataCollection=CommonInverterData\"), false);\n\n$fallback1 = \"\";\n$fallback2 = \"\";\nif(!isset($x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value) || \n$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value === null || \n$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value === false) {\n $y = explode(\"|\", file_get_contents(\".\/1.dat\"));\n $fallback1 = $y&#091;0&#093;;\n $fallback2 = $y&#091;1&#093;;\n}\nelse\n{\n file_put_contents(\".\/1.dat\", \n $x-&gt;Body-&gt;Data-&gt;PAC-&gt;Value.$x-&gt;Body-&gt;Data-&gt;PAC-&gt;Unit.\n \"|\".$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value.$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Unit);\n}\n\nif(isset($_GET&#091;\"x\"&#093;)) {\n exit($x-&gt;Body-&gt;Data-&gt;PAC-&gt;Value.$x-&gt;Body-&gt;Data-&gt;PAC-&gt;Unit.\n $fallback1.\"|\".$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value.\n $x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Unit.$fallback2.\"|\".\n date(\"H:i:s\").($fallback1 != \"\" ? \" F\" : \"\"));\n}\n\nfunction Gradient($HexFrom, $HexTo, $ColorSteps) {\n    \/\/ credit: Hailwood (stackoverflow)\n    $FromRGB&#091;'r'&#093; = hexdec(substr($HexFrom, 0, 2));\n    $FromRGB&#091;'g'&#093; = hexdec(substr($HexFrom, 2, 2));\n    $FromRGB&#091;'b'&#093; = hexdec(substr($HexFrom, 4, 2));\n\n    $ToRGB&#091;'r'&#093; = hexdec(substr($HexTo, 0, 2));\n    $ToRGB&#091;'g'&#093; = hexdec(substr($HexTo, 2, 2));\n    $ToRGB&#091;'b'&#093; = hexdec(substr($HexTo, 4, 2));\n\n    $StepRGB&#091;'r'&#093; = ($FromRGB&#091;'r'&#093; - $ToRGB&#091;'r'&#093;) \/ ($ColorSteps - 1);\n    $StepRGB&#091;'g'&#093; = ($FromRGB&#091;'g'&#093; - $ToRGB&#091;'g'&#093;) \/ ($ColorSteps - 1);\n    $StepRGB&#091;'b'&#093; = ($FromRGB&#091;'b'&#093; - $ToRGB&#091;'b'&#093;) \/ ($ColorSteps - 1);\n\n    $GradientColors = array();\n\n    for($i = 0; $i &lt;= $ColorSteps; $i++) {\n        $RGB&#091;'r'&#093; = floor($FromRGB&#091;'r'&#093; - ($StepRGB&#091;'r'&#093; * $i));\n        $RGB&#091;'g'&#093; = floor($FromRGB&#091;'g'&#093; - ($StepRGB&#091;'g'&#093; * $i));\n        $RGB&#091;'b'&#093; = floor($FromRGB&#091;'b'&#093; - ($StepRGB&#091;'b'&#093; * $i));\n\n        $HexRGB&#091;'r'&#093; = sprintf('%02x', ($RGB&#091;'r'&#093;));\n        $HexRGB&#091;'g'&#093; = sprintf('%02x', ($RGB&#091;'g'&#093;));\n        $HexRGB&#091;'b'&#093; = sprintf('%02x', ($RGB&#091;'b'&#093;));\n\n        $GradientColors[] = implode(NULL, $HexRGB);\n    }\n    $GradientColors = array_filter($GradientColors, function($val){\n        return (strlen($val) == 6 ? true : false );\n    });\n    return $GradientColors;\n}\n\nfunction ColorFromGradient($n, $min, $max, $colors) {\n    $tablecolors = [];\n    $prevcolor = array_shift($colors);\n    foreach ($colors as $color) {\n        $tablecolors = array_merge($tablecolors, Gradient($prevcolor, $color, 10));\n        $prevcolor = $color;\n    }\n    $max = $max-$min;\n    $n-= $min;\n    if ($n &gt; $max) $n = $max;\n    \n    $ncolor = round(count($tablecolors)\/$max * $n)-1;\n    \n    return $tablecolors&#091;$ncolor&#093;;\n}\n\n?&gt;&lt;!DOCTYPE html&gt;&lt;html&gt;\n&lt;head&gt;&lt;script&gt;\nfunction dR() {\nsetInterval(function(){\n  document.getElementById('f3').innerHTML += 'R...';\n  var xhr = new XMLHttpRequest();\n  xhr.open(\"GET\", \".\/pvgirdcgi.php?x=\"+new Date(), true);\n  xhr.timeout = 5000;\n  xhr.onreadystatechange = function() {\n   if(xhr.readyState == 4) {\n    document.getElementById('f1').innerHTML = xhr.responseText.split(\"|\")&#091;0&#093;;\n    document.getElementById('f2').innerHTML = xhr.responseText.split(\"|\")&#091;1&#093;;\n    document.getElementById('f3').innerHTML = xhr.responseText.split(\"|\")&#091;2&#093;;\n   }\n  }\n  xhr.onerror = function() {};\n xhr.send();\n}, 8000);\n}\n\n\t\/\/setTimeout(function(){window.location.reload()},1000*20);\n&lt;\/script&gt;\n&lt;style&gt;\n&lt;?php \nif(isset($gear) &amp;&amp; $gear == true) {\n ?&gt;\n body{text-align:center;margin-top:50px;font-size:32px;}\n &lt;?php\n}\n?&gt;\nspan {\n text-shadow:\n    0 0 7px #fff,\n    0 0 10px #fff,\n    0 0 21px #fff,\n    0 0 42px #0fa,\n    0 0 82px #0fa,\n    0 0 92px #0fa,\n    0 0 102px #0fa,\n    0 0 151px #0fa;\n font-family:Arial,Verdana;\n}\n&lt;\/style&gt;\n&lt;\/head&gt;&lt;body &lt;?php \nif(isset($gear) &amp;&amp; $gear == true)\n{\n?&gt; onClick=\"document.querySelector('#pvx').style.display='block';\"+\n\"document.querySelector('.loader').style.display='block';\"+\n\"document.querySelector('#pvall').style.display='none';\"+\n\"window.location.reload();\"&lt;?php\n}\n?&gt;style=\"background:#&lt;?php echo ColorFromGradient($x-&gt;Body-&gt;Data-&gt;PAC-&gt;Value, \n0, 9000, &#091;'FFFFFF', 'FFAA00', 'CC0000'&#093;); ?&gt;\"&gt;\n\n&lt;?php \nif(isset($gear) &amp;&amp; $gear == true) {\n ?&gt;\n &lt;style&gt;\n.loader {\n  border: 16px solid #f3f3f3;\n  border-radius: 50%;\n  border-top: 16px solid #3498db;\n  width: 120px;\n  height: 120px;\n  -webkit-animation: spin 2s linear infinite; \/* Safari *\/\n  animation: spin 2s linear infinite;\n}\n\n\/* Safari *\/\n@-webkit-keyframes spin {\n  0% { -webkit-transform: rotate(0deg); }\n  100% { -webkit-transform: rotate(360deg); }\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n&lt;\/style&gt;&lt;div style=\"display:none;text-align:center;width:100%;\nmargin-left:-16px;margin-top:100px;\" id=\"pvx\"&gt;\n\t&lt;span style=\"text-align: center;width: 120px;display: inline-block;\"&gt;\n\t\t&lt;span class=\"loader\" style=\"display:none;\"&gt;&lt;\/span&gt;\n\t&lt;\/span&gt;\n&lt;\/div&gt;\n &lt;?php\n}\n?&gt;\n&lt;div style=\"&lt;?php \nif(@$gear != true)\n{?&gt;width:80px;&lt;?php } ?&gt;text-align:center;\" id=\"pvall\"&gt;\n\t&lt;span style=\"text-shadow: 1px 1px #ffffff;\n\tfont-family:Arial,Verdana;font-weight:bold;\"&gt;PV&lt;\/span&gt;&lt;br \/&gt;&lt;br \/&gt;\n&lt;span style=\"font-weight:bold;\" id=\"f1\"&gt;&lt;?php echo $x-&gt;Body-&gt;Data-&gt;PAC-&gt;Value.\n$x-&gt;Body-&gt;Data-&gt;PAC-&gt;Unit.$fallback1; ?&gt;&lt;\/span&gt;&lt;br \/&gt;\n&lt;span style=\"\" id=\"f2\"&gt;&lt;?php echo $x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Value.\n$x-&gt;Body-&gt;Data-&gt;DAY_ENERGY-&gt;Unit.$fallback2; ?&gt;&lt;\/span&gt;\n&lt;br \/&gt;&lt;br \/&gt;\n&lt;span style=\"\" id=\"f3\"&gt;&lt;?php echo date(\"H:i:s\").($fallback1 != \"\" ? \" F\" : \"\"); ?&gt;&lt;\/span&gt;\n&lt;\/div&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/textarea><\/pre><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\"><code><span class=\"line\"><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">\/\/ Adjust the IP Address<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">json_decode<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">file_get_contents<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">http:\/\/192.168.XXX.XXX\/<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">solar_api\/v1\/GetInverterRealtimeData.cgi?<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Scope=Device&amp;DeviceId=1&amp;DataCollection=CommonInverterData<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">false<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">!isset<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">===<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">null<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">===<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">false<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">explode<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> file_get_contents<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">.\/1.dat<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">y<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">y<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">file_put_contents<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">.\/1.dat<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">isset<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">_GET<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">x<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">&#093;))<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">exit<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback2<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">date<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">H:i:s<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> F<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">Gradient<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexFrom<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexTo<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ColorSteps<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ credit: Hailwood (stackoverflow)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexFrom<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexFrom<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexFrom<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">4<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexTo<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexTo<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">hexdec<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">substr<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexTo<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">4<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ColorSteps<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ColorSteps<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ToRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ColorSteps<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">GradientColors<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">array<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">for<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ColorSteps<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #81A1C1\">++<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">floor<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">floor<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">floor<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">FromRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">StepRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">sprintf<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">%02x<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">sprintf<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">%02x<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">g<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexRGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">sprintf<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">%02x<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">RGB<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">b<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">&#093;))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">GradientColors<\/span><span style=\"color: #ECEFF4\">[]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">implode<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">NULL<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">HexRGB<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">GradientColors<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">array_filter<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">GradientColors<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">val<\/span><span style=\"color: #ECEFF4\">){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">strlen<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">val<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">?<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">false<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">    <\/span><span style=\"color: #ECEFF4\">})<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">GradientColors<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">ColorFromGradient<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">min<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">colors<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">tablecolors<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">prevcolor<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">array_shift<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">colors<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">foreach<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">colors<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">as<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">color<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">tablecolors<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">array_merge<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">tablecolors<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> Gradient<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">prevcolor<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">color<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">prevcolor<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">color<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #81A1C1\">-$<\/span><span style=\"color: #D8DEE9\">min<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #81A1C1\">-=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">min<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ncolor<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">round<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">count<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">tablecolors<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">\/$<\/span><span style=\"color: #D8DEE9\">max<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">tablecolors<\/span><span style=\"color: #ECEFF4\">&#091;<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">ncolor<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">?&gt;&lt;!<\/span><span style=\"color: #D8DEE9FF\">DOCTYPE html<\/span><span style=\"color: #81A1C1\">&gt;&lt;<\/span><span style=\"color: #D8DEE9FF\">html<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">head<\/span><span style=\"color: #81A1C1\">&gt;&lt;<\/span><span style=\"color: #D8DEE9FF\">script<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">dR<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">setInterval<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #ECEFF4\">(){<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  document<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">getElementById<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">f3<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">innerHTML <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">R...<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  <\/span><span style=\"color: #81A1C1\">var<\/span><span style=\"color: #88C0D0\"> xhr <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #8FBCBB\">XMLHttpRequest<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">open<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">GET<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">.\/pvgirdcgi.php?x=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">+new<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #8FBCBB\">Date<\/span><span style=\"color: #ECEFF4\">(),<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">timeout <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">5000<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">onreadystatechange <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">   <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">readyState <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">4<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">    document<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">getElementById<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">f1<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">innerHTML <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">responseText<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">split<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)&#091;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">    document<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">getElementById<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">f2<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">innerHTML <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">responseText<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">split<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)&#091;<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">    document<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">getElementById<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #A3BE8C\">f3<\/span><span style=\"color: #ECEFF4\">&#039;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">innerHTML <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">responseText<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">split<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">|<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)&#091;<\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">&#093;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">   <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">  xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">onerror <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #81A1C1\">function<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">{}<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\"> xhr<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">send<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">},<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #B48EAD\">8000<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">\t<\/span><span style=\"color: #616E88\">\/\/setTimeout(function(){window.location.reload()},1000*20);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">script<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">style<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">isset<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> body<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\">text<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">align<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\">center<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\">margin<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">top<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #D8DEE9FF\">px<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\">font<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">size<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #B48EAD\">32<\/span><span style=\"color: #D8DEE9FF\">px<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">span <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> text<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">shadow<\/span><span style=\"color: #81A1C1\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">7<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#fff,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#fff,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">21<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#fff,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">42<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#0fa,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">82<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#0fa,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">92<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#0fa,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">102<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#0fa,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">151<\/span><span style=\"color: #D8DEE9FF\">px <\/span><span style=\"color: #616E88\">#0fa;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> font<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">family<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\">Arial<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">Verdana<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">style<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">head<\/span><span style=\"color: #81A1C1\">&gt;&lt;<\/span><span style=\"color: #D8DEE9FF\">body <\/span><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">isset<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">?&gt;<\/span><span style=\"color: #D8DEE9FF\"> onClick<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">document.querySelector(&#039;#pvx&#039;).style.display=&#039;block&#039;;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">+<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">document.querySelector(&#039;.loader&#039;).style.display=&#039;block&#039;;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">+<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">document.querySelector(&#039;#pvall&#039;).style.display=&#039;none&#039;;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">+<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">window.location.reload();<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">?&gt;<\/span><span style=\"color: #D8DEE9FF\">style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">background:#&lt;?php echo ColorFromGradient(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #A3BE8C\">-&gt;Data-&gt;PAC-&gt;Value, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">0, 9000, &#091;&#039;FFFFFF&#039;, &#039;FFAA00&#039;, &#039;CC0000&#039;&#093;); ?&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">isset<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">style<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">loader <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  border: <\/span><span style=\"color: #B48EAD\">16<\/span><span style=\"color: #D8DEE9FF\">px solid <\/span><span style=\"color: #616E88\">#f3f3f3;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  border<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">radius<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><span style=\"color: #81A1C1\">%;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  border<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">top<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">16<\/span><span style=\"color: #D8DEE9FF\">px solid <\/span><span style=\"color: #616E88\">#3498db;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  width: <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\">px<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  height: <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\">px<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">webkit<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">animation<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> spin <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">s linear infinite<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">\/* Safari *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  animation: spin <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">s linear infinite<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">\/* Safari *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">@-<\/span><span style=\"color: #D8DEE9FF\">webkit<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">keyframes spin <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">webkit<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">transform<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">rotate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #88C0D0\">deg<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">100<\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">webkit<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">transform<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">rotate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">360<\/span><span style=\"color: #88C0D0\">deg<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9FF\">keyframes spin <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\"> transform<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">rotate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #88C0D0\">deg<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">100<\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\"> transform<\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">rotate<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">360<\/span><span style=\"color: #88C0D0\">deg<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">style<\/span><span style=\"color: #81A1C1\">&gt;&lt;<\/span><span style=\"color: #D8DEE9FF\">div style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">display:none;text-align:center;width:100%;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">margin-left:-16px;margin-top:100px;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">pvx<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">text-align: center;width: 120px;display: inline-block;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span <\/span><span style=\"color: #81A1C1\">class=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">loader<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">display:none;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">div<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;?<\/span><span style=\"color: #D8DEE9FF\">php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">?&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">div style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;?php <\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">if(@<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">gear<\/span><span style=\"color: #A3BE8C\"> != true)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">{?&gt;width:80px;&lt;?php } ?&gt;text-align:center;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">pvall<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">text-shadow: 1px 1px #ffffff;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">\tfont-family:Arial,Verdana;font-weight:bold;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\">PV<\/span><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;&lt;br<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/&gt;&lt;br<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">font-weight:bold;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">f1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><span style=\"color: #81A1C1\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">PAC<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;&lt;br<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">f2<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><span style=\"color: #81A1C1\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Value<\/span><span style=\"color: #81A1C1\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Body<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Data<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">DAY_ENERGY<\/span><span style=\"color: #81A1C1\">-&gt;<\/span><span style=\"color: #D8DEE9\">Unit<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback2<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;br<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/&gt;&lt;br<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">span style<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">f3<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;&lt;?<\/span><span style=\"color: #D8DEE9FF\">php <\/span><span style=\"color: #81A1C1\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">date<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">H:i:s<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">$<\/span><span style=\"color: #D8DEE9\">fallback1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> F<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">?&gt;&lt;\/<\/span><span style=\"color: #D8DEE9FF\">span<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">div<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">body<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;\/<\/span><span style=\"color: #D8DEE9FF\">html<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/pv-abfrage-de.png\" width=\"1120\" height=\"580\" decoding=\"async\"\n     alt=\"Ablauf der Abfrage alle f\u00fcnf Minuten von der lokalen API des Fronius Symo \u00fcber das PHP-Skript, mit der Verzweigung bei vorhandenem DAY_ENERGY-Wert und dem R\u00fcckfall auf die Datei 1.dat sowie der Farbskala f\u00fcr den Hintergrund\">\n<figcaption>Die API liefert, 1.dat erinnert \u2014 deshalb beh\u00e4lt die Anzeige nachts ihre Form, statt einen Fehler zu zeigen.<\/figcaption>\n<\/figure>\r\n\r\n\r\n\n<h2 class=\"wp-block-heading\">M\u00f6glichkeiten mit Home Assistant<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Genau dieser Fronius-API-Endpunkt ist auch f\u00fcr umfassendere Smart Home-Plattformen wie Home Assistant \u00e4u\u00dferst wertvoll. Durch die Konfiguration der nativen Fronius-Integration fragt Home Assistant kontinuierlich dieselben JSON-Daten ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daraus ergeben sich folgende Einsatzm\u00f6glichkeiten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Energie-Dashboard:<\/strong> Die generierten Energiedaten speisen direkt das Home Assistant Energie-Dashboard, welches Langzeitstatistiken, Kostenberechnungen und die Netzunabh\u00e4ngigkeit visuell aufbereitet.<\/li>\n\n\n\n<li><strong>Smarte Automatisierungen:<\/strong> Die Echtzeit-Leistungsdaten (<code>PAC<\/code>) k\u00f6nnen als Ausl\u00f6ser (Trigger) f\u00fcr Automatisierungen dienen. So lassen sich beispielsweise eine W\u00e4rmepumpe, eine Klimaanlage oder ein Ladeger\u00e4t f\u00fcr Elektroautos automatisch einschalten, sobald die Solarproduktion einen bestimmten Schwellenwert \u00fcberschreitet, wodurch der Eigenverbrauch maximiert wird.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Fronius Symo Wechselrichter stellt durch seine lokale API leicht zug\u00e4ngliche Echtzeitdaten bereit<sup><\/sup>. Ob \u00fcber ein eigens entwickeltes PHP-Skript in Kombination mit der Widgetify-App zur schnellen Kontrolle auf dem Smartphone oder durch eine umfassende Einbindung in Home Assistant f\u00fcr komplexe Automatisierungen \u2013 die Integration dieses Wechselrichters in ein Smart Home-\u00d6kosystem macht die \u00dcberwachung und Optimierung der Solarenergienutzung enorm effizient.<\/p>\n\n\n<div class=\"lw-quellen\">\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/modbus.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Modbus Organization<\/a><\/li>\n<li><a href=\"https:\/\/www.home-assistant.io\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Home Assistant documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Photovoltaikanlagen spielen eine entscheidende Rolle im modernen Energiemanagement. Der Wechselrichter Fronius Symo bietet hervorragende M\u00f6glichkeiten zur Integration in eine Smart Home-Umgebung. Dank einer offenen, lokalen API ist die Datenextraktion unkompliziert und erfordert keine st\u00e4ndige Cloud-Anbindung. Dieser lokale Ansatz sorgt f\u00fcr hohe Zuverl\u00e4ssigkeit und schnelle Reaktionszeiten bei Automatisierungen. Ma\u00dfgeschneidertes PHP-Skript und Smartphone-Widget Zur \u00dcberwachung des Status [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13681,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[92175,92178,92181,92184,92048,92187],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-smart-home-de","tag-energy-management-de","tag-home-assistant-de","tag-modbus-de","tag-photovoltaics-de","tag-rest-api-de","tag-smart-home-de-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Photovoltaikanlagen spielen eine entscheidende Rolle im modernen Energiemanagement. Der Wechselrichter Fronius Symo bietet hervorragende M\u00f6glichkeiten zur Integration in eine Smart Home-Umgebung. Dank einer offenen, lokalen API ist die Datenextraktion unkompliziert und erfordert keine st\u00e4ndige Cloud-Anbindung. Dieser lokale Ansatz sorgt f\u00fcr hohe Zuverl\u00e4ssigkeit und schnelle Reaktionszeiten bei Automatisierungen. Ma\u00dfgeschneidertes PHP-Skript und Smartphone-Widget Zur \u00dcberwachung des Status [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-05T09:33:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T08:56:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Integration des Fronius Symo Wechselrichters in Smart Home Systeme\",\"datePublished\":\"2026-08-05T09:33:00+00:00\",\"dateModified\":\"2026-09-10T08:56:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/\"},\"wordCount\":424,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-206-integration-des-fronius-symo-wechsel-g.png\",\"keywords\":[\"Energy Management\",\"Home Assistant\",\"Modbus\",\"Photovoltaics\",\"REST API\",\"Smart Home\"],\"articleSection\":[\"Smart Home\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/\",\"name\":\"Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-206-integration-des-fronius-symo-wechsel-g.png\",\"datePublished\":\"2026-08-05T09:33:00+00:00\",\"dateModified\":\"2026-09-10T08:56:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-206-integration-des-fronius-symo-wechsel-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-206-integration-des-fronius-symo-wechsel-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Integration des Fronius Symo Wechselrichters in Smart Home Systeme\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/smart-home-de\\\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integration des Fronius Symo Wechselrichters in Smart Home Systeme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/","og_locale":"en_US","og_type":"article","og_title":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog","og_description":"Photovoltaikanlagen spielen eine entscheidende Rolle im modernen Energiemanagement. Der Wechselrichter Fronius Symo bietet hervorragende M\u00f6glichkeiten zur Integration in eine Smart Home-Umgebung. Dank einer offenen, lokalen API ist die Datenextraktion unkompliziert und erfordert keine st\u00e4ndige Cloud-Anbindung. Dieser lokale Ansatz sorgt f\u00fcr hohe Zuverl\u00e4ssigkeit und schnelle Reaktionszeiten bei Automatisierungen. Ma\u00dfgeschneidertes PHP-Skript und Smartphone-Widget Zur \u00dcberwachung des Status [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-05T09:33:00+00:00","article_modified_time":"2026-09-10T08:56:08+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme","datePublished":"2026-08-05T09:33:00+00:00","dateModified":"2026-09-10T08:56:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/"},"wordCount":424,"commentCount":2,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png","keywords":["Energy Management","Home Assistant","Modbus","Photovoltaics","REST API","Smart Home"],"articleSection":["Smart Home"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/","name":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png","datePublished":"2026-08-05T09:33:00+00:00","dateModified":"2026-09-10T08:56:08+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-206-integration-des-fronius-symo-wechsel-g.png","width":1200,"height":630,"caption":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/smart-home-de\/integration-des-fronius-symo-wechselrichters-in-smart-home-systeme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Integration des Fronius Symo Wechselrichters in Smart Home Systeme"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":7,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":18028,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/206\/revisions\/18028"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13681"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}