Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [Aufruf] Neuer Adapter ioBroker.pi-hole

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

[Aufruf] Neuer Adapter ioBroker.pi-hole

Geplant Angeheftet Gesperrt Verschoben Tester
adaptertestpi-hole
97 Beiträge 16 Kommentatoren 20.8k Aufrufe 25 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SBorgS SBorg

    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.

    P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #68

    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*(?=&nbsp;&deg;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.

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    unltdnetworxU 1 Antwort Letzte Antwort
    3
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #69

      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

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      unltdnetworxU 1 Antwort Letzte Antwort
      5
      • P pix

        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

        unltdnetworxU Offline
        unltdnetworxU Offline
        unltdnetworx
        Developer
        schrieb am zuletzt editiert von
        #70

        @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.

        Gruß, Michael
        Weitere Infos im Profil.
        Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

        1 Antwort Letzte Antwort
        0
        • unltdnetworxU Offline
          unltdnetworxU Offline
          unltdnetworx
          Developer
          schrieb am zuletzt editiert von
          #71

          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.

          Gruß, Michael
          Weitere Infos im Profil.
          Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

          1 Antwort Letzte Antwort
          0
          • P pix

            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*(?=&nbsp;&deg;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.

            unltdnetworxU Offline
            unltdnetworxU Offline
            unltdnetworx
            Developer
            schrieb am zuletzt editiert von
            #72

            @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.

            Gruß, Michael
            Weitere Infos im Profil.
            Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

            P 1 Antwort Letzte Antwort
            3
            • SBorgS Offline
              SBorgS Offline
              SBorg
              Forum Testing Most Active
              schrieb am zuletzt editiert von SBorg
              #73

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

              LG SBorg ( SBorg auf GitHub)
              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

              1 Antwort Letzte Antwort
              0
              • unltdnetworxU Offline
                unltdnetworxU Offline
                unltdnetworx
                Developer
                schrieb am zuletzt editiert von
                #74

                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.

                Gruß, Michael
                Weitere Infos im Profil.
                Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  steimi
                  schrieb am zuletzt editiert von
                  #75

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

                  1 Antwort Letzte Antwort
                  0
                  • NashraN Offline
                    NashraN Offline
                    Nashra
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #76

                    Hallo @pix
                    Danke für die Bereitstellung der Widgets und des Skripts :+1:

                    Gruß Ralf
                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    1
                    • unltdnetworxU unltdnetworx

                      @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 Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #77

                      @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

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      unltdnetworxU 1 Antwort Letzte Antwort
                      3
                      • P pix

                        @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

                        unltdnetworxU Offline
                        unltdnetworxU Offline
                        unltdnetworx
                        Developer
                        schrieb am zuletzt editiert von
                        #78

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

                        Gruß, Michael
                        Weitere Infos im Profil.
                        Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          steimi
                          schrieb am zuletzt editiert von
                          #79

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

                          unltdnetworxU 1 Antwort Letzte Antwort
                          0
                          • S steimi

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

                            unltdnetworxU Offline
                            unltdnetworxU Offline
                            unltdnetworx
                            Developer
                            schrieb am zuletzt editiert von
                            #80

                            @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?

                            Gruß, Michael
                            Weitere Infos im Profil.
                            Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              steimi
                              schrieb am zuletzt editiert von
                              #81

                              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 Antwort Letzte Antwort
                              0
                              • SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #82

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

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                1 Antwort Letzte Antwort
                                0
                                • unltdnetworxU Offline
                                  unltdnetworxU Offline
                                  unltdnetworx
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #83

                                  Werde heute Abend mal sehen woran es hakt.

                                  Gruß, Michael
                                  Weitere Infos im Profil.
                                  Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                                  1 Antwort Letzte Antwort
                                  0
                                  • unltdnetworxU Offline
                                    unltdnetworxU Offline
                                    unltdnetworx
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #84

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

                                    Gruß, Michael
                                    Weitere Infos im Profil.
                                    Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                                    1 Antwort Letzte Antwort
                                    3
                                    • SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #85

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

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      1 Antwort Letzte Antwort
                                      0
                                      • crunchipC Abwesend
                                        crunchipC Abwesend
                                        crunchip
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #86

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

                                        umgestiegen von Proxmox auf Unraid

                                        1 Antwort Letzte Antwort
                                        1
                                        • chucky666C Online
                                          chucky666C Online
                                          chucky666
                                          schrieb am zuletzt editiert von
                                          #87

                                          Hallo
                                          Ist es möglich über den Adapter Pi hole neuzustarten ?

                                          Gruß

                                          unltdnetworxU 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          797

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe