Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Aufruf] Neuer Adapter ioBroker.pi-hole

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Aufruf] Neuer Adapter ioBroker.pi-hole

    This topic has been deleted. Only users with topic management privileges can see it.
    • unltdnetworx
      unltdnetworx Developer @sol21 last edited by

      @sol21
      Du kannst gerne bei Github einen Issue fpr die geplante Version 2.x hinterlassen. Dann ist das hinterlegt und geht nicht unter.

      1 Reply Last reply Reply Quote 0
      • P
        pix @SBorg last edited by

        Hallo,

        habe heute den Adapter installiert und bin sehr zufrieden. Tolle Arbeit.
        Bis nutze ich eine Skript:

        /* Pi-hole
        pi-hole JSON Leser und Statusseiten Parser
        InfluxDB Vorbereitung
        
        23.04.2017 von Pix erstellt
        28.05.2017 var tabelle umgestellt
        31.05.2017 forceCreation und common/influx
        11.02.2018 Parse Temperatur, LOAD, Mem, Aktivitität; jeweils mit Farbe
                   Code optimiert
                   Ablauf optimiert
        26.02.2018 Update der Serversoftware wird abgefragt
        01.03.2018 Muster zur Temperaturerkennung optimiert
                   
        todo: Reaktionen mit Optin und telegram bei Serverausfall, Temperatur zu hoch, etc.           
                   
        */
        
        const fC = false; // forceCreation
        const logging = false;
        const pfad = ".Pi-hole.";
        const zeitplan = "*/5 * * * *"; // alle 5 Minuten
        const zeitplan_parse = "*/1 * * * *"; // minütlich
        const ip_pihole = "192.168.XXX.XXX"; // IP eintragen
        
        
        // #############################################################################
        // ab hier nix mehr ändern
        
        const url = "http://" + ip_pihole + "/admin/api.php";
        const url_parse = "http://" + ip_pihole + "/admin/index.php";
        
        // Instanz des Javascript-Adapters ermitteln
        var instanz = "javascript." + instance;
        if (logging) log(instanz);
        
        // ID definieren
        const idJSON             = instanz + pfad + "JSON",
              idDomains          = instanz + pfad + "Domains_blocked",
              idDNSQueries       = instanz + pfad + "DNS_queries",
              idAdsBlocked       = instanz + pfad + "Ads_blocked",
              idAdsPercentage    = instanz + pfad + "Ads_percentage",
              idActive           = instanz + pfad + "aktiv",
              idTemp             = instanz + pfad + "Temperatur",
              idTempFarbe        = instanz + pfad + "Farbe.Temperatur",
              idMemory           = instanz + pfad + "Speicher",
              idMemoryFarbe      = instanz + pfad + "Farbe.Speicher",
              idVersionFTL       = instanz + pfad + "Version.FTL",
              idVersionPihole    = instanz + pfad + "Version.Pihole",
              idVersionInterface = instanz + pfad + "Version.Interface",
              idLoad             = instanz + pfad + "Load",
              idLoadFarbe        = instanz + pfad + "Farbe.Load",
              idAktiv            = instanz + pfad + "aktiv_parse",
              idAktivFarbe       = instanz + pfad + "Farbe.aktiv_parse",
              idTabelle          = instanz + pfad + "Tabelle",
              idUpdate           = instanz + pfad + "Update";
        
        // States erstellen
        createState(idJSON, "", fC, {
            name: "JSON Datei vom Pi-hole Server",
            desc: "Kopie der JSON Datei",
            type: "string",
            read: true,
            write: true,
            role: "json",
            custom: {
                "influxdb.0": {
                    "enabled": false,
                    "changesOnly": false,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idDomains, 0, fC, {
            name: "Pi-hole Domains blocked today", 
            desc: "Heute blockierte Domains (API)",
            type: "number", 
            def:  0,
            read: true,
            write: true,
            role: "value",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idDNSQueries, 0, fC, {
            name: "Pi-hole DNS Queries today", 
            desc: "Heutige DOmain Name Server Anfragen (API)",
            type: "number", 
            def:  0,
            read: true,
            write: true,
            role: "value",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idAdsBlocked, 0, fC, {
            name: "Pi-hole Ads blocked today", 
            desc: "Heute blockierte Werbungen (API)",
            type: "number", 
            def:  0,
            read: true,
            write: true,
            role: "value",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idAdsPercentage, 0, fC, {
            name: "Pi-hole Ads percentage today", 
            desc: "Anteil heute blockierter Werbungen an allen Werbungen (API)", // weiß nicht, ob das korrekt übersetzt ist
            type: "number", 
            def:  0,
            read: true,
            write: true,
            min: 0,
            max: 100,
            role: "value",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 63072000 // 2 Jahre
                }
            }
        });
        createState(idActive, false, fC, {
            name: "Ist der Pi-hole Server aktiv?", 
            desc: "Liefert das Webinterface pi.hole/admin/api.php Daten? (API)",
            type: "boolean", 
            read: true,
            write: true,
            role: "indicator",
            custom: {
                "influxdb.0": {
                    "enabled": false,
                    "changesOnly": false,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idAktiv, false, fC, {
            name: "Ist der Pi-hole Server aktiv?", 
            desc: "Läuft der Server (Webseite)",
            type: "boolean", 
            read: true,
            write: true,
            role: "indicator",
            custom: {
                "influxdb.0": {
                    "enabled": false,
                    "changesOnly": false,
                    "debounce": "",
                    "retention": 657000 // 1 Monat
                }
            }
        });
        createState(idAktivFarbe, "#FFFFFFF", fC, {
            name: "Pi-hole Aktivität HEX-Farbwert", 
            desc: "Indikator Farbwert Aktivität des Pi-Hole Servers (Webseite)",
            type: "string",
            def:  "#FFFFFF",
            read: true,
            write: true,
            role: "text"
        });
        createState(idLoad, "0", fC, {
            name: "Pi-hole CPU Load", 
            desc: "CPU Belastung (Load) des Pi-Hole Servers (Webseite)",
            type: "string",
            def:  "0",
            read: true,
            write: true,
            role: "text"
        });
        createState(idLoadFarbe, "#FFFFFFF", fC, {
            name: "Pi-hole Load HEX-Farbwert", 
            desc: "Indikator Farbwert LOAD des Pi-Hole Servers (Webseite)",
            type: "string",
            def:  "#FFFFFF",
            read: true,
            write: true,
            role: "text"
        });
        createState(idTemp, 0, fC, {
            name: "Pi-hole Temperatur", 
            desc: "Wärmeentwicklung des Pi-Hole Servers (Webseite)",
            type: "number",
            unit: "°C",
            def:  0,
            read: true,
            write: true,
            role: "value.temperature",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 63072000 // 2 Jahre
                }
            }
        });
        createState(idTempFarbe, "#FFFFFFF", fC, {
            name: "Pi-hole Temperatur HEX-Farbwert", 
            desc: "Indikator Farbwert des Pi-Hole Servers (Webseite)",
            type: "string",
            def:  "#FFFFFF",
            read: true,
            write: true,
            role: "text"
        });
        createState(idVersionPihole, "", fC, {
            name: "Pi-hole Version", 
            desc: "Software Version Pi-hole (Webseite)",
            type: "string",
            def:  "",
            read: true,
            write: true,
            role: "text"
        });
        createState(idVersionFTL, "", fC, {
            name: "FTL Version", 
            desc: "Software Version FTL (Webseite)",
            type: "string",
            def:  "",
            read: true,
            write: true,
            role: "text"
        });
        createState(idVersionInterface, "", fC, {
            name: "Web Interface Version", 
            desc: "Software Version Web Interface (Webseite)",
            type: "string",
            def:  "",
            read: true,
            write: true,
            role: "text"
        });
        createState(idMemory, 0, fC, {
            name: "Pi-hole Speichernutzung", 
            desc: "von Pi-Hole belegter Hauptspeicher (Webseite)",
            type: "number",
            unit: "%",
            def:  0,
            read: true,
            write: true,
            min: 0,
            max: 100,
            role: "value",
            custom: {
                "influxdb.0": {
                    "enabled": true,
                    "changesOnly": true,
                    "debounce": "",
                    "retention": 63072000 // 2 Jahre
                }
            }
        });
        createState(idMemoryFarbe, "#FFFFFFF", fC, {
            name: "Pi-hole Speichernutzung HEX-Farbwert", 
            desc: "Indikator Farbwert Speichernutzung des Pi-Hole Servers (Webseite)",
            type: "string",
            def:  "#FFFFFF",
            read: true,
            write: true,
            role: "text"
        });
        createState(idTabelle, "", true, {
            name: "Pi-hole HTML Tabelle",
            desc: "HMTL Tabelle mit den Daten der JSON-Datei",
            type: "string",
            read: true,
            write: true,
            role: "html",
            custom: {
                "influxdb.0": {
                    "enabled": false,
                    "changesOnly": false,
                    "debounce": "",
                    "retention": 63072000 // 2 Jahre
                }
            }
        });
        createState(idUpdate, false, fC, {
            name: "Ist ein Pi-hole Softwareupdate möglich?", 
            desc: "Gibt es eine neue Version der Serversoftware? (Webseite)",
            type: "boolean", 
            read: true,
            write: true,
            role: "indicator"
        });
         
        
        var request = require("request");
        
        function parseWebsite() { // für Version 3.3
            var options = {
                url: url_parse,
                headers: {
                    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                }
            }; 
            try {
                request(options, function (error, response, body) {
                    if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                        // Temperatur Zahl
                        const temp_pattern = /\d{1,2}\.?\d*(?= °C)/;
                        if (body.match(temp_pattern) === null) log('gesuchter Quellcode (Temperatur Pi-Hole) nicht gefunden', 'error');
                        else {
                            var temp_arr =  body.match(temp_pattern);
                            var temp = parseFloat(temp_arr[0]);
                            if (logging) log("Temperatur: " + temp + "°C");
                            setState(idTemp, temp);        
                        }
                        // Temperatur Farbe String
                        const tempfarbe_pattern = /.{7}(?="><\/i> Temp)/;
                        if (body.match(tempfarbe_pattern) === null) log('gesuchter Quellcode (Temperatur Farbe Pi-Hole) nicht gefunden', 'error');
                        else {
                            var tempfarbe_arr =  body.match(tempfarbe_pattern);
                            if (logging) log("Temperatur-Farbe (HEX-Wert): " + tempfarbe_arr[0]);
                            setState(idTempFarbe, tempfarbe_arr[0]);        
                        }
                        // Speicherbelegung Zahl
                        const mem_pattern = /\d{1,2}\.\d{1}(?=&thinsp;%<\/a>)/;
                        if (body.match(mem_pattern) === null) log('gesuchter Quellcode (Speicherbelegung Pi-Hole) nicht gefunden', 'error');
                        else {
                            var mem_arr =  body.match(mem_pattern);
                            var mem = parseFloat(mem_arr[0]);
                            if (logging) log("Speicherbelegung: " + mem + "%");
                            setState(idMemory, mem);        
                        }
                        // Farbe Speicherbelegung String / HEX-Wert
                        const memfarbe_pattern = /.{7}(?="><\/i> Memory)/;
                        if (body.match(memfarbe_pattern) === null) log('gesuchter Quellcode (Farbe Speicherbelegung Pi-Hole) nicht gefunden', 'error');
                        else {
                            var memfarbe_arr =  body.match(memfarbe_pattern);
                            if (logging) log("Speicherbelegung Farbe: " + memfarbe_arr[0]);
                            setState(idMemoryFarbe, memfarbe_arr[0]);        
                        }
                        // LOAD String zB 0 0 0 oder 10.4 1.45 0
                        const load_pattern = /Load:&nbsp;&nbsp;(\d*|\d*\.\d*)&nbsp;&nbsp;(\d*|\d*\.\d*)&nbsp;&nbsp;(\d*|\d*\.\d*)/;
                        if (body.match(load_pattern) === null) log('gesuchter Quellcode (LOAD Pi-Hole) nicht gefunden', 'error');
                        else {
                            var load_arr =  body.match(load_pattern);
                            var load0 = load_arr[0].replace(/Load:/i,"");
                            var load = load0.replace(/&nbsp;/g,"  ");
                            if (logging) log("CPU LOAD Server: " + load);
                            setState(idLoad, load);        
                        }
                        // Farbe LOAD String / HEX-Wert
                        const loadfarbe_pattern = /.{7}(?="><\/i>.*Load:)/;
                        if (body.match(loadfarbe_pattern) === null) log('gesuchter Quellcode (Farbe LOAD Pi-Hole) nicht gefunden', 'error');
                        else {
                            var loadfarbe_arr =  body.match(loadfarbe_pattern);
                            if (logging) log("LOAD Farbe: " + loadfarbe_arr[0]);
                            setState(idLoadFarbe, loadfarbe_arr[0]);        
                        }
                        // Version Pihole zB 3.2.1 String
                        const versionpi_pattern = /<b>Pi-hole Version \s*<\/b>\s*v\d*(\.\d*)*\.\d*/; // x.x.x oder x.x
                        if (body.match(versionpi_pattern) === null) log('gesuchter Quellcode (Pi-Hole Version) nicht gefunden', 'error');
                        else {
                            var versionpi_arr =  body.match(versionpi_pattern);
                            var versionpi = versionpi_arr[0].replace(/<b>Pi-hole Version <\/b> v/,"");
                            if (logging) log("Version Pihole Server: " + versionpi);
                            setState(idVersionPihole, versionpi);        
                        }
                        // Version FTL zB 3.2.1 String
                        const versionftl_pattern = /<b>FTL Version.*v\d*(\.\d*)*\.\d*/;
                        if (body.match(versionftl_pattern) === null) log('gesuchter Quellcode (FTL Version) nicht gefunden', 'error');
                        else {
                            var versionftl_arr =  body.match(versionftl_pattern);
                            var versionftl = versionftl_arr[0].replace(/<b>FTL Version.*v/,"");
                            if (logging) log("FTL Version Pihole Server: " + versionftl);
                            setState(idVersionFTL, versionftl);        
                        }
                        // Version Web Interface zB 3.2.1 String
                        const versioninterface_pattern = /<b>Web Interface Version.*<\/b>v\d*(\.\d*)*\.\d*/;
                        if (body.match(versioninterface_pattern) === null) log('gesuchter Quellcode (Web Interface Version) nicht gefunden', 'error');
                        else {
                            var versioninterface_arr =  body.match(versioninterface_pattern);
                            var versioninterface = versioninterface_arr[0].replace(/<b>Web Interface Version.*<\/b>v/,"");
                            if (logging) log("Web Interface Version Pihole Server: " + versioninterface);
                            setState(idVersionInterface, versioninterface);        
                        }
                        // Aktiv zB true/false boolean holt das aus String
                        const aktiv_pattern = /i>.*(?=<\/a><a id="temperature">)/;
                        if (body.match(aktiv_pattern) === null) log('gesuchter Quellcode (Pi-hole aktiv) nicht gefunden', 'error');
                        else {
                            var aktiv_arr =  body.match(aktiv_pattern);
                            var aktiv = aktiv_arr[0].replace(/i>\s*/,"");
                            var aktiv_bool = (aktiv === "Active") ? true : false;
                            if (logging) log("Pihole Server aktiv? " + aktiv + "(" + aktiv_bool + ")");
                            setState(idAktiv, aktiv_bool);     
                        }
                        // Farbe Aktiv String / HEX-Wert
                        const aktivfarbe_pattern = /.{7}(?="><\/i.*<\/a><a id="temperature">)/;
                        if (body.match(aktivfarbe_pattern) === null) log('gesuchter Quellcode (Farbe Aktivität Pi-Hole) nicht gefunden', 'error');
                        else {
                            var aktivfarbe_arr =  body.match(aktivfarbe_pattern);
                            if (logging) log("Aktivität Farbe: " + aktivfarbe_arr[0]);
                            setState(idAktivFarbe, aktivfarbe_arr[0]);        
                        }
                        // Update available
                        const update_pattern = /Update available!/;
                        if (body.match(update_pattern) === null) setState(idUpdate, false); //log('gesuchter Quellcode (Update Warnung) nicht gefunden', 'error');
                        else {
                            var update_arr =  body.match(update_pattern);
                            var update = update_arr[0];
                            var update_bool = update === ("Update available!") ? true : false;
                            if (logging) log("Pihole Softwareupdate möglich? (" + update_bool + ")");
                            setState(idUpdate, update_bool);          
                        }
                    } else {
                        log("StatusCode = " + response.statusCode);
                        log(error, 'error');                               // Error beim Einlesen
                    }
                });
            } catch (e) {
                log('Fehler (try) leseWebseite (Pi-Hole Index.html): ' + e, 'error');
            }
            if (logging) log('Pi-Hole Webseite eingelesen, Temperatur und Speicherbelegung gespeichert');
        }
        
        
        function readPihole() {
            if (logging) log("Pi-hole: URL " + url + " wird abgefragt ...");
            var tabelle ="<table class='pihole_tabelle'><caption>Pi-hole</caption><thead><tr><th>Admin Service: " + url + "</th></tr></thead><tbody>";
            request(url, function (error, response, body) {
                if (!error && response.statusCode == 200) {
                    var result;
                    var dnsblocked,
                        dnsqueries,
                        adsblocked,
                        adspercentage; 
                    try{
                        result = JSON.parse(body);
                        var data = JSON.stringify(result, null, 2);
                        if (logging) log(data);
                        if (logging) log(body);
                        setState(idJSON, data);
                        if (logging) log("JSON: "+ getState(idJSON).val);
                        
                        if (result) { // CHECK
                        
                            setState(idActive, true);
                            if (logging) log("Pi-hole liefert Daten und ist aktiv");
                            // http://forum.iobroker.net/viewtopic.php?f=24&t=6053&sid=65e9ec9396fe557147e535c5a4631982#p68823
                            dnsblocked = (result.domains_being_blocked)/*.replace(/,/, "")*/;
                            dnsqueries = (result.dns_queries_today)/*.replace(/,/, "")*/;
                            adsblocked = result.ads_blocked_today;
                            adspercentage = result.ads_percentage_today;
                            
                            if ( isNaN(parseFloat(adspercentage)) === false ) {
                                setState(idAdsPercentage, parseFloat(adspercentage));
                            } else setState(idAdsPercentage, 100);
                            setState(idDomains, parseFloat(dnsblocked));
                            setState(idDNSQueries, parseFloat(dnsqueries));
                            setState(idAdsBlocked, parseFloat(adsblocked));
                        
                            // Eintrag anfügen
                            tabelle += "<tr><td class='pihole_label'>Anzahl blockierter Domains:</td>"
                                    +  "<td class='pihole_data'>" + dnsblocked + "</td></tr>"
                                    
                                    +  "<tr><td class='pihole_label'>DNS-Abfragen (heute):</td>"
                                    +  "<td class='pihole_data'>" + dnsqueries + "</td></tr>"
                                
                                    +  "<tr><td class='pihole_label'>Blockierte Werbung (heute):</td>"
                                    +  "<td class='pihole_data'>" + adsblocked + "</td></tr>"
                                
                                    +  "<tr><td class='pihole_label'>Werbeanteil (heute in Prozent):</td>"
                                    +  "<td class='pihole_data'>" + adspercentage + "</td></tr>";
                        } else tabelle += "<tr><td class='pihole_data'>Pi-hole nicht gefunden!</td></tr>";
                        // Ende Teil,d er aus dem Try raus kann
                    } catch (fehler_try) {
                        log("Pi-hole - Parse Fehler: " + fehler_try, "error");
                    }    
                } else {
                    log("Pi-hole - Fehler: " + error, "warn");
                }
                tabelle += "</tbody></table>";  
                setState(idTabelle, tabelle);                     
                if (logging) log("HTML-Tabelle: " + tabelle);
            });   // Ende request 
        }
        
        function main() {
            readPihole();
            setTimeout(parseWebsite, 3000); // verzögertes Parsen
        }
        schedule(zeitplan_parse, parseWebsite);
        schedule(zeitplan, readPihole);
        setTimeout(main, 500);
        

        Bildschirmfoto 2019-06-25 um 14.48.06.jpg

        Bildschirmfoto 2019-06-25 um 14.46.51.jpg

        @SBorg sagte in [Aufruf] Neuer Adapter ioBroker.pi-hole:

        Danke und schade.
        Ich frage nur mal (sonst schreibe ich mir bei Gelegenheit ein kleines Bash-Skript dafür) wie es bei dir mit parsen von Webseiten aussieht, bzw. ob du es dir später vorstellen kannst.
        PI_Hole-IP/admin/index.php:
        Nach <!-- Version Infos --> oder <div class="pull-right hidden-xs hidden-sm"> kommen die Versions-Infos. Die könnte man speichern oder einfach nach Update (denke ich, bei mir steht gerade keins an) durchsuchen.

        @unltdnetworx Im Skript wird auch geparst, damit ich eine Warnung in VIS ausgeben kann, wenn ein Update ansteht. Kannst du für den Adapter gern kopieren.

        unltdnetworx 1 Reply Last reply Reply Quote 3
        • P
          pix last edited by

          Hier nochmal die Widgets, die ich für die obige View nutze. Die Datenpunkte liegen in javascript.2 und das Bild ist aus der pi-hole-Admin-Seite.

          [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"System | Pi-hole","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"89px","top":"21px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.aktiv","visibility-cond":"==","visibility-val":1,"name":"Pihole aktiv?","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Ist der pi-hole aktiv?<br></p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"108px","top":"411px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"{a:javascript.2.Pi-hole.aktiv; (a != false) ? \"rgba(150,150,150,0.5)\" : \"rgba(250,20,20,0.5)\"}","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Ads_blocked","visibility-cond":"==","visibility-val":1,"name":"Anzeige Sonnenuntergang","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Blockierte Werbung (heute)<br></p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"107px","top":"264px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Ads_percentage","visibility-cond":"==","visibility-val":1,"name":"Anzeige Sonnenaufgang","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Werbeanteil (heute)<br></p>","html_append":" %","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"107px","top":"338px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.DNS_queries","visibility-cond":"==","visibility-val":1,"name":"Elevation Anzeige","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">DNS Anfragen (heute)<br></p>","html_append":"","test_html":"","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"label_true":"<span class=\"metro_beschriftung\">Hauptschalter<br>Beschattung aktiviert<br><br></span><span style=\"font-size: 80%; font-family: RobotoCondensed-Regular;\">Automatische Erkennung, ob Beschattung notwendig ist</span>","visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"107px","top":"192px","z-index":"21","width":"140px","color":"rgba(250,250,250,1)","font-size":"25px","height":"45px","text-align":"right","padding":"10px","background":"rgba(150,150,150,0.5)"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Domains_blocked","visibility-cond":"==","visibility-val":1,"name":"pi-hole Domains blocked","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Blockierte Domains (heute)<br></p>","html_append":"","test_html":"","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"label_true":"<span class=\"metro_beschriftung\">Hauptschalter<br>Beschattung aktiviert<br><br></span><span style=\"font-size: 80%; font-family: RobotoCondensed-Regular;\">Automatische Erkennung, ob Beschattung notwendig ist</span>","visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"107px","top":"120px","z-index":"21","width":"140px","color":"rgba(250,250,250,1)","font-size":"25px","height":"45px","text-align":"right","padding":"10px","background":"rgba(150,150,150,0.5)"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"javascript.2.scriptEnabled.common.VIS.VIS_Pihole_Info","visibility-cond":"==","visibility-val":1,"count":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html_prepend":"","value0":"<div style=\"float: left; margin: 0; padding: 12px 0 0 13px;\">Pi-hole-Skript inaktiv</div>","style0":"background-color: rgba(250,0,0,0.3);","style1":"background-color: rgba(120,120,120,0.3);","test_list":"1","html_append":"","value1":"<div style=\"float: left; margin: 0; padding: 12px 0 0 13px;\">Pi-hole Daten</div>","name":"Hintergrund Pi-hole","visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"93px","top":"75px","width":"188px","height":"417px","background":"","padding-top":"","z-index":"5","font-size":"18px","color":"rgba(250,250,250,1)","border-radius":"0 20px 0 0px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Load","visibility-cond":"==","visibility-val":1,"name":"Server Load","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0; padding: 10px 0 0 0;\">CPU Load<br></p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"340px","top":"272px","z-index":"21","width":"160px","height":"65px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"","padding-right":"10px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Version.Pihole","visibility-cond":"==","visibility-val":1,"name":"Server Version PiHole","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Pi-hole Version</p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"518px","top":"124px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10px"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"javascript.2.scriptEnabled.common.VIS.VIS_Pihole_Info","visibility-cond":"==","visibility-val":1,"count":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html_prepend":"","value0":"<div style=\"float: left; margin: 0; padding: 12px 0 0 13px;\">Pi-hole-Skript inaktiv</div>","style0":"background-color: rgba(250,0,0,0.3);","style1":"background-color: rgba(120,120,120,0.3);","test_list":"1","html_append":"","value1":"<div style=\"float: left; margin: 0; padding: 12px 0 0 13px;\">Server Daten [Raspberry Pi 3]</div>","name":"Hintergrund Server","visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"293px","top":"75px","width":"556px","height":"418px","background":"","padding-top":"","z-index":"5","font-size":"18px","color":"rgba(250,250,250,1)","border-radius":"0 20px 0 0px"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src":"/vis.0/iPad/img/pihole.svg"},"style":{"left":"699px","top":"123px","width":"129px","height":"193px","z-index":"25","opacity":"0.5"},"widgetSet":"basic"},{"tpl":"tplIFrame","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"0","src":"http://192.168.178.38:8082/flot/index.html?relativeEnd=now&range=1440&aggregateType=step&aggregateSpan=300&getNull=true&noBorder=noborder&titleColor=rgba(250%2C250%2C250%2C1)&titleSize=16px&legend=nw&hoverDetail=true&timeFormat=%25H%3A%25M%3A%25S+%25d.%25m.%25y&useComma=false&l%5B0%5D%5Bid%5D=javascript.2.Pi-hole.Speicher&l%5B0%5D%5Binstance%5D=influxdb.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Bcolor%5D=%23fff400&l%5B0%5D%5Bthickness%5D=2&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Bname%5D=Speicherbelegung&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5BignoreNull%5D=false&l%5B0%5D%5Byaxe%5D=rightColor&l%5B0%5D%5Bshadowsize%5D=0&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0.1&l%5B1%5D%5Bid%5D=javascript.2.Pi-hole.Temperatur&l%5B1%5D%5Binstance%5D=influxdb.0&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%23ff0000&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bunit%5D=%C2%B0C&l%5B1%5D%5Bname%5D=Temperature&l%5B1%5D%5Byaxe%5D=rightColor&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bxaxe%5D=off&x_labels_color=rgba(250%2C250%2C250%2C1)&y_labels_color=rgba(250%2C250%2C250%2C1)&timeType=relative&zoom=true&noedit=true&animation=300&legBg=rgba(0%2C0%2C0%2C0)&window_bg=rgba(0%2C0%2C0%2C0)&border_color=rgba(250%2C250%2C250%2C0.2)","name":"Diagramm","comment":"","class":"","refreshOnWakeUp":"false","refreshOnViewChange":"false","scrollX":"false","scrollY":"false","seamless":"true","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"273px","top":"508px","z-index":"20","width":"715px","height":"236px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Version.FTL","visibility-cond":"==","visibility-val":1,"name":"Server Version FTL","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">FTL Version</p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"518px","top":"198px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Version.Interface","visibility-cond":"==","visibility-val":1,"name":"Server Version WebInterface","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Web Interface Version</p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"518px","top":"272px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplJustgageValueIndicatorColored","data":{"visibility-cond":"==","visibility-val":1,"equalAfter":"0","balance1":"0.8","balance2":"1","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"","oid":"javascript.2.Pi-hole.Speicher","unit":" %","digits":"1","color1":"#00a348","color2":"#f59d00","color3":"#ff0000","html_prepend":"<p style=\"font-size: 48%; color: rgba(250,250,250,1); margin: -3px 0 -1px 0; padding: 5px 0 5px 0;\">Speicherbelegung<br></p>","equal":" &asymp;","up":" &uarr;","down":" &darr;","html_append_singular":"","html_append_plural":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"changeBgColor":false,"fullBri":true,"name":"Server Speichernutzung","visibility-groups-action":"hide","is_tdp":"false","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"min_oid":0,"max_oid":100},"style":{"left":"340px","top":"124px","z-index":"25","width":"160px","height":"65px","text-align":"right","font-size":"25px","border-width":"0px","border-style":"solid","border-color":"rgba(200,200,200,0.2)","color":"rgba(250,250,250,1)","background":"","background-color":"rgba(150,150,150,0.5)","padding":"","padding-right":"10px","padding-bottom":""},"widgetSet":"justgage"},{"tpl":"tplValueLastchange","data":{"oid":"javascript.2.Pi-hole.Temperatur","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"format_date":"DD.MM.YYYY hh:mm:ss","name":"Server Lastchange","html_prepend":"<span style=\"font-size: 80%; color: rgba(250,250,250,1);\">Lastchange </span>","html_append":"<span style=\"font-size: 80%; margin: 0 8px 0 0\">&nbsp; (parsed)</span>"},"style":{"left":"569px","top":"464px","z-index":"25","width":"267px","height":"17px","font-size":"80%","color":"","background-color":"rgba(150,150,150,0.0)","text-align":"right","padding":"","padding-left":"","padding-top":"1px","padding-right":"","margin-right":""},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.aktiv_parse","visibility-cond":"==","visibility-val":1,"name":"Pi-hole Aktiv (parse)","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0; padding: 10px 0 0 0;\">Pi-hole aktiv (parsed)?</p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"340px","top":"346px","z-index":"21","width":"160px","height":"65px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"","padding-right":"10px"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","svgType":"circle","strokeColor":"#FFFFFF","fill":"{javascript.2.Pi-hole.Farbe.Speicher}","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Farbe Speicherbelegung"},"style":{"left":"304px","top":"142px","z-index":"30","width":"20px","height":"20px","opacity":"0.75"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","svgType":"circle","strokeColor":"#FFFFFF","fill":"{javascript.2.Pi-hole.Farbe.Load}","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Farbe LOAD"},"style":{"left":"304px","top":"291px","z-index":"30","width":"20px","height":"20px","opacity":"0.75"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","svgType":"circle","strokeColor":"#FFFFFF","fill":"{javascript.2.Pi-hole.Farbe.aktiv_parse}","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Farbe Aktivität"},"style":{"left":"305px","top":"364px","z-index":"30","width":"20px","height":"20px","opacity":"0.75"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","svgType":"square","strokeColor":"#FFFFFF","fill":"{javascript.2.Pi-hole.Temperatur_Farbe}","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Farbe Temperatur"},"style":{"left":"303px","top":"217px","z-index":"30","width":"20px","height":"20px","opacity":"0.75"},"widgetSet":"basic"},{"tpl":"tplJustgageValueIndicatorColored","data":{"visibility-cond":"==","visibility-val":1,"equalAfter":"0","balance1":"0.8","balance2":"1","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"","oid":"javascript.2.Pi-hole.Temperatur","unit":" °C","digits":"1","color1":"#00a348","color2":"#f59d00","color3":"#ff0000","html_prepend":"<p style=\"; font-size: 48%; color: rgba(250,250,250,1); margin: -3px 0 -1px 0; padding: 5px 0 5px 0;\">Temperatur<br></p>","equal":" &asymp;","up":" &uarr;","down":" &darr;","html_append_singular":"","html_append_plural":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"changeBgColor":false,"fullBri":true,"name":"Server Temperatur","visibility-groups-action":"hide","is_tdp":"false","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"comment":""},"style":{"left":"340px","top":"198px","z-index":"25","width":"160px","height":"65px","text-align":"right","font-size":"25px","border-width":"0px","border-style":"solid","border-color":"rgba(200,200,200,0.2)","color":"rgba(250,250,250,1)","background":"","background-color":"rgba(150,150,150,0.5)","padding":"","padding-right":"10px","padding-bottom":""},"widgetSet":"justgage"},{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-violet","bg_class_false":"bg-transparent","icon_class_true":"icon-flag-2","icon_class_false":"icon-cancel","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"<span class=\"metro_beschriftung\">Lüfter Anrichte ist an</span>","label_false":"<span class=\"metro_beschriftung\">Lüfter Anrichte ist aus</span>","toggle_oid":"hm-rpc.0.IEQ0007259.1.STATE","name":"Flur Lüfter Anrichte","icon_true":"","icon_false":"","icon_width":"69","icon_height":"68","oid":"hm-rpc.0.KEQ0193137.1.STATE","icon_top":"21","icon_left":"35","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"visibility-groups-action":"hide","signals-cond-0":"!=","signals-val-0":"null","signals-icon-0":"/icons Challenger png/Sonstiges/iPad.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":"74","signals-vert-0":"73","signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":"true","signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":"1","signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"comment":"Unterputzaktor Anrichte","signals-oid-1":"","signals-oid-0":"","signals-text-0":"","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"class":"farbe"},"style":{"left":"117px","top":"535px","width":"137px","height":"137px","font-family":"","z-index":"15","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplValueString","data":{"oid":"javascript.2.Pi-hole.Update","visibility-cond":"==","visibility-val":1,"name":"Pi-hole Update (parse)","html_prepend":"<p style=\"font-size: 48%; margin: 0 0 2px 0\">Pi-hole Update verfügbar?</p>","html_append":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"518px","top":"346px","z-index":"21","width":"140px","height":"45px","text-align":"right","background-color":"rgba(150,150,150,0.5)","color":"rgba(250,250,250,1)","font-size":"25px","font-weight":"","padding":"10"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Pi-Hole Update verfügbar Anzeige","visibility-oid":"javascript.2.Pi-hole.Update","html":"<div style=\"width: 10px; height: 65px; background-color: red; border-radius: 0 20px 20px 0; float: left;\">\n</div>\n\n<div style=\"font-size: 25px; width: auto; height: 65px; float: left; padding: 9px 0 5px 10px;\">\n    <p style=\"margin: 0; padding: 0 0 0 0; font-size: small; \">Update (ssh):</p>\n    pihole -up\n</div>"},"style":{"left":"681px","top":"346px","z-index":"30","background-color":"","width":"161px","height":"65px","font-family":""},"widgetSet":"basic"}]
          

          Gruß
          Pix

          unltdnetworx 1 Reply Last reply Reply Quote 5
          • unltdnetworx
            unltdnetworx Developer @pix last edited by

            @pix
            Danke fürs Zurverfügungstellen. Wollte eigentlich das parsen vermeiden, aber versuche es dann bri Gelegenheit einzubauen. Momentan bin ich noch an dem Wunsch einer Verbindung mittels SSL dran.

            1 Reply Last reply Reply Quote 0
            • unltdnetworx
              unltdnetworx Developer last edited by

              Es gibt auf Github und in Kürze auch im latest-Repo eine Version 1.1.0. Damit wird jetzt eine https-Verbindung zu pi-hole unterstützt, falls noch jemand Bedarf dafür hat.

              1 Reply Last reply Reply Quote 0
              • unltdnetworx
                unltdnetworx Developer @pix last edited by

                @pix
                Weitere Neuerung in Version 1.2.0 auf Github. Update-Check sollte implementiert sein. Ich habe "leider" kein offenes Update, um es zu testen. Aber der neu erstellte Datenpunkt wird zumindest auf false gesetzt.

                Rückmeldungen wäre gerne gesehen.

                P 1 Reply Last reply Reply Quote 3
                • SBorg
                  SBorg Forum Testing Most Active last edited by SBorg

                  Na dann hoffen wir mal auf ein baldiges Update von PI-Hole^^

                  1 Reply Last reply Reply Quote 0
                  • unltdnetworx
                    unltdnetworx Developer last edited by

                    Aufgrund des Updates über Github muss der Adapter nach dem Update mittels des Pfeiles nach oben "hochgeladen" werden. Der Pfeil ist in der erweiterten Ansicht in der Adapterübersicht hinter dem pi-hole-Adapter zu finden.

                    Ansonsten wird in den Einstellungen der Text "Update available!" der gefunden werden muss, falls ein Update verfügbar ist, nicht eingetragen.

                    1 Reply Last reply Reply Quote 0
                    • S
                      steimi last edited by

                      Danke, werde ich testen.
                      Kleiner "Schönheitsfehler" - updatePiholeAvailable statt updatePiHoleAvailable (gleiche Schreibweise bei den DPs)

                      1 Reply Last reply Reply Quote 0
                      • Nashra
                        Nashra Most Active Forum Testing last edited by

                        Hallo @pix
                        Danke für die Bereitstellung der Widgets und des Skripts 👍

                        1 Reply Last reply Reply Quote 1
                        • P
                          pix @unltdnetworx last edited by

                          @unltdnetworx Danke fürs Einbauen. Habe natürlich gerade auch kein Update wartend. Feedback kommt.

                          Für alle, die telegram installiert haben:
                          EInfach den neuen pi-hole-Adapter-Datenpunkt markieren und auf den Schraubenschlüssel klicken:
                          Bildschirmfoto 2019-06-29 um 14.38.10.jpg

                          Dort kann man dann im Bereich telegram eine Benachrichtung einstellen, wenn der Datenpunkt auf true geht (auf false lasse ich weg).

                          Bildschirmfoto 2019-06-29 um 14.39.11.jpg

                          Gruß
                          Pix

                          unltdnetworx 1 Reply Last reply Reply Quote 3
                          • unltdnetworx
                            unltdnetworx Developer @pix last edited by

                            @pix
                            Danke für den Hinweis. Spart man sich Regeln im JS Adapter.

                            1 Reply Last reply Reply Quote 0
                            • S
                              steimi last edited by

                              Es gab ein Update von PiHole, aber DP 'updatePiHoleAvailable' wurde nicht auf true gesetzt.

                              unltdnetworx 1 Reply Last reply Reply Quote 0
                              • unltdnetworx
                                unltdnetworx Developer @steimi last edited by

                                @steimi
                                Danke für den Hinweis. Kann ich bestätigen. Allerdings zeigt es mir das Update auf der Pi-hole Weboberfläche auch nicht an. Sehe es nur bei Github.
                                Evtl. liegt das an der Ansicht am Smartphone, obwohl ich eigentlich "Desktopansicht" aktiviert habe.
                                War das Update bei dir in der Fußzeile der Weboberfläche zu sehen?

                                1 Reply Last reply Reply Quote 0
                                • S
                                  steimi last edited by

                                  Ja. Am Tablet hat es mir das Update blinkend angezeigt. Jetzt am Handy sehe ich die Versions-Info in der Fussleiste allgemein nicht - egal ob Mobil- oder Desktop-Ansicht.

                                  1 Reply Last reply Reply Quote 0
                                  • SBorg
                                    SBorg Forum Testing Most Active last edited by

                                    Jepp, Anzeige auf der Web-GUI, nur leider bleibt er im Broker auf 'false'.

                                    1 Reply Last reply Reply Quote 0
                                    • unltdnetworx
                                      unltdnetworx Developer last edited by

                                      Werde heute Abend mal sehen woran es hakt.

                                      1 Reply Last reply Reply Quote 0
                                      • unltdnetworx
                                        unltdnetworx Developer last edited by

                                        Fehler gefunden. Hatte einen Buchstaben in der Funktion vergessen. 😕
                                        Jetzt funktioniert die Update-Info.

                                        1 Reply Last reply Reply Quote 3
                                        • SBorg
                                          SBorg Forum Testing Most Active last edited by

                                          Good, Job 👍
                                          Cross check hat auch funktioniert: nach Update brav auf false

                                          1 Reply Last reply Reply Quote 0
                                          • crunchip
                                            crunchip Forum Testing Most Active last edited by

                                            war bisschen am googeln und habe dieses hier Gefunden
                                            wer z.b. mit Grafana arbeitet
                                            Dashboard- PiHole

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            508
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter pi-hole test
                                            16
                                            97
                                            15731
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo