NEWS
Tankerkönig - Extended Skript
-
Super, danke! Ich probier's demnächst.
Hinweis: im Bild ganz oben ist der genaue Standort verpixelt (vermutlich wg. Privatsphäre), im Code sind aber hoffentlich dann nicht Deine echten Geodaten ;-)
-
Einleitung
Mir ist bewusst, dass es bereits den offiziellen ioBroker Tankerkönig Adapter (v3.4.0) gibt, der zuverlässig die aktuellen Spritpreise liefert. Mit meinem Extended-Skript möchte ich die Leistung des Adapters keinesfalls schmälern – im Gegenteil: Das Skript versteht sich als Ergänzung, die zusätzliche Funktionen wie Trends, Prognosen und Empfehlungen bereitstellt und die Daten für Visualisierungen und Automatisierungen im Smart Home noch aussagekräftiger macht. Das Skript setzt nicht auf die Daten des Adapters auf. Das Skript ist eine eigenständige Lösung.

Funktionelle Beschreibung
Das Skript bietet neben der Standard-Preisabfrage eine Vielzahl an Features:Preisabfrage & Speicherung für Benzin, E10 und Diesel
Historie & Trendberechnung über 48h, 14 Tage und 90 Tage
24h-Prognose mit Richtungspfeilen und projiziertem Preis
Durchschnitts- & Differenzwerte aller offenen Stationen
Top-3 Ranking nach Preis → Favorit → Entfernung
Handlungsempfehlungen („JETZT TANKEN“, „ABWARTEN“, „NICHT TANKEN“)
Konfigurierbare Schwellenwerte für Preisvorteile und Trends
Unicode-Hochzahlen für typografisch saubere Preisdarstellung
Geodaten & Distanzberechnung: Entfernung zur eigenen Position wird berechnet und in die Logik einbezogen
Favoriten: Stationen können als Favorit markiert werden, was bei Gleichstand den Ausschlag gibt
Stationen aktivieren/deaktivieren: Jede Station lässt sich einzeln steuern, auch „nur Daten abrufen“ ohne Auswertung ist möglich
Öffnungszeiten: Offene/geschlossene Stationen werden berücksichtigt, inkl. Feiertagslogik und Overrides
Reiner Datenabruf: Für Nutzer, die nur Rohdaten wollen, lässt sich die Auswertung pro Station abschalten
Vergleich: Adapter vs. Extended-Skript
Merkmal Tankerkönig Adapter 3.4.0 Extended-Skript Basisfunktion: Preise abrufen ✔️ ✔️ Stationen frei definierbar ✔️ ✔️ Historie ❌ ✔️ (48h, 14d, 90d) Trendberechnung ❌ ✔️ 24h-Prognose ❌ ✔️ Durchschnittspreise ❌ ✔️ Preis-Differenzen ❌ ✔️ Top-3 Ranking ❌ ✔️ Empfehlungen (JETZT/ NICHT TANKEN) ❌ ✔️ Konfigurierbare Schwellenwerte ❌ ✔️ Unicode-Hochzahlen für Preise ❌ ✔️ Visuelle JSON-Ausgaben für VIS ❌ ✔️ Geodaten / Distanzberechnung ❌ ✔️ Favoriten-Logik ❌ ✔️ Stationen aktivieren/deaktivieren ❌ ✔️ Reiner Datenabruf ohne Auswertung ❌ ✔️ Öffnungszeiten inkl. Feiertage ❌ ✔️ Fehler- und Info-Logging Basis Erweiterte Steuerung Besonderheiten
Geodaten: Entfernung zur Tankstelle wird berechnet und in Rankings berücksichtigt.Favoriten: Markierte Stationen haben Vorrang bei gleichen Preisen.
Stationen steuerbar: Jede Station kann einzeln aktiviert, deaktiviert oder auf „nur Daten“ gesetzt werden.
Öffnungszeiten: Berücksichtigung von Öffnungsstatus, Feiertagen und Overrides.
Reiner Datenabruf: Wer nur Rohdaten will, kann die Auswertung pro Station abschalten.
Visuelle JSON-Ausgaben: Alle Ergebnisse (Top-3, Durchschnitt, Empfehlungen) stehen als JSON für VIS oder andere Frontends bereit.
Praxisnähe: Handlungsempfehlungen und Trends sind direkt nutzbar für Automatisierungen.
Typografie: Preise mit Hochzahlen wirken sauberer und sind sofort unterscheidbar.
Manuelle Änderung der Stationsdaten: Nach dem ersten Datenabruf können die Stationsdaten manuell überschrieben, OHNE das diese beim Folgeabruf wieder überschieben werden. Das betrifft Name und Adressdaten.
Datenstruktur:
0_userdata.0.tankerkoenig ├── <stationId> │ ├── benzin (number, €) │ ├── e10 (number, €) │ ├── diesel (number, €) │ ├── benzin_str (string) │ ├── e10_str (string) │ ├── diesel_str (string) │ ├── name (string) │ ├── brand (string) │ ├── street (string) │ ├── postCode (string) │ ├── place (string) │ ├── isOpen (boolean) │ ├── isWholeDay (boolean) │ ├── openingTimes (string JSON) │ ├── overrides (string JSON) │ ├── distance (number, km) │ ├── lastPriceUpdate (string, Datum/Uhrzeit) │ ├── lastChecked (string, Datum/Uhrzeit) │ ├── prices (string JSON) │ ├── image (string, Pfad) │ ├── enabled (boolean) │ ├── dataonly (boolean) │ ├── status (string) │ ├── favorite (boolean) │ └── aspects │ ├── benzin │ │ ├── trend_48h / trend_48h_icon │ │ ├── trend_14d / trend_14d_icon │ │ ├── trend_90d / trend_90d_icon │ │ ├── trend_24h_proj / trend_24h_proj_icon │ │ ├── trend_24h_proj_price (number, €) │ │ ├── history (string JSON) │ │ └── json (string JSON) │ ├── e10 (analog zu benzin) │ ├── diesel (analog zu benzin) │ └── reset_history (boolean) │ ├── cheapest │ ├── benzin_price / benzin_price_str │ ├── benzin_station / benzin_station_name / benzin_image │ ├── benzin_top3_json │ ├── e10_price / e10_price_str │ ├── e10_station / e10_station_name / e10_image │ ├── e10_top3_json │ ├── diesel_price / diesel_price_str │ ├── diesel_station / diesel_station_name / diesel_image │ ├── diesel_top3_json │ └── cheapest_json (alle zusammen) │ ├── average │ ├── benzin / benzin_str │ ├── e10 / e10_str │ ├── diesel / diesel_str │ └── average_json │ ├── difference │ ├── benzin / e10 / diesel (Preisunterschiede) │ └── prices (JSON mit billigster/teuerster Station) │ ├── recommendation_json (Handlungsempfehlungen) ├── all_stations_full_info (JSON) ├── reset_all_trends (boolean) │ └── config ├── threshold_tanken (€/L unter Durchschnitt) ├── threshold_nicht_tanken (€/L über Durchschnitt) ├── trend_threshold_percent (% vom Durchschnitt) ├── use_superscript (boolean) ├── show_trend_symbols (boolean) ├── keep_last_price_if_closed (boolean)Fazit
Der Adapter ist ideal für den schnellen Einstieg. Das Extended-Skript richtet sich an alle, die mehr Kontext, mehr Intelligenz und mehr Kontrolle wollen. Es macht die Tankerkönig-Daten nicht nur sichtbar, sondern wirklich nutzbar – für Visualisierungen, Automatisierungen und smarte Entscheidungen im Alltag.Voraussetzungen
API‑Key: Den API‑Key bekommst du kostenlos auf der offiziellen Tankerkönig‑Seite.
Gehe auf tankerkoenig.de → oben rechts „API‑Key“ auswählen. Formular ausfüllen (Name, E‑Mail). Du erhältst per Mail deinen persönlichen Schlüssel.Der Key ist notwendig, um die API nutzen zu können. Ohne ihn gibt es keine Datenabfragen. Einschränkungen: Die API ist für private Projekte gedacht, nicht für Massendatenabfragen. Empfohlen sind maximal 10 Tankstellen und ein Abfrageintervall von mindestens 5 Minuten. Das Skript ruft bei mir aller 10 Minuten (bitte keine glatten Minuten nehmen) 12 Stationen ab.
Tankstellen‑UUIDs: Jede Tankstelle hat eine eindeutige UUID (Universally Unique Identifier). Über die Tankerkönig‑Webseite: Dort kannst du nach Tankstellen suchen (PLZ oder Ort eingeben). Diese UUIDs trägst du dann im Skrip ein, um genau die gewünschten Stationen abzufragen.
NPM-Modul: Damit die API‑Abfragen zuverlässig funktionieren, muss im JavaScript‑Adapter ein zusätzliches npm‑Modul eingetragen werden, das die HTTP‑Requests mit einem gültigen User‑Agent ausführt. Hintergrund: Die Tankerkönig‑API erwartet, dass jede Anfrage einen User‑Agent‑Header mitliefert. Ohne diesen kann es zu Ablehnungen oder Fehlern kommen.
Vorgehen: Den JavaScript‑Adapter öffnen. Unter „Zusätzliche npm‑Module“ das Modul user-agents eintragen.

Grafiken: Ich habe bereits einige Grafiken von Tankstellen und zusätzliche Grafiken für Auswertungen und Darstellung in VIS beigefügt. Es sind aber nicht alle Tankstellen dabei - da müsst ihr selber aktiv werden.
tanken.zipHINWEIS: Wenn ihr das Skript testen wollt, bitte Adapter und Skript nicht zur selben Zeit laufen lassen! Es besteht die Gefahr den Fehler 503 zu bekommen, ihr kommt sonst in das Ratelimit! Es ist zwar möglich mehr als 10 Stationen einzutragen, allerdings sollte es nicht übertrieben werden. Je mehr Stationen um so größer das Abrufinterval! Bei mir getestet und ohne Probleme 12 Stationen, aller 10 Miinuten.
WAS IST ZU MACHEN?
- API-Key besorgen
- UUIDs der Stationen besorgen
- Code einkopieren und anpassen
const apiKey = ""; // Tankerkoenig API-Schlüssel const base = "0_userdata.0.tankerkoenig"; // kann auch so belassen werden const image_base = "/vis.0/tanken/"; //hier wird der Standort für die Bilder eingetragen const myLocation = { lat: 51.18869225498527, lon: 14.44717724792715 }; // hier eure GeodatenHier jetzt der Code:
// === Tankerkoenig Extended-Script === //Erst-Version 1.0.0 - 14.12.2025 //Version 1.0.2 - 23.12.2025 //Ersteller Ro75. //Voraussetzungen (Version 1.0.2 getestet mit) //NodeJS: 22.x //Javascript-Adapter: 8.9.2 //Admin-Adapter: 7.7.2 //JS-Controller: 7.0.7 // === Einstellungen & Konfiguration === const apiKey = "xxxxxxx"; // Tankerkoenig API-Schlüssel const base = "0_userdata.0.tankerkoenig"; // Basis-Pfad für alle States const image_base = "/vis.0/tanken/"; // Pfad zu lokalen Bildern const myLocation = { lat: 51.18869225498527, lon: 14.44717724792715 }; // Eigener Standort für Distanzberechnung eintragen - Daten sind echt, aber nicht meine const ENABLE_LOG = false; // Allgemeine Logs ein/aus const ENABLE_ERROR_LOG = true; // Fehlerlogs ein/aus // === Tankstellenliste === const stations = [ { id: "51d4b70e-a095-1aa0-e100-80009459e03a", image: image_base+"jet.png" }, { id: "9bbf6e47-eafe-4072-a7b1-9bf7fee2ba44", image: image_base+"sb-tank.png" }, { id: "2c0a9194-7b4b-4590-bbae-8db8760598c4", image: image_base+"total.png" }, { id: "0cc33bda-3773-4b47-94d2-41142e9a97ad", image: image_base+"agip.png" }, { id: "0868c839-f0cd-4ceb-a53c-4a6de271b606", image: image_base+"marktkauf.png" }, { id: "53ad9d77-a259-40fc-b868-b79cb77086d8", image: image_base+"aral.png" }, { id: "1b008ee6-78ea-4485-ab1d-7212a393b471", image: image_base+"aral.png" }, { id: "4a92a231-3d68-4928-9155-5d3534583c57", image: image_base+"aral.png" }, { id: "c21f9238-c5e6-4a5b-985e-89d406166b2d", image: image_base+"esso.png" }, { id: "86f037d7-d8f8-4fad-9aac-f256857725f6", image: image_base+"sprint.png" }, { id: "28989f56-fe4c-4785-925d-cc0ee4e574e8", image: image_base+"greenline.png" }, { id: "005056ba-7cb6-1ed2-bceb-b72e2ef04d4a", image: image_base+"star.png" } ]; // ********** AB HIER NICHTS MEHR ÄNDERN !!! **********// // ============================== // === Externe Pakete / Helfer: muss im JS-Adapter als zusätzliches NPM-Paket eingetragen sein! === const UserAgent = require('user-agents'); // ============================== // === Hilfsfunktionen === // Setzt einen State nur, wenn er leer ist (Initialwerte ohne Überschreiben) function setIfEmpty(id, value) { const current = getState(id)?.val; if (!current || current === "") { setState(id, value, true); } } // Gibt aktuelles Datum/Uhrzeit als String zurück (für Status-States) (dd.mm.yyyy hh:mm:ss) function hole_datum() { const datum = new Date(); const tag = String(datum.getDate()).padStart(2, '0'); const monat = String(datum.getMonth() + 1).padStart(2, '0'); const jahr = datum.getFullYear(); const stunde = String(datum.getHours()).padStart(2, '0'); const minute = String(datum.getMinutes()).padStart(2, '0'); const sekunde = String(datum.getSeconds()).padStart(2, '0'); return `${tag}.${monat}.${jahr} ${stunde}:${minute}:${sekunde}`; } // Asynchrone Verzögerung in Millisekunden (z. B. zwischen API‑Requests) function sleepMs(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } // Info‑Logging, nur wenn ENABLE_LOG aktiv function logInfo(msg) { if (ENABLE_LOG) log(`[Tankerkoenig] ${msg}`,"info"); } // Fehler‑Logging, nur wenn ENABLE_ERROR_LOG aktiv function logError(msg) { if (ENABLE_ERROR_LOG) log(`[Tankerkoenig ERROR] ${msg}`,"error"); } // Berechnet Distanz in km zwischen zwei Koordinaten (Haversine‑Formel) function getDistance(lat1, lon1, lat2, lon2) { const R = 6371; const dLat = (lat2 - lat1) * Math.PI / 180; const dLon = (lon2 - lon1) * Math.PI / 180; const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2); return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); } // Öffnungszeiten formatieren (Mo-Sa, Feiertage abkürzen) function formatOpeningEntries(list, WEEKDAY_MAP) { return list.map(o => { // wenn kein Text vorhanden, setze "keine Angabe" let rawText = (typeof o.text === "string" && o.text.trim() !== "") ? o.text : "keine Angabe"; // Ersetzungen nur auf gültigem String let text = rawText .replace(/\btäglich ausser Sonn- und Feiertagen\b/gi, "Mo-Sa") .replace( /\b(Montag|Dienstag|Mittwoch|Donnerstag|Freitag|Samstag|Sonntag|Feiertag)\b/g, m => WEEKDAY_MAP[m] || m // Fallback: wenn Map-Eintrag fehlt, Original behalten ); const hours = (o.start && o.end) ? `${o.start.split(':')[0]}-${o.end.split(':')[0]}` : ""; return { text, hours }; }); } // Erstellt alle States für Stationen, Preise, Trends, Empfehlungen async function initStates() { stations.forEach((s) => { const path = `${base}.${s.id}`; ["benzin","e10","diesel"].forEach(fuel => { ["48h","14d","90d"].forEach(win => { createState(`${path}.aspects.${fuel}.trend_${win}`, "", { name: `Trend ${fuel} ${win}`, type: "string", read: true, write: true }); createState(`${path}.aspects.${fuel}.trend_${win}_icon`, "", { name: `Trend Icon ${fuel} ${win}`, type: "string", read: true, write: true }); }); createState(`${path}.aspects.${fuel}.trend_24h_proj`, "", { name: `Trend ${fuel} 24h Prognose`, type: "string", read: true, write: true }); createState(`${path}.aspects.${fuel}.trend_24h_proj_icon`, "", { name: `Trend Icon ${fuel} 24h Prognose`, type: "string", read: true, write: true }); createState(`${path}.aspects.${fuel}.trend_24h_proj_price`, 0, { name: `Trend ${fuel} 24h prognostizierter Preis`, type: "number", read: true, write: true, unit: "€" }); createState(`${path}.aspects.${fuel}.history`, "[]", { name: `Historie ${fuel}`, type: 'string', read: true, write: true }); //dient nur der Datenhaltung für Auswertung createState(`${path}.aspects.${fuel}.json`, "[]", { name: `JSON ${fuel}`, type: 'string', read: true, write: true }); }); createState(`${path}.image`, s.image, { name: 'Image', type: 'string', read: true, write: true }); createState(`${path}.enabled`, true, { name: 'Aktiv', type: 'boolean', read: true, write: true }); createState(`${path}.dataonly`, false, { name: 'Nur Daten abrufen, nicht auswerten', type: 'boolean', read: true, write: true }); createState(`${path}.status`, '', { name: 'Status', type: 'string', read: true, write: true }); createState(`${path}.benzin`, 0, { name: 'Benzin', type: 'number', read: true, write: true, unit: '€' }); createState(`${path}.e10`, 0, { name: 'E10', type: 'number', read: true, write: true, unit: '€' }); createState(`${path}.diesel`, 0, { name: 'Diesel', type: 'number', read: true, write: true, unit: '€' }); createState(`${path}.benzin_str`, '', { name: 'Benzin (String)', type: 'string', read: true, write: true }); createState(`${path}.e10_str`, '', { name: 'E10 (String)', type: 'string', read: true, write: true }); createState(`${path}.diesel_str`, '', { name: 'Diesel (String)', type: 'string', read: true, write: true }); createState(`${path}.name`, '', { name: 'Name', type: 'string', read: true, write: true }); createState(`${path}.brand`, '', { name: 'Marke', type: 'string', read: true, write: true }); createState(`${path}.street`, '', { name: 'Straße', type: 'string', read: true, write: true }); createState(`${path}.postCode`, '', { name: 'Postleitzahl', type: 'string', read: true, write: true }); createState(`${path}.place`, '', { name: 'Ort', type: 'string', read: true, write: true }); createState(`${path}.isOpen`, false, { name: 'Ist Offen', type: 'boolean', read: true, write: true }); createState(`${path}.isWholeDay`, false, { name: 'ganztägig', type: 'boolean', read: true, write: true }); createState(`${path}.openingTimes`, "[]", { name: 'Öffnungszeiten', type: 'string', read: true, write: true }); createState(`${path}.overrides`, "[]", { name: 'geänderte Öffnungszeiten', type: 'string', read: true, write: true }); createState(`${path}.distance`, 0, { name: 'Entfernung', type: 'number', read: true, write: true }); createState(`${path}.lastPriceUpdate`, hole_datum(), { name: 'letzte Preisaktualisierung', type: 'string', read: true, write: true }); createState(`${path}.lastChecked`, hole_datum(), { name: 'letzter Abruf', type: 'string', read: true, write: true }); createState(`${path}.prices`, "[]", { name: 'Preis JSON', type: 'string', read: true, write: true }); createState(`${path}.favorite`, false, { name: 'Favorit', type: 'boolean', read: true, write: true }); createState(`${path}.aspects.reset_history`, false, { name: "History & Trends zurücksetzen", type: "boolean", read: true, write: true }); }); ["benzin", "e10", "diesel"].forEach(fuel => { createState(`${base}.cheapest.${fuel}_price`, 0, { type: 'number', read: true, write: true, unit: '€' }); createState(`${base}.cheapest.${fuel}_price_str`, "", { type: 'string', read: true, write: true }); createState(`${base}.cheapest.${fuel}_station`, '', { type: 'string', read: true, write: true }); createState(`${base}.cheapest.${fuel}_station_name`, '', { type: 'string', read: true, write: true }); createState(`${base}.cheapest.${fuel}_image`, '', { type: 'string', read: true, write: true }); createState(`${base}.cheapest.${fuel}_top3_json`, "[]", { name: `Top 3 ${fuel}`, type: 'string', read: true, write: true }); createState(`${base}.average.${fuel}`, 0, { name: `${fuel}`, type: 'number', read: true, write: true, unit: '€' }); createState(`${base}.average.${fuel}_str`, "", { type: 'string', read: true, write: true }); createState(`${base}.difference.${fuel}`, 0, { name: `${fuel}`, type: 'number', read: true, write: true, unit: '€' }); }); createState(`${base}.recommendation.benzin_tanken_empfohlen`, false, { name: "Tanken empfohlen Benzin", type: "boolean", read: true, write: true }); createState(`${base}.recommendation.e10_tanken_empfohlen`, false, { name: "Tanken empfohlen E10", type: "boolean", read: true, write: true }); createState(`${base}.recommendation.diesel_tanken_empfohlen`, false, { name: "Tanken empfohlen Diesel", type: "boolean", read: true, write: true }); createState(`${base}.difference.prices`, "[]", { name: 'JSON', type: 'string', read: true, write: true }); createState(`${base}.cheapest.cheapest_json`, "[]", { name: 'JSON', type: 'string', read: true, write: true }); createState(`${base}.average.average_json`, "[]", { name: 'JSON', type: 'string', read: true, write: true }); createState(`${base}.recommendation_json`, "[]", { name: 'Empfehlungen JSON', type: 'string', read: true, write: true }); createState(`${base}.all_stations_full_info`, "[]", { name: 'JSON', type: 'string', read: true, write: true }); createState(`${base}.reset_all_trends`, false, { name: "ALLE Trends & Historien zurücksetzen", type: "boolean", read: true, write: true }); createState(`${base}.config.threshold_tanken`, 0.05, { name: "Schwelle JETZT_TANKEN (€/L unter Durchschnitt)", type: "number", read: true, write: true, unit: "€" }); createState(`${base}.config.threshold_nicht_tanken`, -0.05, { name: "Schwelle NICHT_TANKEN (€/L über Durchschnitt)", type: "number", read: true, write: true, unit: "€" }); createState(`${base}.config.trend_threshold_percent`, 0.2, { name: "Trend-Schwelle (% vom Durchschnitt)", type: "number", read: true, write: true, unit: "%" }); createState(`${base}.config.use_superscript`, true, { name: "Preise mit Hochzahl darstellen", type: "boolean", read: true, write: true }); createState(`${base}.config.show_trend_symbols`, false, { name: "Trend-/Forecast-Symbole im JSON anzeigen", type: "boolean", read: true, write: true }); createState(`${base}.config.keep_last_price_if_closed`, true, { name: "Letzten Preis bei geschlossenen Stationen behalten", type: "boolean", read: true, write: true }); logInfo("States initialisiert."); } // Promise‑Wrapper für httpGet, liefert API‑Antwort asynchron function httpGetAsync(url, options) { return new Promise((resolve, reject) => { httpGet(url, options, (error, response) => { if (error) reject(error); else resolve(response); }); }); } // Berechnet Durchschnittspreise aller offenen Stationen und speichert sie function calculateAveragePrices() { const fuels = ["benzin", "e10", "diesel"]; const averages = {}; fuels.forEach(fuel => { let sum = 0; let count = 0; stations .filter(s => getState(`${base}.${s.id}.enabled`)?.val !== false && getState(`${base}.${s.id}.dataonly`)?.val !== true) .forEach(s => { const path = `${base}.${s.id}`; const isOpen = getState(`${path}.isOpen`)?.val; const price = getState(`${path}.${fuel}`)?.val; if (isOpen && typeof price === "number" && price > 0) { sum += price; count++; } }); averages[fuel] = count > 0 ? parseFloat((sum / count).toFixed(3)) : 0; }); fuels.forEach(fuel => { setState(`${base}.average.${fuel}`, averages[fuel], true); setState(`${base}.average.${fuel}_str`, formatPriceUnicode(averages[fuel]), true); }); logInfo("Durchschnittspreise aktualisiert."); } // Prognose für Preisentwicklung (24h) anhand Historie function calculateFutureTrend(history, futureHours = 24) { const data = history.filter(h => typeof h.price === "number").sort((a,b) => a.ts - b.ts); if (data.length < 2) return { text: "kein Trend", icon: TREND_ICONS.none, projectedPrice: null }; const first = data[0]; const last = data[data.length - 1]; const hoursDiff = (last.ts - first.ts) / (1000 * 3600); if (hoursDiff === 0) return { text: "stabil", icon: TREND_ICONS.flat, projectedPrice: last.price }; const ratePerHour = (last.price - first.price) / hoursDiff; const projectedPrice = last.price + ratePerHour * futureHours; const avg = data.reduce((sum, d) => sum + d.price, 0) / data.length; const TH = avg * 0.002; const diff = projectedPrice - last.price; if (diff > TH) return { text: "steigend", icon: TREND_ICONS.up, projectedPrice }; if (diff < -TH) return { text: "fallend", icon: TREND_ICONS.down, projectedPrice }; return { text: "stabil", icon: TREND_ICONS.flat, projectedPrice }; } // Schreibt alle Trend‑Infos einer Station als JSON zusammen function updateAspectsJSON(stationId) { const path = `${base}.${stationId}`; ["benzin","e10","diesel"].forEach(fuel => { const trends = { trend_48h: getState(`${path}.aspects.${fuel}.trend_48h`)?.val || "", trend_14d: getState(`${path}.aspects.${fuel}.trend_14d`)?.val || "", trend_90d: getState(`${path}.aspects.${fuel}.trend_90d`)?.val || "", trend_24h_proj: getState(`${path}.aspects.${fuel}.trend_24h_proj`)?.val || "", trend_24h_proj_price: getState(`${path}.aspects.${fuel}.trend_24h_proj_price`)?.val || 0, trend_48h_icon: getState(`${path}.aspects.${fuel}.trend_48h_icon`)?.val || "", trend_14d_icon: getState(`${path}.aspects.${fuel}.trend_14d_icon`)?.val || "", trend_90d_icon: getState(`${path}.aspects.${fuel}.trend_90d_icon`)?.val || "", trend_24h_proj_icon: getState(`${path}.aspects.${fuel}.trend_24h_proj_icon`)?.val || "" }; setState(`${path}.aspects.${fuel}.json`, JSON.stringify(trends), true); }); } // Trend / FORECAST Icons / Unicode-Hochzahlen für 0–9 const TREND_ICONS = { up: "↑", down: "↓", flat: "→", none: "–" }; const TREND_SYMBOLS = { up: "↑", down: "↓", flat: "→" }; const FORECAST_SYMBOLS = { up: "↗", down: "↘", flat: "→" }; const SUPERSCRIPT = ['⁰','¹','²','³','⁴','⁵','⁶','⁷','⁸','⁹']; // Formatiert Preis mit Unicode‑Hochzahl oder normaler Darstellung function formatPriceUnicode(price) { if (price === null || price === undefined || isNaN(price)) return null; const p = Number(price).toFixed(3); // z.B. 1.899 const main = p.slice(0, -1).replace('.', ','); // "1,89" const lastDigit = p.slice(-1); // "9" const useSuperscript = getState(`${base}.config.use_superscript`)?.val ?? true; if (useSuperscript) { return main + SUPERSCRIPT[Number(lastDigit)]; // "1,89⁹" } else { return (Number(price).toFixed(2)).replace('.', ','); // "1,90" normale Darstellung } } // Berechnet Preisunterschiede zwischen billigster/teuerster Station pro Spritsorte function calculateDifferencesStates() { const fuels = [ { key: "benzin", label: "Benzin" }, { key: "e10", label: "E10" }, { key: "diesel", label: "Diesel" } ]; const openStations = stations .filter(s => getState(`${base}.${s.id}.enabled`)?.val !== false && getState(`${base}.${s.id}.isOpen`)?.val === true && getState(`${base}.${s.id}.dataonly`)?.val !== true); const priceDiffArray = fuels.map(fuel => { const prices = openStations .map(s => { const price = getState(`${base}.${s.id}.${fuel.key}`)?.val; return (typeof price === "number" && price > 0) ? { name: getState(`${base}.${s.id}.name`)?.val || "", price, image: getState(`${base}.${s.id}.image`)?.val || "" } : null; }) .filter(Boolean); let diff = 0; let cheapestName = "---"; let teuersteName = "---"; let billigste_image = ""; let teuerste_image = ""; if (prices.length > 0) { const cheapest = prices.reduce((a, b) => a.price < b.price ? a : b); const expensive = prices.reduce((a, b) => a.price > b.price ? a : b); diff = parseFloat((expensive.price - cheapest.price).toFixed(2)); billigste_image = cheapest.image; teuerste_image = expensive.image; cheapestName = cheapest.name + " (" + cheapest.price.toFixed(2) + " €)"; teuersteName = expensive.name + " (" + expensive.price.toFixed(2) + " €)"; } setState(`${base}.difference.${fuel.key}`, diff, true); return { text: fuel.label, billigste_image, billigste: cheapestName, teuerste_image, teuerste: teuersteName, differenz: diff.toFixed(2) }; }); setState(`${base}.difference.prices`, JSON.stringify(priceDiffArray), true); logInfo("Differenzen und Preise als JSON unter `${base}.difference` aktualisiert."); } // Speichert günstigste Stationen je Spritsorte als JSON function saveCheapestJSON() { const fuels = [ { key: "benzin", label: "Benzin", img: image_base+"blue.png" }, { key: "e10", label: "E10", img: image_base+"green.png" }, { key: "diesel", label: "Diesel", img: image_base+"red.png" } ]; const json = fuels.map(fuel => { const stationId = getState(`${base}.cheapest.${fuel.key}_station`)?.val; if (!stationId) { return { col_1: fuel.img, col_2: fuel.label, col_3: "", col_4: "---", col_5: "---" }; } const img = getState(`${base}.${stationId}.image`)?.val || ""; const isFav = getState(`${base}.${stationId}.favorite`)?.val === true; const brand = (getState(`${base}.${stationId}.name`)?.val || "") + (isFav ? " ★" : ""); const price = getState(`${base}.${stationId}.${fuel.key}`)?.val ?? null; return { col_1: fuel.img, col_2: fuel.label, col_3: img, col_4: brand.trim(), col_5: formatPriceUnicode(price) // <-- hier Unicode-Hochzahl }; }); setState(`${base}.cheapest.cheapest_json`, JSON.stringify(json), true); } // Ermittelt Top‑3 Stationen je Spritsorte (Preis → Favorit → Entfernung) function saveTop3JSON() { const fuels = ["benzin","e10","diesel"]; fuels.forEach(fuel => { const stationsWithPrices = stations .filter(s => getState(`${base}.${s.id}.enabled`)?.val !== false && getState(`${base}.${s.id}.isOpen`)?.val === true && getState(`${base}.${s.id}.dataonly`)?.val !== true) .map(s => { const isFav = getState(`${base}.${s.id}.favorite`)?.val === true; return { name: getState(`${base}.${s.id}.name`)?.val || "", favorite: isFav, price: getState(`${base}.${s.id}.${fuel}`)?.val || 0, image: getState(`${base}.${s.id}.image`)?.val || "", distance: getState(`${base}.${s.id}.distance`)?.val || 0 }; }) .filter(s => typeof s.price === "number" && s.price > 0); // Sortierung: Preis → Favorit → Entfernung stationsWithPrices.sort((a, b) => { if (a.price !== b.price) return a.price - b.price; if (a.favorite !== b.favorite) return a.favorite ? -1 : 1; return a.distance - b.distance; }); // Top 3 auswählen und JSON mit rank und gewünschter Feldreihenfolge const top3 = stationsWithPrices.slice(0,3).map((s, index) => ({ rank: index + 1, image: s.image, name: s.name + (s.favorite ? " ★" : ""), price: formatPriceUnicode(s.price), // <-- hier Hochzahlen verwenden distance: parseFloat(s.distance.toFixed(2)) })); setState(`${base}.cheapest.${fuel}_top3_json`, JSON.stringify(top3), true); }); } // Speichert Durchschnittspreise je Spritsorte als JSON function saveAverageJSON() { const fuels = ["benzin","e10","diesel"]; const json = fuels.map(fuel => { const avg = getState(`${base}.average.${fuel}`)?.val ?? 0; return { fuel: fuel, price: formatPriceUnicode(avg) // Unicode-Hochzahl für letzte Stelle }; }); setState(`${base}.average.average_json`, JSON.stringify(json), true); } // Fügt neuen Preis in Historie ein, aggregiert ältere Daten (48h/90d) function appendHistory(path, fuel, price) { if (typeof price !== "number" || price <= 0) return; const now = Date.now(); const cutoff90d = now - 90 * 24 * 3600 * 1000; // 90 Tage const cutoff48h = now - 48 * 3600 * 1000; // 48 Stunden const historyStr = getState(`${path}.aspects.${fuel}.history`)?.val || "[]"; let history = []; try { history = JSON.parse(historyStr); } catch {} // Neuer Eintrag history.push({ ts: now, price }); // Alte Einträge >90 Tage entfernen history = history.filter(h => h.ts >= cutoff90d); // Kurzzeit 48h: alle behalten für exakte Trendberechnung const shortTerm = history.filter(h => h.ts >= cutoff48h); // Langzeit >48h: stündlich aggregieren const longTerm = history .filter(h => h.ts < cutoff48h) .reduce((acc, cur) => { const hour = Math.floor(cur.ts / (3600*1000)); // Stunde als Bucket if (!acc[hour]) acc[hour] = { ts: cur.ts, price: cur.price, count: 1 }; else { acc[hour].price = (acc[hour].price * acc[hour].count + cur.price) / (acc[hour].count + 1); acc[hour].count++; acc[hour].ts = cur.ts; // letzte Zeit der Stunde } return acc; }, {}); const longTermArray = Object.values(longTerm).map(h => ({ ts: h.ts, price: parseFloat(h.price.toFixed(3)) })); // Kombiniere kurz- und langzeit const newHistory = [...longTermArray, ...shortTerm]; setState(`${path}.aspects.${fuel}.history`, JSON.stringify(newHistory), true); } // Berechnet Trend (steigend/fallend/stabil) über angegebenes Zeitfenster function calculateTrend(history, hours) { const cutoff = Date.now() - (hours * 3600 * 1000); const data = history .filter(h => h.ts >= cutoff) .sort((a,b) => a.ts - b.ts); if (data.length < 2) return { text: "kein Trend", icon: TREND_ICONS.none }; const first = data[0].price; const last = data[data.length - 1].price; const diff = last - first; const avg = data.reduce((sum,d) => sum+d.price,0) / data.length; const thresholdPercent = getState(`${base}.config.trend_threshold_percent`)?.val ?? 0.2; const TH = avg * (thresholdPercent / 100); if (diff > TH) return { text: "steigend", icon: TREND_ICONS.up }; if (diff < -TH) return { text: "fallend", icon: TREND_ICONS.down }; return { text: "stabil", icon: TREND_ICONS.flat }; } // Erstellt Handlungsempfehlungen („JETZT_TANKEN“, „ABWARTEN“) basierend auf Durchschnitt, günstigster Station und Trends // Erstellt Handlungsempfehlungen („JETZT_TANKEN“, „ABWARTEN“) basierend auf Durchschnitt, günstigster Station und Trends async function updateRecommendations() { const fuels = [ { key: "benzin", label: "BENZIN" }, { key: "e10", label: "E10" }, { key: "diesel", label: "DIESEL" } ]; const recommendations = []; const thresholdTanken = getState(`${base}.config.threshold_tanken`)?.val ?? 0.05; const thresholdNichtTanken = getState(`${base}.config.threshold_nicht_tanken`)?.val ?? -0.05; fuels.forEach(fuel => { const avg = getState(`${base}.average.${fuel.key}`)?.val; const cheapest = getState(`${base}.cheapest.${fuel.key}_price`)?.val; const stationId = getState(`${base}.cheapest.${fuel.key}_station`)?.val; const stationNm = getState(`${base}.cheapest.${fuel.key}_station_name`)?.val; if (typeof avg !== "number" || typeof cheapest !== "number" || !stationId) { return; } const diff = parseFloat((avg - cheapest).toFixed(2)); // ---- Handlungsempfehlung ---- let action = "ABWARTEN"; let reason = "Kein Preisvorteil"; if (diff >= thresholdTanken) { action = "JETZT_TANKEN"; reason = `${diff.toFixed(2).replace('.', ',')} € unter Durchschnitt`; } else if (diff <= thresholdNichtTanken) { action = "NICHT_TANKEN"; reason = `${Math.abs(diff).toFixed(2).replace('.', ',')} € über Durchschnitt`; } // ---- NEU: Boolesche Tankempfehlung ---- const tanken_empfohlen = (action === "JETZT_TANKEN"); // >>> Hier setzen wir die drei neuen States <<< setState(`${base}.recommendation.${fuel.key}_tanken_empfohlen`, tanken_empfohlen, true); // ---- Trends (vom günstigsten Anbieter) ---- const trend48h = getState(`${base}.${stationId}.aspects.${fuel.key}.trend_48h_icon`)?.val || "–"; const trend14d = getState(`${base}.${stationId}.aspects.${fuel.key}.trend_14d_icon`)?.val || "–"; const trend90d = getState(`${base}.${stationId}.aspects.${fuel.key}.trend_90d_icon`)?.val || "–"; const projDir = getState(`${base}.${stationId}.aspects.${fuel.key}.trend_24h_proj_icon`)?.val || "–"; const projPrice = getState(`${base}.${stationId}.aspects.${fuel.key}.trend_24h_proj_price`)?.val || 0; recommendations.push({ fuel: fuel.label, action, reason, trend_48h: trend48h, trend_14d: trend14d, trend_90d: trend90d, forecast_dir: projDir, forecast_price: projPrice > 0 ? parseFloat(projPrice.toFixed(2)) : null, best_station_name: stationNm || "", best_station_price: formatPriceUnicode(cheapest) }); }); // JSON bleibt bestehen, nur ohne tanken_empfohlen setState(`${base}.recommendation_json`, JSON.stringify(recommendations), true); } // Hauptfunktion: Holt Tankerkoenig‑Daten, aktualisiert States, berechnet günstigste Stationen async function loadData() { logInfo("Starte Datenabfrage ..."); function considerCheapest(cheapest, fuelKey, newPrice, dist, stationId, image, isFav) { if (typeof newPrice !== 'number') return; const current = cheapest[fuelKey]; // 1) Wenn noch keine vorhanden: setzen if (!current) { cheapest[fuelKey] = { price: newPrice, station: stationId, image: image, distance: dist, favorite: !!isFav }; return; } // 2) Günstigerer Preis gewinnt IMMER if (newPrice < current.price) { cheapest[fuelKey] = { price: newPrice, station: stationId, image: image, distance: dist, favorite: !!isFav }; return; } // 3) Gleicher Preis -> Favorit gewinnt if (newPrice === current.price) { const currentFav = !!current.favorite; if (isFav && !currentFav) { // neuer ist Favorit, aktueller nicht -> neuer gewinnt cheapest[fuelKey] = { price: newPrice, station: stationId, image: image, distance: dist, favorite: !!isFav }; return; } // 4) Beide Favorit oder beide nicht -> Entfernung entscheidet if ((isFav === currentFav) && dist < current.distance) { cheapest[fuelKey] = { price: newPrice, station: stationId, image: image, distance: dist, favorite: !!isFav }; return; } } // sonst behalte current } const listCleaner = (entry = '') => entry .toLowerCase() .split(' ') .map(word => word.replace(/oe/g, 'ö') .replace(/ae/g, 'ä') .replace(/ue/g, 'ü') .replace(/ss/g, 'ß') ) .map(word => word.charAt(0).toUpperCase() + word.slice(1)) .join(' '); const cheapest = { benzin: null, e10: null, diesel: null }; const tasks = stations .filter(s => getState(`${base}.${s.id}.enabled`)?.val !== false) .map(async (s) => { const url = `https://creativecommons.tankerkoenig.de/json/detail.php?id=${s.id}&apikey=${apiKey}`; try { const dynamicUA = new UserAgent().toString(); logInfo(`Abruf für Station ${s.id}`); const response = await httpGetAsync(url, { timeout: 15000, headers: { "User-Agent": dynamicUA } }); if (!response || response.statusCode !== 200) { logError(`HTTP Error Station ${s.id}: ${response?.statusCode}`); return; } const body = typeof response.data === "string" ? JSON.parse(response.data) : response.data; if (!body || !body.station) return; const p = body.station; const path = `${base}.${s.id}`; setState(`${path}.status`, p.isOpen ? "geöffnet" : "geschlossen", true); setState(`${path}.image`, s.image, true); setIfEmpty(`${path}.name`, p.name); setIfEmpty(`${path}.brand`, p.brand); const streetWithHouse = p.houseNumber && p.houseNumber.trim() !== "" ? `${p.street} ${p.houseNumber}` : p.street; setIfEmpty(`${path}.street`, listCleaner(streetWithHouse)); setIfEmpty(`${path}.place`, listCleaner(p.place)); setIfEmpty(`${path}.postCode`, p.postCode ? p.postCode.toString().padStart(5, "0") : ""); setState(`${path}.isOpen`, p.isOpen, true); setState(`${path}.isWholeDay`, p.wholeDay, true); // --- Mapping für Wochentage + Feiertag + Sonderfälle --- const WEEKDAY_MAP = { "Montag": "Mo", "Dienstag": "Di", "Mittwoch": "Mi", "Donnerstag": "Do", "Freitag": "Fr", "Samstag": "Sa", "Sonntag": "So", "Feiertag": "Ft" }; // --- Öffnungszeiten vorbereiten und transformieren --- let rawOpeningTimes; if (p.wholeDay) { rawOpeningTimes = [{ text: "Mo-So", start: "00:00:00", end: "24:00:00" }]; } else { if (Array.isArray(p.openingTimes)) { rawOpeningTimes = p.openingTimes; } else if (typeof p.openingTimes === "string") { try { rawOpeningTimes = JSON.parse(p.openingTimes); } catch { rawOpeningTimes = []; } } else { rawOpeningTimes = []; } } const formattedOpening = formatOpeningEntries(rawOpeningTimes, WEEKDAY_MAP); setState(`${path}.openingTimes`, JSON.stringify(formattedOpening), true); // --- Overrides vorbereiten und transformieren --- let rawOverrides; if (Array.isArray(p.overrides)) { rawOverrides = p.overrides; } else if (typeof p.overrides === "string") { try { rawOverrides = JSON.parse(p.overrides); } catch { rawOverrides = []; } } else { rawOverrides = []; } const formattedOverrides = formatOpeningEntries(rawOverrides, WEEKDAY_MAP); setState(`${path}.overrides`, JSON.stringify(formattedOverrides), true); // --- Distanzberechnung, ausgehend von eigenen Standort --- if (p.lat && p.lng) { const distance = getDistance(myLocation.lat, myLocation.lon, p.lat, p.lng); setState(`${path}.distance`, parseFloat(distance.toFixed(2)), true); } // --- Preise --- let priceChanged = false; const fuels = [ { api: "e5", dp: "benzin" }, { api: "e10", dp: "e10" }, { api: "diesel", dp: "diesel" } ]; const keepLastPriceIfClosed = getState(`${base}.config.keep_last_price_if_closed`)?.val ?? true; if (p.isOpen) { if (getState(`${path}.benzin`)?.val !== p.e5) { appendHistory(path, "benzin", p.e5); } if (getState(`${path}.e10`)?.val !== p.e10) { appendHistory(path, "e10", p.e10); } if (getState(`${path}.diesel`)?.val !== p.diesel) { appendHistory(path, "diesel", p.diesel); } fuels.forEach(f => { if (typeof p[f.api] === "number") { const oldVal = getState(`${path}.${f.dp}`)?.val; if (oldVal !== p[f.api]) priceChanged = true; setState(`${path}.${f.dp}`, p[f.api], true); } }); if (priceChanged) { setState(`${path}.lastPriceUpdate`, hole_datum(), true); } setState(`${path}.benzin_str`, formatPriceUnicode(getState(`${path}.benzin`)?.val), true); setState(`${path}.e10_str`, formatPriceUnicode(getState(`${path}.e10`)?.val), true); setState(`${path}.diesel_str`, formatPriceUnicode(getState(`${path}.diesel`)?.val), true); } else if (!keepLastPriceIfClosed) { setState(`${path}.benzin`, 0.0, true); setState(`${path}.e10`, 0.0, true); setState(`${path}.diesel`, 0.0, true); setState(`${path}.benzin_str`, "", true); setState(`${path}.e10_str`, "", true); setState(`${path}.diesel_str`, "", true); } ["benzin","e10","diesel"].forEach(fuel => { const historyStr = getState(`${path}.aspects.${fuel}.history`)?.val || "[]"; let history = []; try { history = JSON.parse(historyStr); } catch {} const trends = { "48h": calculateTrend(history, 48), "14d": calculateTrend(history, 24 * 14), "90d": calculateTrend(history, 24 * 90) }; Object.entries(trends).forEach(([win, result]) => { setState(`${path}.aspects.${fuel}.trend_${win}`, result.text, true); setState(`${path}.aspects.${fuel}.trend_${win}_icon`, result.icon, true); }); // 24h Prognose pro Tankstelle === const futureTrend = calculateFutureTrend(history, 24); setState(`${path}.aspects.${fuel}.trend_24h_proj`, futureTrend.text, true); setState(`${path}.aspects.${fuel}.trend_24h_proj_icon`, futureTrend.icon, true); setState(`${path}.aspects.${fuel}.trend_24h_proj_price`, futureTrend.projectedPrice ? parseFloat(futureTrend.projectedPrice.toFixed(3)) : 0, true); }); function buildPriceEntry(fuelKey, label, image) { let priceStr = formatPriceUnicode(getState(`${path}.${fuelKey}`)?.val ?? null) || ""; const showTrendSymbols = getState(`${base}.config.show_trend_symbols`)?.val ?? false; if (showTrendSymbols && priceStr) { const trendIcon = getState(`${path}.aspects.${fuelKey}.trend_48h_icon`)?.val || TREND_SYMBOLS.flat; const forecastIcon = getState(`${path}.aspects.${fuelKey}.trend_24h_proj_icon`)?.val || FORECAST_SYMBOLS.flat; priceStr = `${priceStr} ${trendIcon} ${forecastIcon}`; } return { image, text: label, price: priceStr }; } const pricesJSON = [ buildPriceEntry("benzin", "Benzin", image_base + "blue.png"), buildPriceEntry("e10", "E10", image_base + "green.png"), buildPriceEntry("diesel", "Diesel", image_base + "red.png") ]; setState(`${path}.prices`, JSON.stringify(pricesJSON), true); setState(`${path}.lastChecked`, hole_datum(), true); const dist = getState(`${path}.distance`)?.val || 0; const isFav = getState(`${path}.favorite`)?.val === true; if (p.isOpen && getState(`${base}.${s.id}.dataonly`)?.val !== true) { considerCheapest(cheapest, 'benzin', p.e5, dist, s.id, s.image, isFav); considerCheapest(cheapest, 'e10', p.e10, dist, s.id, s.image, isFav); considerCheapest(cheapest, 'diesel', p.diesel, dist, s.id, s.image, isFav); } updateAspectsJSON(s.id); } catch (error) { logError(`Fehler bei Station ${s.id}: ${error}`); } }); await Promise.allSettled(tasks); logInfo("Auswertung abgeschlossen."); ["benzin", "e10", "diesel"].forEach(fuel => { if (cheapest[fuel]) { const stationId = cheapest[fuel].station; const stationName = getState(`${base}.${stationId}.name`)?.val || ""; setState(`${base}.cheapest.${fuel}_price`, cheapest[fuel].price, true); setState(`${base}.cheapest.${fuel}_price_str`, formatPriceUnicode(cheapest[fuel].price), true); setState(`${base}.cheapest.${fuel}_station`, stationId, true); // ID bleibt für Pfad-Operationen setState(`${base}.cheapest.${fuel}_station_name`, stationName, true); setState(`${base}.cheapest.${fuel}_image`, cheapest[fuel].image, true); } else { setState(`${base}.cheapest.${fuel}_price`, 0, true); setState(`${base}.cheapest.${fuel}_price_str`, "", true); setState(`${base}.cheapest.${fuel}_station`, "", true); setState(`${base}.cheapest.${fuel}_station_name`, "", true); setState(`${base}.cheapest.${fuel}_image`, "", true); } }); saveCheapestJSON(); saveTop3JSON(); calculateAveragePrices(); calculateDifferencesStates(); saveAverageJSON(); // Vollständige Infos JSON — nur aktive Stationen const fullInfo = stations .filter(s => getState(`${base}.${s.id}.enabled`)?.val !== false) .map(s => { const path = `${base}.${s.id}`; return { name: getState(`${path}.name`)?.val || "", brand: getState(`${path}.brand`)?.val || "", street: getState(`${path}.street`)?.val || "", postCode: getState(`${path}.postCode`)?.val || "", place: getState(`${path}.place`)?.val || "", distance: getState(`${path}.distance`)?.val || "", image: getState(`${path}.image`)?.val || "", benzin: getState(`${path}.benzin`)?.val ?? null, e10: getState(`${path}.e10`)?.val ?? null, diesel: getState(`${path}.diesel`)?.val ?? null, isOpen: getState(`${path}.isOpen`)?.val ?? false, lastPriceUpdate: getState(`${path}.lastPriceUpdate`)?.val || "", lastChecked: getState(`${path}.lastChecked`)?.val || "" }; }); setState(`${base}.all_stations_full_info`, JSON.stringify(fullInfo), true); updateRecommendations(); } // Start + Cron (async () => { try { if (await internetUndTankerkoenigOK()) { await initStates(); await sleepMs(5000); await loadData(); } } catch (err) { logError("Fehler beim Start: " + err); } })(); schedule('35 7,17,27,37,47,57 * * * *', async() => { try { if (await internetUndTankerkoenigOK()) { await initStates(); await sleepMs(5000); await loadData(); } } catch (err) { logError("Fehler beim Cron-Start: " + err); } }); async function internetUndTankerkoenigOK() { try { // 1. Internetcheck const net = await httpGetAsync("https://www.google.com/generate_204", { timeout: 5000 }); if (!net || net.statusCode !== 204) return false; // 2. Tankerkönig-Check (nur HEAD auf statische Seite) const tk = await httpGetAsync("https://creativecommons.tankerkoenig.de/", { timeout: 5000 }); return (tk && tk.statusCode === 200); } catch { return false; } } stations.forEach(s => { const resetId = `${base}.${s.id}.aspects.reset_history`; on({ id: resetId, change: "ne" }, obj => { if (obj.state.val === true) { const path = `${base}.${s.id}`; ["benzin","e10","diesel"].forEach(fuel => { setState(`${path}.aspects.${fuel}.history`, "[]", true); setState(`${path}.aspects.${fuel}.trend_48h`, "", true); setState(`${path}.aspects.${fuel}.trend_14d`, "", true); setState(`${path}.aspects.${fuel}.trend_90d`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj_price`, 0, true); setState(`${path}.aspects.${fuel}.trend_48h_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_14d_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_90d_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj_icon`, "", true); }); setState(resetId, false, true); } }); }); on({ id: `${base}.reset_all_trends`, change: "ne" }, obj => { if (obj.state.val === true) { stations.forEach(s => { const path = `${base}.${s.id}`; ["benzin","e10","diesel"].forEach(fuel => { setState(`${path}.aspects.${fuel}.history`, "[]", true); setState(`${path}.aspects.${fuel}.trend_48h`, "", true); setState(`${path}.aspects.${fuel}.trend_14d`, "", true); setState(`${path}.aspects.${fuel}.trend_90d`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj_price`, 0, true); setState(`${path}.aspects.${fuel}.trend_48h_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_14d_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_90d_icon`, "", true); setState(`${path}.aspects.${fuel}.trend_24h_proj_icon`, "", true); }); }); setState(`${base}.reset_all_trends`, false, true); } });Wenn alles richtig gemacht wurde, trudeln die Daten regelmäßig ein. Trend und Prognosen werden nicht sofort "brauchbare" Daten liefern. Es muss einfach etwas Zeit vertreichen. Ich habe bei mir alles in VIS1 visualisiert, sollte aber auch mit anderen Systemen funktionieren.
Viel Spaß und gutes Gelingen mit diesem Skript.
Ro75.
@Ro75 sagte in Tankerkönig - Extended Skript:
Viel Spaß und gutes Gelingen mit diesem Skript.
Servus
Könnte man sowas auch für Österreich machen?
Adapter gibt es zwar, aber so wie deins wäre hübscher. ;) -
Super, danke! Ich probier's demnächst.
Hinweis: im Bild ganz oben ist der genaue Standort verpixelt (vermutlich wg. Privatsphäre), im Code sind aber hoffentlich dann nicht Deine echten Geodaten ;-)
@Thomas-Maul sagte in Tankerkönig - Extended Skript:
Deine echten Geodaten ;-)
Nein, steht aber auch als Kommentar dahinter :-)
Ro75.
-
@Ro75 sagte in Tankerkönig - Extended Skript:
Viel Spaß und gutes Gelingen mit diesem Skript.
Servus
Könnte man sowas auch für Österreich machen?
Adapter gibt es zwar, aber so wie deins wäre hübscher. ;) -
Hallo, erstmal besten Dank für Deine Arbeit. Der Tankerkoenig läuft bei mir. Ich habe nun Dein Skript angepasst und bekomme dann allerdings beim Import unter VIS1 folgenden Fehler:

Danke für die Hilfe@joalexa sagte in Tankerkönig - Extended Skript:
Der Tankerkoenig läuft bei mir. Ich habe nun Dein Skript angepasst und bekomme dann allerdings beim Import unter VIS1 folgenden Fehler:
das ist ein Javascript.
Musst du in Scripte anlegen. Nicht in VIS importieren.Den Tankerkoenig Adapter brauchst du dann nicht mehr.
-
@joalexa sagte in Tankerkönig - Extended Skript:
Der Tankerkoenig läuft bei mir. Ich habe nun Dein Skript angepasst und bekomme dann allerdings beim Import unter VIS1 folgenden Fehler:
das ist ein Javascript.
Musst du in Scripte anlegen. Nicht in VIS importieren.Den Tankerkoenig Adapter brauchst du dann nicht mehr.
-
Hier habe ich mal etwas für die Vis 2 gebastelt.
Im Editor einfach die Zahlen durch die Zahlen eurer Tankstelle ersetzen und importieren. Funktioniert hervorragend.
[ { "tpl": "tplMaterial2Switches", "data": { "actual1": null, "actual10": null, "actual11": null, "actual12": null, "actual2": null, "actual3": null, "actual4": null, "actual5": null, "actual6": null, "actual7": null, "actual8": null, "actual9": null, "allSwitch": false, "bindings": [ "widgetTitle", "icon2", "icon10", "infoActiveIcon1", "icon1" ], "blue1": null, "blue10": null, "blue11": null, "blue12": null, "blue2": null, "blue3": null, "blue4": null, "blue5": null, "blue6": null, "blue7": null, "blue8": null, "blue9": null, "boost1": null, "boost10": null, "boost11": null, "boost12": null, "boost2": null, "boost3": null, "boost4": null, "boost5": null, "boost6": null, "boost7": null, "boost8": null, "boost9": null, "brightness1": null, "brightness10": null, "brightness11": null, "brightness12": null, "brightness2": null, "brightness3": null, "brightness4": null, "brightness5": null, "brightness6": null, "brightness7": null, "brightness8": null, "brightness9": null, "buttonIcon1": null, "buttonIcon10": null, "buttonIcon11": null, "buttonIcon12": null, "buttonIcon2": null, "buttonIcon3": null, "buttonIcon4": null, "buttonIcon5": null, "buttonIcon6": null, "buttonIcon7": null, "buttonIcon8": null, "buttonIcon9": null, "buttonIconActive1": null, "buttonIconActive10": null, "buttonIconActive11": null, "buttonIconActive12": null, "buttonIconActive2": null, "buttonIconActive3": null, "buttonIconActive4": null, "buttonIconActive5": null, "buttonIconActive6": null, "buttonIconActive7": null, "buttonIconActive8": null, "buttonIconActive9": null, "buttonImage1": null, "buttonImage10": null, "buttonImage11": null, "buttonImage12": null, "buttonImage2": null, "buttonImage3": null, "buttonImage4": null, "buttonImage5": null, "buttonImage6": null, "buttonImage7": null, "buttonImage8": null, "buttonImage9": null, "buttonImageActive1": null, "buttonImageActive10": null, "buttonImageActive11": null, "buttonImageActive12": null, "buttonImageActive2": null, "buttonImageActive3": null, "buttonImageActive4": null, "buttonImageActive5": null, "buttonImageActive6": null, "buttonImageActive7": null, "buttonImageActive8": null, "buttonImageActive9": null, "buttonText1": null, "buttonText10": null, "buttonText11": null, "buttonText12": null, "buttonText2": null, "buttonText3": null, "buttonText4": null, "buttonText5": null, "buttonText6": null, "buttonText7": null, "buttonText8": null, "buttonText9": null, "buttonsWidth": 120, "chartPeriod1": 60, "chartPeriod10": 60, "chartPeriod11": 60, "chartPeriod12": 60, "chartPeriod2": 60, "chartPeriod3": 10080, "chartPeriod4": 60, "chartPeriod5": 60, "chartPeriod6": 60, "chartPeriod7": 60, "chartPeriod8": 60, "chartPeriod9": 60, "color1": null, "color10": null, "color11": null, "color12": null, "color2": null, "color3": "#ffffff", "color4": null, "color5": null, "color6": null, "color7": null, "color8": null, "color9": "#ffffff", "colorEnabled1": null, "colorEnabled10": null, "colorEnabled11": null, "colorEnabled12": null, "colorEnabled2": null, "colorEnabled3": "#ffffff", "colorEnabled4": null, "colorEnabled5": null, "colorEnabled6": null, "colorEnabled7": null, "colorEnabled8": null, "colorEnabled9": "#ffffff", "color_temperature1": null, "color_temperature10": null, "color_temperature11": null, "color_temperature12": null, "color_temperature2": null, "color_temperature3": null, "color_temperature4": null, "color_temperature5": null, "color_temperature6": null, "color_temperature7": null, "color_temperature8": null, "color_temperature9": null, "count": 13, "ct_max1": null, "ct_max10": null, "ct_max11": null, "ct_max12": null, "ct_max2": null, "ct_max3": null, "ct_max4": null, "ct_max5": null, "ct_max6": null, "ct_max7": null, "ct_max8": null, "ct_max9": null, "ct_min1": null, "ct_min10": null, "ct_min11": null, "ct_min12": null, "ct_min2": null, "ct_min3": null, "ct_min4": null, "ct_min5": null, "ct_min6": null, "ct_min7": null, "ct_min8": null, "ct_min9": null, "doNotConfirm1": null, "doNotConfirm10": null, "doNotConfirm11": null, "doNotConfirm12": null, "doNotConfirm2": null, "doNotConfirm3": null, "doNotConfirm4": null, "doNotConfirm5": null, "doNotConfirm6": null, "doNotConfirm7": null, "doNotConfirm8": null, "doNotConfirm9": null, "doNotWantIncludeWidgets": false, "g_common": true, "g_switch-1": true, "g_switch-10": true, "g_switch-11": true, "g_switch-12": true, "g_switch-2": true, "g_switch-3": true, "g_switch-4": true, "g_switch-5": true, "g_switch-6": true, "g_switch-7": true, "g_switch-8": true, "g_switch-9": true, "green1": null, "green10": null, "green11": null, "green12": null, "green2": null, "green3": null, "green4": null, "green5": null, "green6": null, "green7": null, "green8": null, "green9": null, "height1": null, "height10": null, "height11": null, "height12": null, "height2": null, "height3": null, "height4": null, "height5": null, "height6": null, "height7": null, "height8": null, "height9": null, "hide1": null, "hide10": null, "hide11": null, "hide12": null, "hide2": null, "hide3": null, "hide4": null, "hide5": null, "hide6": null, "hide7": null, "hide8": null, "hide9": null, "hideBrightness1": null, "hideBrightness10": null, "hideBrightness11": null, "hideBrightness12": null, "hideBrightness2": null, "hideBrightness3": null, "hideBrightness4": null, "hideBrightness5": null, "hideBrightness6": null, "hideBrightness7": null, "hideBrightness8": null, "hideBrightness9": null, "hideChart1": true, "hideChart10": true, "hideChart11": true, "hideChart12": true, "hideChart2": true, "hideChart3": true, "hideChart4": true, "hideChart5": true, "hideChart6": true, "hideChart7": true, "hideChart8": true, "hideChart9": true, "hue1": null, "hue10": null, "hue11": null, "hue12": null, "hue2": null, "hue3": null, "hue4": null, "hue5": null, "hue6": null, "hue7": null, "hue8": null, "hue9": null, "icon1": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon10": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon11": null, "icon12": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon2": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon3": "../vis-2.0/tanken/blue.png", "icon4": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon5": null, "icon6": "../vis-2.0/tanken/green.png", "icon7": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon8": null, "icon9": "../vis-2.0/tanken/red.png", "iconEnabled1": null, "iconEnabled10": null, "iconEnabled11": null, "iconEnabled12": null, "iconEnabled2": null, "iconEnabled3": "../vis-2.0/tanken/blue.png", "iconEnabled4": null, "iconEnabled5": null, "iconEnabled6": "../vis-2.0/tanken/green.png", "iconEnabled7": null, "iconEnabled8": null, "iconEnabled9": "../vis-2.0/tanken/red.png", "iconEnabledSmall1": null, "iconEnabledSmall10": null, "iconEnabledSmall11": null, "iconEnabledSmall12": null, "iconEnabledSmall2": null, "iconEnabledSmall3": null, "iconEnabledSmall4": null, "iconEnabledSmall5": null, "iconEnabledSmall6": null, "iconEnabledSmall7": null, "iconEnabledSmall8": null, "iconEnabledSmall9": null, "iconSmall1": null, "iconSmall10": null, "iconSmall11": null, "iconSmall12": null, "iconSmall2": null, "iconSmall3": null, "iconSmall4": null, "iconSmall5": null, "iconSmall6": null, "iconSmall7": null, "iconSmall8": null, "iconSmall9": null, "infoActiveColor1": null, "infoActiveColor10": null, "infoActiveColor11": null, "infoActiveColor12": null, "infoActiveColor2": null, "infoActiveColor3": null, "infoActiveColor4": null, "infoActiveColor5": null, "infoActiveColor6": null, "infoActiveColor7": null, "infoActiveColor8": null, "infoActiveColor9": null, "infoActiveIcon1": null, "infoActiveIcon10": null, "infoActiveIcon11": null, "infoActiveIcon12": null, "infoActiveIcon2": null, "infoActiveIcon3": null, "infoActiveIcon4": null, "infoActiveIcon5": null, "infoActiveIcon6": null, "infoActiveIcon7": null, "infoActiveIcon8": null, "infoActiveIcon9": null, "infoActiveImage1": null, "infoActiveImage10": null, "infoActiveImage11": null, "infoActiveImage12": null, "infoActiveImage2": null, "infoActiveImage3": null, "infoActiveImage4": null, "infoActiveImage5": null, "infoActiveImage6": null, "infoActiveImage7": null, "infoActiveImage8": null, "infoActiveImage9": null, "infoActiveText1": null, "infoActiveText10": null, "infoActiveText11": null, "infoActiveText12": null, "infoActiveText2": null, "infoActiveText3": null, "infoActiveText4": null, "infoActiveText5": null, "infoActiveText6": null, "infoActiveText7": null, "infoActiveText8": null, "infoActiveText9": null, "infoInactiveColor1": null, "infoInactiveColor10": null, "infoInactiveColor11": null, "infoInactiveColor12": null, "infoInactiveColor2": null, "infoInactiveColor3": null, "infoInactiveColor4": null, "infoInactiveColor5": null, "infoInactiveColor6": null, "infoInactiveColor7": null, "infoInactiveColor8": null, "infoInactiveColor9": null, "infoInactiveIcon1": null, "infoInactiveIcon10": null, "infoInactiveIcon11": null, "infoInactiveIcon12": null, "infoInactiveIcon2": null, "infoInactiveIcon3": null, "infoInactiveIcon4": null, "infoInactiveIcon5": null, "infoInactiveIcon6": null, "infoInactiveIcon7": null, "infoInactiveIcon8": null, "infoInactiveIcon9": null, "infoInactiveImage1": null, "infoInactiveImage10": null, "infoInactiveImage11": null, "infoInactiveImage12": null, "infoInactiveImage2": null, "infoInactiveImage3": null, "infoInactiveImage4": null, "infoInactiveImage5": null, "infoInactiveImage6": null, "infoInactiveImage7": null, "infoInactiveImage8": null, "infoInactiveImage9": null, "infoInactiveText1": null, "infoInactiveText10": null, "infoInactiveText11": null, "infoInactiveText12": null, "infoInactiveText2": null, "infoInactiveText3": null, "infoInactiveText4": null, "infoInactiveText5": null, "infoInactiveText6": null, "infoInactiveText7": null, "infoInactiveText8": null, "infoInactiveText9": null, "lockColor1": null, "lockColor10": null, "lockColor11": null, "lockColor12": null, "lockColor2": null, "lockColor3": null, "lockColor4": null, "lockColor5": null, "lockColor6": null, "lockColor7": null, "lockColor8": null, "lockColor9": null, "luminance1": null, "luminance10": null, "luminance11": null, "luminance12": null, "luminance2": null, "luminance3": null, "luminance4": null, "luminance5": null, "luminance6": null, "luminance7": null, "luminance8": null, "luminance9": null, "noIcon1": false, "noIcon10": true, "noIcon11": true, "noIcon12": true, "noIcon2": true, "noIcon3": null, "noIcon4": true, "noIcon5": true, "noIcon6": null, "noIcon7": true, "noIcon8": true, "noIcon9": null, "noLockAnimation1": null, "noLockAnimation10": null, "noLockAnimation11": null, "noLockAnimation12": null, "noLockAnimation2": null, "noLockAnimation3": null, "noLockAnimation4": null, "noLockAnimation5": null, "noLockAnimation6": null, "noLockAnimation7": null, "noLockAnimation8": null, "noLockAnimation9": null, "noRgbPalette1": null, "noRgbPalette10": null, "noRgbPalette11": null, "noRgbPalette12": null, "noRgbPalette2": null, "noRgbPalette3": null, "noRgbPalette4": null, "noRgbPalette5": null, "noRgbPalette6": null, "noRgbPalette7": null, "noRgbPalette8": null, "noRgbPalette9": null, "oid-pincode1": null, "oid-pincode10": null, "oid-pincode11": null, "oid-pincode12": null, "oid-pincode2": null, "oid-pincode3": null, "oid-pincode4": null, "oid-pincode5": null, "oid-pincode6": null, "oid-pincode7": null, "oid-pincode8": null, "oid-pincode9": null, "oid1": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.street", "oid10": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.diesel.trend_24h_proj", "oid11": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.diesel.trend_24h_proj_price", "oid12": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.lastChecked", "oid2": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.place", "oid3": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.benzin_str", "oid4": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj", "oid5": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_price", "oid6": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.e10_str", "oid7": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.e10.trend_24h_proj", "oid8": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.e10.trend_24h_proj_price", "oid9": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.diesel_str", "open1": null, "open10": null, "open11": null, "open12": null, "open2": null, "open3": null, "open4": null, "open5": null, "open6": null, "open7": null, "open8": null, "open9": null, "orientation": "horizontal", "party1": null, "party10": null, "party11": null, "party12": null, "party2": null, "party3": null, "party4": null, "party5": null, "party6": null, "party7": null, "party8": null, "party9": null, "pincode1": null, "pincode10": null, "pincode11": null, "pincode12": null, "pincode2": null, "pincode3": null, "pincode4": null, "pincode5": null, "pincode6": null, "pincode7": null, "pincode8": null, "pincode9": null, "pincodeReturnButton1": "submit", "pincodeReturnButton10": "submit", "pincodeReturnButton11": "submit", "pincodeReturnButton12": "submit", "pincodeReturnButton2": "submit", "pincodeReturnButton3": "submit", "pincodeReturnButton4": "submit", "pincodeReturnButton5": "submit", "pincodeReturnButton6": "submit", "pincodeReturnButton7": "submit", "pincodeReturnButton8": "submit", "pincodeReturnButton9": "submit", "position1": null, "position10": null, "position11": null, "position12": null, "position2": null, "position3": null, "position4": null, "position5": null, "position6": null, "position7": null, "position8": null, "position9": null, "red1": null, "red10": null, "red11": null, "red12": null, "red2": null, "red3": null, "red4": null, "red5": null, "red6": null, "red7": null, "red8": null, "red9": null, "rgbType1": null, "rgbType10": null, "rgbType11": null, "rgbType12": null, "rgbType2": null, "rgbType3": null, "rgbType4": null, "rgbType5": null, "rgbType6": null, "rgbType7": null, "rgbType8": null, "rgbType9": null, "saturation1": null, "saturation10": null, "saturation11": null, "saturation12": null, "saturation2": null, "saturation3": null, "saturation4": null, "saturation5": null, "saturation6": null, "saturation7": null, "saturation8": null, "saturation9": null, "sensor1": null, "sensor10": null, "sensor11": null, "sensor12": null, "sensor2": null, "sensor3": null, "sensor4": null, "sensor5": null, "sensor6": null, "sensor7": null, "sensor8": null, "sensor9": null, "slideInvert1": null, "slideInvert10": null, "slideInvert11": null, "slideInvert12": null, "slideInvert2": null, "slideInvert3": null, "slideInvert4": null, "slideInvert5": null, "slideInvert6": null, "slideInvert7": null, "slideInvert8": null, "slideInvert9": null, "step1": null, "step10": null, "step11": null, "step12": null, "step2": null, "step3": null, "step4": null, "step5": null, "step6": null, "step7": null, "step8": null, "step9": null, "switch1": null, "switch10": null, "switch11": null, "switch12": null, "switch2": null, "switch3": null, "switch4": null, "switch5": null, "switch6": null, "switch7": null, "switch8": null, "switch9": null, "timeout1": 500, "timeout10": 500, "timeout11": 500, "timeout12": 500, "timeout2": 500, "timeout3": 500, "timeout4": 500, "timeout5": 500, "timeout6": 500, "timeout7": 500, "timeout8": 500, "timeout9": 500, "title1": "Straße", "title10": "Prognose 24h", "title11": "Preisprognose 24h", "title12": null, "title2": "Ort", "title3": "Super 95", "title4": "Prognose 24h", "title5": "Preisprognose 24h", "title6": "E10", "title7": "Prognose 24h", "title8": "Preisprognose 24h", "title9": "Diesel", "type": "lines", "type1": "info", "type10": "info", "type11": "info", "type12": "info", "type2": "info", "type3": "info", "type4": "info", "type5": "info", "type6": "info", "type7": "info", "type8": "info", "type9": "info", "undefined1": null, "undefined10": null, "undefined11": null, "undefined12": null, "undefined2": null, "undefined3": null, "undefined4": null, "undefined5": null, "undefined6": null, "undefined7": null, "undefined8": null, "undefined9": null, "unit1": null, "unit10": null, "unit11": "€", "unit12": null, "unit2": null, "unit3": "€", "unit4": null, "unit5": "€", "unit6": "€", "unit7": null, "unit8": "€", "unit9": "€", "vacuum-battery-oid1": null, "vacuum-battery-oid10": null, "vacuum-battery-oid11": null, "vacuum-battery-oid12": null, "vacuum-battery-oid2": null, "vacuum-battery-oid3": null, "vacuum-battery-oid4": null, "vacuum-battery-oid5": null, "vacuum-battery-oid6": null, "vacuum-battery-oid7": null, "vacuum-battery-oid8": null, "vacuum-battery-oid9": null, "vacuum-cleaning-count-oid1": null, "vacuum-cleaning-count-oid10": null, "vacuum-cleaning-count-oid11": null, "vacuum-cleaning-count-oid12": null, "vacuum-cleaning-count-oid2": null, "vacuum-cleaning-count-oid3": null, "vacuum-cleaning-count-oid4": null, "vacuum-cleaning-count-oid5": null, "vacuum-cleaning-count-oid6": null, "vacuum-cleaning-count-oid7": null, "vacuum-cleaning-count-oid8": null, "vacuum-cleaning-count-oid9": null, "vacuum-fan-speed-oid1": null, "vacuum-fan-speed-oid10": null, "vacuum-fan-speed-oid11": null, "vacuum-fan-speed-oid12": null, "vacuum-fan-speed-oid2": null, "vacuum-fan-speed-oid3": null, "vacuum-fan-speed-oid4": null, "vacuum-fan-speed-oid5": null, "vacuum-fan-speed-oid6": null, "vacuum-fan-speed-oid7": null, "vacuum-fan-speed-oid8": null, "vacuum-fan-speed-oid9": null, "vacuum-filter-left-oid1": null, "vacuum-filter-left-oid10": null, "vacuum-filter-left-oid11": null, "vacuum-filter-left-oid12": null, "vacuum-filter-left-oid2": null, "vacuum-filter-left-oid3": null, "vacuum-filter-left-oid4": null, "vacuum-filter-left-oid5": null, "vacuum-filter-left-oid6": null, "vacuum-filter-left-oid7": null, "vacuum-filter-left-oid8": null, "vacuum-filter-left-oid9": null, "vacuum-home-oid1": null, "vacuum-home-oid10": null, "vacuum-home-oid11": null, "vacuum-home-oid12": null, "vacuum-home-oid2": null, "vacuum-home-oid3": null, "vacuum-home-oid4": null, "vacuum-home-oid5": null, "vacuum-home-oid6": null, "vacuum-home-oid7": null, "vacuum-home-oid8": null, "vacuum-home-oid9": null, "vacuum-is-charging-oid1": null, "vacuum-is-charging-oid10": null, "vacuum-is-charging-oid11": null, "vacuum-is-charging-oid12": null, "vacuum-is-charging-oid2": null, "vacuum-is-charging-oid3": null, "vacuum-is-charging-oid4": null, "vacuum-is-charging-oid5": null, "vacuum-is-charging-oid6": null, "vacuum-is-charging-oid7": null, "vacuum-is-charging-oid8": null, "vacuum-is-charging-oid9": null, "vacuum-main-brush-left-oid1": null, "vacuum-main-brush-left-oid10": null, "vacuum-main-brush-left-oid11": null, "vacuum-main-brush-left-oid12": null, "vacuum-main-brush-left-oid2": null, "vacuum-main-brush-left-oid3": null, "vacuum-main-brush-left-oid4": null, "vacuum-main-brush-left-oid5": null, "vacuum-main-brush-left-oid6": null, "vacuum-main-brush-left-oid7": null, "vacuum-main-brush-left-oid8": null, "vacuum-main-brush-left-oid9": null, "vacuum-map64-oid1": null, "vacuum-map64-oid10": null, "vacuum-map64-oid11": null, "vacuum-map64-oid12": null, "vacuum-map64-oid2": null, "vacuum-map64-oid3": null, "vacuum-map64-oid4": null, "vacuum-map64-oid5": null, "vacuum-map64-oid6": null, "vacuum-map64-oid7": null, "vacuum-map64-oid8": null, "vacuum-map64-oid9": null, "vacuum-own-image1": null, "vacuum-own-image10": null, "vacuum-own-image11": null, "vacuum-own-image12": null, "vacuum-own-image2": null, "vacuum-own-image3": null, "vacuum-own-image4": null, "vacuum-own-image5": null, "vacuum-own-image6": null, "vacuum-own-image7": null, "vacuum-own-image8": null, "vacuum-own-image9": null, "vacuum-pause-oid1": null, "vacuum-pause-oid10": null, "vacuum-pause-oid11": null, "vacuum-pause-oid12": null, "vacuum-pause-oid2": null, "vacuum-pause-oid3": null, "vacuum-pause-oid4": null, "vacuum-pause-oid5": null, "vacuum-pause-oid6": null, "vacuum-pause-oid7": null, "vacuum-pause-oid8": null, "vacuum-pause-oid9": null, "vacuum-sensors-left-oid1": null, "vacuum-sensors-left-oid10": null, "vacuum-sensors-left-oid11": null, "vacuum-sensors-left-oid12": null, "vacuum-sensors-left-oid2": null, "vacuum-sensors-left-oid3": null, "vacuum-sensors-left-oid4": null, "vacuum-sensors-left-oid5": null, "vacuum-sensors-left-oid6": null, "vacuum-sensors-left-oid7": null, "vacuum-sensors-left-oid8": null, "vacuum-sensors-left-oid9": null, "vacuum-side-brush-left-oid1": null, "vacuum-side-brush-left-oid10": null, "vacuum-side-brush-left-oid11": null, "vacuum-side-brush-left-oid12": null, "vacuum-side-brush-left-oid2": null, "vacuum-side-brush-left-oid3": null, "vacuum-side-brush-left-oid4": null, "vacuum-side-brush-left-oid5": null, "vacuum-side-brush-left-oid6": null, "vacuum-side-brush-left-oid7": null, "vacuum-side-brush-left-oid8": null, "vacuum-side-brush-left-oid9": null, "vacuum-start-oid1": null, "vacuum-start-oid10": null, "vacuum-start-oid11": null, "vacuum-start-oid12": null, "vacuum-start-oid2": null, "vacuum-start-oid3": null, "vacuum-start-oid4": null, "vacuum-start-oid5": null, "vacuum-start-oid6": null, "vacuum-start-oid7": null, "vacuum-start-oid8": null, "vacuum-start-oid9": null, "vacuum-status-oid1": null, "vacuum-status-oid10": null, "vacuum-status-oid11": null, "vacuum-status-oid12": null, "vacuum-status-oid2": null, "vacuum-status-oid3": null, "vacuum-status-oid4": null, "vacuum-status-oid5": null, "vacuum-status-oid6": null, "vacuum-status-oid7": null, "vacuum-status-oid8": null, "vacuum-status-oid9": null, "vacuum-use-default-picture1": true, "vacuum-use-default-picture10": true, "vacuum-use-default-picture11": true, "vacuum-use-default-picture12": true, "vacuum-use-default-picture2": true, "vacuum-use-default-picture3": true, "vacuum-use-default-picture4": true, "vacuum-use-default-picture5": true, "vacuum-use-default-picture6": true, "vacuum-use-default-picture7": true, "vacuum-use-default-picture8": true, "vacuum-use-default-picture9": true, "vacuum-use-rooms1": null, "vacuum-use-rooms10": null, "vacuum-use-rooms11": null, "vacuum-use-rooms12": null, "vacuum-use-rooms2": null, "vacuum-use-rooms3": null, "vacuum-use-rooms4": null, "vacuum-use-rooms5": null, "vacuum-use-rooms6": null, "vacuum-use-rooms7": null, "vacuum-use-rooms8": null, "vacuum-use-rooms9": null, "visibility-cond1": "==", "visibility-cond10": "==", "visibility-cond11": "==", "visibility-cond12": "==", "visibility-cond2": "==", "visibility-cond3": "==", "visibility-cond4": "==", "visibility-cond5": "==", "visibility-cond6": "==", "visibility-cond7": "==", "visibility-cond8": "==", "visibility-cond9": "==", "visibility-oid1": null, "visibility-oid10": null, "visibility-oid11": null, "visibility-oid12": null, "visibility-oid2": null, "visibility-oid3": null, "visibility-oid4": null, "visibility-oid5": null, "visibility-oid6": null, "visibility-oid7": null, "visibility-oid8": null, "visibility-oid9": null, "visibility-val1": "1", "visibility-val10": "1", "visibility-val11": "1", "visibility-val12": "1", "visibility-val2": "1", "visibility-val3": "1", "visibility-val4": "1", "visibility-val5": "1", "visibility-val6": "1", "visibility-val7": "1", "visibility-val8": "1", "visibility-val9": "1", "white1": null, "white10": null, "white11": null, "white12": null, "white2": null, "white3": null, "white4": null, "white5": null, "white6": null, "white7": null, "white8": null, "white9": null, "whiteMode1": null, "whiteMode10": null, "whiteMode11": null, "whiteMode12": null, "whiteMode2": null, "whiteMode3": null, "whiteMode4": null, "whiteMode5": null, "whiteMode6": null, "whiteMode7": null, "whiteMode8": null, "whiteMode9": null, "widget1": null, "widget10": null, "widget11": null, "widget12": null, "widget2": null, "widget3": null, "widget4": null, "widget5": null, "widget6": null, "widget7": null, "widget8": null, "widget9": null, "widgetTitle": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.name}", "working1": null, "working10": null, "working11": null, "working12": null, "working2": null, "working3": null, "working4": null, "working5": null, "working6": null, "working7": null, "working8": null, "working9": null, "oid13": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.lastPriceUpdate", "type13": "info", "noIcon13": true, "icon13": "", "iconSmall13": null, "iconEnabled13": null, "iconEnabledSmall13": null, "color13": null, "colorEnabled13": null, "slideInvert13": null, "title13": null, "unit13": null, "step13": null, "hideChart13": true, "chartPeriod13": 60, "buttonText13": null, "buttonIcon13": null, "buttonImage13": null, "buttonIconActive13": null, "buttonImageActive13": null, "infoInactiveText13": null, "infoActiveText13": null, "infoInactiveIcon13": null, "infoActiveIcon13": null, "infoInactiveImage13": null, "infoActiveImage13": null, "infoInactiveColor13": null, "infoActiveColor13": null, "widget13": null, "height13": null, "position13": null, "hide13": null, "actual13": null, "boost13": null, "party13": null, "switch13": null, "brightness13": null, "rgbType13": null, "red13": null, "green13": null, "blue13": null, "white13": null, "color_temperature13": null, "ct_min13": null, "ct_max13": null, "hue13": null, "saturation13": null, "luminance13": null, "hideBrightness13": null, "whiteMode13": null, "noRgbPalette13": null, "open13": null, "working13": null, "sensor13": null, "pincode13": null, "oid-pincode13": null, "doNotConfirm13": null, "noLockAnimation13": null, "lockColor13": null, "pincodeReturnButton13": "submit", "timeout13": 500, "vacuum-status-oid13": null, "vacuum-battery-oid13": null, "vacuum-is-charging-oid13": null, "vacuum-fan-speed-oid13": null, "vacuum-sensors-left-oid13": null, "vacuum-filter-left-oid13": null, "vacuum-main-brush-left-oid13": null, "vacuum-side-brush-left-oid13": null, "vacuum-cleaning-count-oid13": null, "vacuum-use-rooms13": null, "vacuum-map64-oid13": null, "vacuum-use-default-picture13": true, "vacuum-own-image13": null, "vacuum-start-oid13": null, "vacuum-home-oid13": null, "vacuum-pause-oid13": null, "undefined13": null, "visibility-oid13": null, "visibility-cond13": "==", "visibility-val13": "1", "g_switch-13": true, "visibility-oid": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.isOpen", "visibility-cond": "==", "visibility-val": "false", "visibility-groups": null, "visibility-groups-action": "hide", "g_visibility": true }, "style": { "bindings": [], "left": -6, "top": 14, "width": "100%", "height": "588px", "position": "relative" }, "widgetSet": "vis-2-widgets-material", "_id": "i000001" } ] -
Hier habe ich mal etwas für die Vis 2 gebastelt.
Im Editor einfach die Zahlen durch die Zahlen eurer Tankstelle ersetzen und importieren. Funktioniert hervorragend.
[ { "tpl": "tplMaterial2Switches", "data": { "actual1": null, "actual10": null, "actual11": null, "actual12": null, "actual2": null, "actual3": null, "actual4": null, "actual5": null, "actual6": null, "actual7": null, "actual8": null, "actual9": null, "allSwitch": false, "bindings": [ "widgetTitle", "icon2", "icon10", "infoActiveIcon1", "icon1" ], "blue1": null, "blue10": null, "blue11": null, "blue12": null, "blue2": null, "blue3": null, "blue4": null, "blue5": null, "blue6": null, "blue7": null, "blue8": null, "blue9": null, "boost1": null, "boost10": null, "boost11": null, "boost12": null, "boost2": null, "boost3": null, "boost4": null, "boost5": null, "boost6": null, "boost7": null, "boost8": null, "boost9": null, "brightness1": null, "brightness10": null, "brightness11": null, "brightness12": null, "brightness2": null, "brightness3": null, "brightness4": null, "brightness5": null, "brightness6": null, "brightness7": null, "brightness8": null, "brightness9": null, "buttonIcon1": null, "buttonIcon10": null, "buttonIcon11": null, "buttonIcon12": null, "buttonIcon2": null, "buttonIcon3": null, "buttonIcon4": null, "buttonIcon5": null, "buttonIcon6": null, "buttonIcon7": null, "buttonIcon8": null, "buttonIcon9": null, "buttonIconActive1": null, "buttonIconActive10": null, "buttonIconActive11": null, "buttonIconActive12": null, "buttonIconActive2": null, "buttonIconActive3": null, "buttonIconActive4": null, "buttonIconActive5": null, "buttonIconActive6": null, "buttonIconActive7": null, "buttonIconActive8": null, "buttonIconActive9": null, "buttonImage1": null, "buttonImage10": null, "buttonImage11": null, "buttonImage12": null, "buttonImage2": null, "buttonImage3": null, "buttonImage4": null, "buttonImage5": null, "buttonImage6": null, "buttonImage7": null, "buttonImage8": null, "buttonImage9": null, "buttonImageActive1": null, "buttonImageActive10": null, "buttonImageActive11": null, "buttonImageActive12": null, "buttonImageActive2": null, "buttonImageActive3": null, "buttonImageActive4": null, "buttonImageActive5": null, "buttonImageActive6": null, "buttonImageActive7": null, "buttonImageActive8": null, "buttonImageActive9": null, "buttonText1": null, "buttonText10": null, "buttonText11": null, "buttonText12": null, "buttonText2": null, "buttonText3": null, "buttonText4": null, "buttonText5": null, "buttonText6": null, "buttonText7": null, "buttonText8": null, "buttonText9": null, "buttonsWidth": 120, "chartPeriod1": 60, "chartPeriod10": 60, "chartPeriod11": 60, "chartPeriod12": 60, "chartPeriod2": 60, "chartPeriod3": 10080, "chartPeriod4": 60, "chartPeriod5": 60, "chartPeriod6": 60, "chartPeriod7": 60, "chartPeriod8": 60, "chartPeriod9": 60, "color1": null, "color10": null, "color11": null, "color12": null, "color2": null, "color3": "#ffffff", "color4": null, "color5": null, "color6": null, "color7": null, "color8": null, "color9": "#ffffff", "colorEnabled1": null, "colorEnabled10": null, "colorEnabled11": null, "colorEnabled12": null, "colorEnabled2": null, "colorEnabled3": "#ffffff", "colorEnabled4": null, "colorEnabled5": null, "colorEnabled6": null, "colorEnabled7": null, "colorEnabled8": null, "colorEnabled9": "#ffffff", "color_temperature1": null, "color_temperature10": null, "color_temperature11": null, "color_temperature12": null, "color_temperature2": null, "color_temperature3": null, "color_temperature4": null, "color_temperature5": null, "color_temperature6": null, "color_temperature7": null, "color_temperature8": null, "color_temperature9": null, "count": 13, "ct_max1": null, "ct_max10": null, "ct_max11": null, "ct_max12": null, "ct_max2": null, "ct_max3": null, "ct_max4": null, "ct_max5": null, "ct_max6": null, "ct_max7": null, "ct_max8": null, "ct_max9": null, "ct_min1": null, "ct_min10": null, "ct_min11": null, "ct_min12": null, "ct_min2": null, "ct_min3": null, "ct_min4": null, "ct_min5": null, "ct_min6": null, "ct_min7": null, "ct_min8": null, "ct_min9": null, "doNotConfirm1": null, "doNotConfirm10": null, "doNotConfirm11": null, "doNotConfirm12": null, "doNotConfirm2": null, "doNotConfirm3": null, "doNotConfirm4": null, "doNotConfirm5": null, "doNotConfirm6": null, "doNotConfirm7": null, "doNotConfirm8": null, "doNotConfirm9": null, "doNotWantIncludeWidgets": false, "g_common": true, "g_switch-1": true, "g_switch-10": true, "g_switch-11": true, "g_switch-12": true, "g_switch-2": true, "g_switch-3": true, "g_switch-4": true, "g_switch-5": true, "g_switch-6": true, "g_switch-7": true, "g_switch-8": true, "g_switch-9": true, "green1": null, "green10": null, "green11": null, "green12": null, "green2": null, "green3": null, "green4": null, "green5": null, "green6": null, "green7": null, "green8": null, "green9": null, "height1": null, "height10": null, "height11": null, "height12": null, "height2": null, "height3": null, "height4": null, "height5": null, "height6": null, "height7": null, "height8": null, "height9": null, "hide1": null, "hide10": null, "hide11": null, "hide12": null, "hide2": null, "hide3": null, "hide4": null, "hide5": null, "hide6": null, "hide7": null, "hide8": null, "hide9": null, "hideBrightness1": null, "hideBrightness10": null, "hideBrightness11": null, "hideBrightness12": null, "hideBrightness2": null, "hideBrightness3": null, "hideBrightness4": null, "hideBrightness5": null, "hideBrightness6": null, "hideBrightness7": null, "hideBrightness8": null, "hideBrightness9": null, "hideChart1": true, "hideChart10": true, "hideChart11": true, "hideChart12": true, "hideChart2": true, "hideChart3": true, "hideChart4": true, "hideChart5": true, "hideChart6": true, "hideChart7": true, "hideChart8": true, "hideChart9": true, "hue1": null, "hue10": null, "hue11": null, "hue12": null, "hue2": null, "hue3": null, "hue4": null, "hue5": null, "hue6": null, "hue7": null, "hue8": null, "hue9": null, "icon1": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon10": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon11": null, "icon12": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon2": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.image}", "icon3": "../vis-2.0/tanken/blue.png", "icon4": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon5": null, "icon6": "../vis-2.0/tanken/green.png", "icon7": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_icon}", "icon8": null, "icon9": "../vis-2.0/tanken/red.png", "iconEnabled1": null, "iconEnabled10": null, "iconEnabled11": null, "iconEnabled12": null, "iconEnabled2": null, "iconEnabled3": "../vis-2.0/tanken/blue.png", "iconEnabled4": null, "iconEnabled5": null, "iconEnabled6": "../vis-2.0/tanken/green.png", "iconEnabled7": null, "iconEnabled8": null, "iconEnabled9": "../vis-2.0/tanken/red.png", "iconEnabledSmall1": null, "iconEnabledSmall10": null, "iconEnabledSmall11": null, "iconEnabledSmall12": null, "iconEnabledSmall2": null, "iconEnabledSmall3": null, "iconEnabledSmall4": null, "iconEnabledSmall5": null, "iconEnabledSmall6": null, "iconEnabledSmall7": null, "iconEnabledSmall8": null, "iconEnabledSmall9": null, "iconSmall1": null, "iconSmall10": null, "iconSmall11": null, "iconSmall12": null, "iconSmall2": null, "iconSmall3": null, "iconSmall4": null, "iconSmall5": null, "iconSmall6": null, "iconSmall7": null, "iconSmall8": null, "iconSmall9": null, "infoActiveColor1": null, "infoActiveColor10": null, "infoActiveColor11": null, "infoActiveColor12": null, "infoActiveColor2": null, "infoActiveColor3": null, "infoActiveColor4": null, "infoActiveColor5": null, "infoActiveColor6": null, "infoActiveColor7": null, "infoActiveColor8": null, "infoActiveColor9": null, "infoActiveIcon1": null, "infoActiveIcon10": null, "infoActiveIcon11": null, "infoActiveIcon12": null, "infoActiveIcon2": null, "infoActiveIcon3": null, "infoActiveIcon4": null, "infoActiveIcon5": null, "infoActiveIcon6": null, "infoActiveIcon7": null, "infoActiveIcon8": null, "infoActiveIcon9": null, "infoActiveImage1": null, "infoActiveImage10": null, "infoActiveImage11": null, "infoActiveImage12": null, "infoActiveImage2": null, "infoActiveImage3": null, "infoActiveImage4": null, "infoActiveImage5": null, "infoActiveImage6": null, "infoActiveImage7": null, "infoActiveImage8": null, "infoActiveImage9": null, "infoActiveText1": null, "infoActiveText10": null, "infoActiveText11": null, "infoActiveText12": null, "infoActiveText2": null, "infoActiveText3": null, "infoActiveText4": null, "infoActiveText5": null, "infoActiveText6": null, "infoActiveText7": null, "infoActiveText8": null, "infoActiveText9": null, "infoInactiveColor1": null, "infoInactiveColor10": null, "infoInactiveColor11": null, "infoInactiveColor12": null, "infoInactiveColor2": null, "infoInactiveColor3": null, "infoInactiveColor4": null, "infoInactiveColor5": null, "infoInactiveColor6": null, "infoInactiveColor7": null, "infoInactiveColor8": null, "infoInactiveColor9": null, "infoInactiveIcon1": null, "infoInactiveIcon10": null, "infoInactiveIcon11": null, "infoInactiveIcon12": null, "infoInactiveIcon2": null, "infoInactiveIcon3": null, "infoInactiveIcon4": null, "infoInactiveIcon5": null, "infoInactiveIcon6": null, "infoInactiveIcon7": null, "infoInactiveIcon8": null, "infoInactiveIcon9": null, "infoInactiveImage1": null, "infoInactiveImage10": null, "infoInactiveImage11": null, "infoInactiveImage12": null, "infoInactiveImage2": null, "infoInactiveImage3": null, "infoInactiveImage4": null, "infoInactiveImage5": null, "infoInactiveImage6": null, "infoInactiveImage7": null, "infoInactiveImage8": null, "infoInactiveImage9": null, "infoInactiveText1": null, "infoInactiveText10": null, "infoInactiveText11": null, "infoInactiveText12": null, "infoInactiveText2": null, "infoInactiveText3": null, "infoInactiveText4": null, "infoInactiveText5": null, "infoInactiveText6": null, "infoInactiveText7": null, "infoInactiveText8": null, "infoInactiveText9": null, "lockColor1": null, "lockColor10": null, "lockColor11": null, "lockColor12": null, "lockColor2": null, "lockColor3": null, "lockColor4": null, "lockColor5": null, "lockColor6": null, "lockColor7": null, "lockColor8": null, "lockColor9": null, "luminance1": null, "luminance10": null, "luminance11": null, "luminance12": null, "luminance2": null, "luminance3": null, "luminance4": null, "luminance5": null, "luminance6": null, "luminance7": null, "luminance8": null, "luminance9": null, "noIcon1": false, "noIcon10": true, "noIcon11": true, "noIcon12": true, "noIcon2": true, "noIcon3": null, "noIcon4": true, "noIcon5": true, "noIcon6": null, "noIcon7": true, "noIcon8": true, "noIcon9": null, "noLockAnimation1": null, "noLockAnimation10": null, "noLockAnimation11": null, "noLockAnimation12": null, "noLockAnimation2": null, "noLockAnimation3": null, "noLockAnimation4": null, "noLockAnimation5": null, "noLockAnimation6": null, "noLockAnimation7": null, "noLockAnimation8": null, "noLockAnimation9": null, "noRgbPalette1": null, "noRgbPalette10": null, "noRgbPalette11": null, "noRgbPalette12": null, "noRgbPalette2": null, "noRgbPalette3": null, "noRgbPalette4": null, "noRgbPalette5": null, "noRgbPalette6": null, "noRgbPalette7": null, "noRgbPalette8": null, "noRgbPalette9": null, "oid-pincode1": null, "oid-pincode10": null, "oid-pincode11": null, "oid-pincode12": null, "oid-pincode2": null, "oid-pincode3": null, "oid-pincode4": null, "oid-pincode5": null, "oid-pincode6": null, "oid-pincode7": null, "oid-pincode8": null, "oid-pincode9": null, "oid1": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.street", "oid10": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.diesel.trend_24h_proj", "oid11": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.diesel.trend_24h_proj_price", "oid12": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.lastChecked", "oid2": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.place", "oid3": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.benzin_str", "oid4": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj", "oid5": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.benzin.trend_24h_proj_price", "oid6": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.e10_str", "oid7": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.e10.trend_24h_proj", "oid8": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.aspects.e10.trend_24h_proj_price", "oid9": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.diesel_str", "open1": null, "open10": null, "open11": null, "open12": null, "open2": null, "open3": null, "open4": null, "open5": null, "open6": null, "open7": null, "open8": null, "open9": null, "orientation": "horizontal", "party1": null, "party10": null, "party11": null, "party12": null, "party2": null, "party3": null, "party4": null, "party5": null, "party6": null, "party7": null, "party8": null, "party9": null, "pincode1": null, "pincode10": null, "pincode11": null, "pincode12": null, "pincode2": null, "pincode3": null, "pincode4": null, "pincode5": null, "pincode6": null, "pincode7": null, "pincode8": null, "pincode9": null, "pincodeReturnButton1": "submit", "pincodeReturnButton10": "submit", "pincodeReturnButton11": "submit", "pincodeReturnButton12": "submit", "pincodeReturnButton2": "submit", "pincodeReturnButton3": "submit", "pincodeReturnButton4": "submit", "pincodeReturnButton5": "submit", "pincodeReturnButton6": "submit", "pincodeReturnButton7": "submit", "pincodeReturnButton8": "submit", "pincodeReturnButton9": "submit", "position1": null, "position10": null, "position11": null, "position12": null, "position2": null, "position3": null, "position4": null, "position5": null, "position6": null, "position7": null, "position8": null, "position9": null, "red1": null, "red10": null, "red11": null, "red12": null, "red2": null, "red3": null, "red4": null, "red5": null, "red6": null, "red7": null, "red8": null, "red9": null, "rgbType1": null, "rgbType10": null, "rgbType11": null, "rgbType12": null, "rgbType2": null, "rgbType3": null, "rgbType4": null, "rgbType5": null, "rgbType6": null, "rgbType7": null, "rgbType8": null, "rgbType9": null, "saturation1": null, "saturation10": null, "saturation11": null, "saturation12": null, "saturation2": null, "saturation3": null, "saturation4": null, "saturation5": null, "saturation6": null, "saturation7": null, "saturation8": null, "saturation9": null, "sensor1": null, "sensor10": null, "sensor11": null, "sensor12": null, "sensor2": null, "sensor3": null, "sensor4": null, "sensor5": null, "sensor6": null, "sensor7": null, "sensor8": null, "sensor9": null, "slideInvert1": null, "slideInvert10": null, "slideInvert11": null, "slideInvert12": null, "slideInvert2": null, "slideInvert3": null, "slideInvert4": null, "slideInvert5": null, "slideInvert6": null, "slideInvert7": null, "slideInvert8": null, "slideInvert9": null, "step1": null, "step10": null, "step11": null, "step12": null, "step2": null, "step3": null, "step4": null, "step5": null, "step6": null, "step7": null, "step8": null, "step9": null, "switch1": null, "switch10": null, "switch11": null, "switch12": null, "switch2": null, "switch3": null, "switch4": null, "switch5": null, "switch6": null, "switch7": null, "switch8": null, "switch9": null, "timeout1": 500, "timeout10": 500, "timeout11": 500, "timeout12": 500, "timeout2": 500, "timeout3": 500, "timeout4": 500, "timeout5": 500, "timeout6": 500, "timeout7": 500, "timeout8": 500, "timeout9": 500, "title1": "Straße", "title10": "Prognose 24h", "title11": "Preisprognose 24h", "title12": null, "title2": "Ort", "title3": "Super 95", "title4": "Prognose 24h", "title5": "Preisprognose 24h", "title6": "E10", "title7": "Prognose 24h", "title8": "Preisprognose 24h", "title9": "Diesel", "type": "lines", "type1": "info", "type10": "info", "type11": "info", "type12": "info", "type2": "info", "type3": "info", "type4": "info", "type5": "info", "type6": "info", "type7": "info", "type8": "info", "type9": "info", "undefined1": null, "undefined10": null, "undefined11": null, "undefined12": null, "undefined2": null, "undefined3": null, "undefined4": null, "undefined5": null, "undefined6": null, "undefined7": null, "undefined8": null, "undefined9": null, "unit1": null, "unit10": null, "unit11": "€", "unit12": null, "unit2": null, "unit3": "€", "unit4": null, "unit5": "€", "unit6": "€", "unit7": null, "unit8": "€", "unit9": "€", "vacuum-battery-oid1": null, "vacuum-battery-oid10": null, "vacuum-battery-oid11": null, "vacuum-battery-oid12": null, "vacuum-battery-oid2": null, "vacuum-battery-oid3": null, "vacuum-battery-oid4": null, "vacuum-battery-oid5": null, "vacuum-battery-oid6": null, "vacuum-battery-oid7": null, "vacuum-battery-oid8": null, "vacuum-battery-oid9": null, "vacuum-cleaning-count-oid1": null, "vacuum-cleaning-count-oid10": null, "vacuum-cleaning-count-oid11": null, "vacuum-cleaning-count-oid12": null, "vacuum-cleaning-count-oid2": null, "vacuum-cleaning-count-oid3": null, "vacuum-cleaning-count-oid4": null, "vacuum-cleaning-count-oid5": null, "vacuum-cleaning-count-oid6": null, "vacuum-cleaning-count-oid7": null, "vacuum-cleaning-count-oid8": null, "vacuum-cleaning-count-oid9": null, "vacuum-fan-speed-oid1": null, "vacuum-fan-speed-oid10": null, "vacuum-fan-speed-oid11": null, "vacuum-fan-speed-oid12": null, "vacuum-fan-speed-oid2": null, "vacuum-fan-speed-oid3": null, "vacuum-fan-speed-oid4": null, "vacuum-fan-speed-oid5": null, "vacuum-fan-speed-oid6": null, "vacuum-fan-speed-oid7": null, "vacuum-fan-speed-oid8": null, "vacuum-fan-speed-oid9": null, "vacuum-filter-left-oid1": null, "vacuum-filter-left-oid10": null, "vacuum-filter-left-oid11": null, "vacuum-filter-left-oid12": null, "vacuum-filter-left-oid2": null, "vacuum-filter-left-oid3": null, "vacuum-filter-left-oid4": null, "vacuum-filter-left-oid5": null, "vacuum-filter-left-oid6": null, "vacuum-filter-left-oid7": null, "vacuum-filter-left-oid8": null, "vacuum-filter-left-oid9": null, "vacuum-home-oid1": null, "vacuum-home-oid10": null, "vacuum-home-oid11": null, "vacuum-home-oid12": null, "vacuum-home-oid2": null, "vacuum-home-oid3": null, "vacuum-home-oid4": null, "vacuum-home-oid5": null, "vacuum-home-oid6": null, "vacuum-home-oid7": null, "vacuum-home-oid8": null, "vacuum-home-oid9": null, "vacuum-is-charging-oid1": null, "vacuum-is-charging-oid10": null, "vacuum-is-charging-oid11": null, "vacuum-is-charging-oid12": null, "vacuum-is-charging-oid2": null, "vacuum-is-charging-oid3": null, "vacuum-is-charging-oid4": null, "vacuum-is-charging-oid5": null, "vacuum-is-charging-oid6": null, "vacuum-is-charging-oid7": null, "vacuum-is-charging-oid8": null, "vacuum-is-charging-oid9": null, "vacuum-main-brush-left-oid1": null, "vacuum-main-brush-left-oid10": null, "vacuum-main-brush-left-oid11": null, "vacuum-main-brush-left-oid12": null, "vacuum-main-brush-left-oid2": null, "vacuum-main-brush-left-oid3": null, "vacuum-main-brush-left-oid4": null, "vacuum-main-brush-left-oid5": null, "vacuum-main-brush-left-oid6": null, "vacuum-main-brush-left-oid7": null, "vacuum-main-brush-left-oid8": null, "vacuum-main-brush-left-oid9": null, "vacuum-map64-oid1": null, "vacuum-map64-oid10": null, "vacuum-map64-oid11": null, "vacuum-map64-oid12": null, "vacuum-map64-oid2": null, "vacuum-map64-oid3": null, "vacuum-map64-oid4": null, "vacuum-map64-oid5": null, "vacuum-map64-oid6": null, "vacuum-map64-oid7": null, "vacuum-map64-oid8": null, "vacuum-map64-oid9": null, "vacuum-own-image1": null, "vacuum-own-image10": null, "vacuum-own-image11": null, "vacuum-own-image12": null, "vacuum-own-image2": null, "vacuum-own-image3": null, "vacuum-own-image4": null, "vacuum-own-image5": null, "vacuum-own-image6": null, "vacuum-own-image7": null, "vacuum-own-image8": null, "vacuum-own-image9": null, "vacuum-pause-oid1": null, "vacuum-pause-oid10": null, "vacuum-pause-oid11": null, "vacuum-pause-oid12": null, "vacuum-pause-oid2": null, "vacuum-pause-oid3": null, "vacuum-pause-oid4": null, "vacuum-pause-oid5": null, "vacuum-pause-oid6": null, "vacuum-pause-oid7": null, "vacuum-pause-oid8": null, "vacuum-pause-oid9": null, "vacuum-sensors-left-oid1": null, "vacuum-sensors-left-oid10": null, "vacuum-sensors-left-oid11": null, "vacuum-sensors-left-oid12": null, "vacuum-sensors-left-oid2": null, "vacuum-sensors-left-oid3": null, "vacuum-sensors-left-oid4": null, "vacuum-sensors-left-oid5": null, "vacuum-sensors-left-oid6": null, "vacuum-sensors-left-oid7": null, "vacuum-sensors-left-oid8": null, "vacuum-sensors-left-oid9": null, "vacuum-side-brush-left-oid1": null, "vacuum-side-brush-left-oid10": null, "vacuum-side-brush-left-oid11": null, "vacuum-side-brush-left-oid12": null, "vacuum-side-brush-left-oid2": null, "vacuum-side-brush-left-oid3": null, "vacuum-side-brush-left-oid4": null, "vacuum-side-brush-left-oid5": null, "vacuum-side-brush-left-oid6": null, "vacuum-side-brush-left-oid7": null, "vacuum-side-brush-left-oid8": null, "vacuum-side-brush-left-oid9": null, "vacuum-start-oid1": null, "vacuum-start-oid10": null, "vacuum-start-oid11": null, "vacuum-start-oid12": null, "vacuum-start-oid2": null, "vacuum-start-oid3": null, "vacuum-start-oid4": null, "vacuum-start-oid5": null, "vacuum-start-oid6": null, "vacuum-start-oid7": null, "vacuum-start-oid8": null, "vacuum-start-oid9": null, "vacuum-status-oid1": null, "vacuum-status-oid10": null, "vacuum-status-oid11": null, "vacuum-status-oid12": null, "vacuum-status-oid2": null, "vacuum-status-oid3": null, "vacuum-status-oid4": null, "vacuum-status-oid5": null, "vacuum-status-oid6": null, "vacuum-status-oid7": null, "vacuum-status-oid8": null, "vacuum-status-oid9": null, "vacuum-use-default-picture1": true, "vacuum-use-default-picture10": true, "vacuum-use-default-picture11": true, "vacuum-use-default-picture12": true, "vacuum-use-default-picture2": true, "vacuum-use-default-picture3": true, "vacuum-use-default-picture4": true, "vacuum-use-default-picture5": true, "vacuum-use-default-picture6": true, "vacuum-use-default-picture7": true, "vacuum-use-default-picture8": true, "vacuum-use-default-picture9": true, "vacuum-use-rooms1": null, "vacuum-use-rooms10": null, "vacuum-use-rooms11": null, "vacuum-use-rooms12": null, "vacuum-use-rooms2": null, "vacuum-use-rooms3": null, "vacuum-use-rooms4": null, "vacuum-use-rooms5": null, "vacuum-use-rooms6": null, "vacuum-use-rooms7": null, "vacuum-use-rooms8": null, "vacuum-use-rooms9": null, "visibility-cond1": "==", "visibility-cond10": "==", "visibility-cond11": "==", "visibility-cond12": "==", "visibility-cond2": "==", "visibility-cond3": "==", "visibility-cond4": "==", "visibility-cond5": "==", "visibility-cond6": "==", "visibility-cond7": "==", "visibility-cond8": "==", "visibility-cond9": "==", "visibility-oid1": null, "visibility-oid10": null, "visibility-oid11": null, "visibility-oid12": null, "visibility-oid2": null, "visibility-oid3": null, "visibility-oid4": null, "visibility-oid5": null, "visibility-oid6": null, "visibility-oid7": null, "visibility-oid8": null, "visibility-oid9": null, "visibility-val1": "1", "visibility-val10": "1", "visibility-val11": "1", "visibility-val12": "1", "visibility-val2": "1", "visibility-val3": "1", "visibility-val4": "1", "visibility-val5": "1", "visibility-val6": "1", "visibility-val7": "1", "visibility-val8": "1", "visibility-val9": "1", "white1": null, "white10": null, "white11": null, "white12": null, "white2": null, "white3": null, "white4": null, "white5": null, "white6": null, "white7": null, "white8": null, "white9": null, "whiteMode1": null, "whiteMode10": null, "whiteMode11": null, "whiteMode12": null, "whiteMode2": null, "whiteMode3": null, "whiteMode4": null, "whiteMode5": null, "whiteMode6": null, "whiteMode7": null, "whiteMode8": null, "whiteMode9": null, "widget1": null, "widget10": null, "widget11": null, "widget12": null, "widget2": null, "widget3": null, "widget4": null, "widget5": null, "widget6": null, "widget7": null, "widget8": null, "widget9": null, "widgetTitle": "{0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.name}", "working1": null, "working10": null, "working11": null, "working12": null, "working2": null, "working3": null, "working4": null, "working5": null, "working6": null, "working7": null, "working8": null, "working9": null, "oid13": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.lastPriceUpdate", "type13": "info", "noIcon13": true, "icon13": "", "iconSmall13": null, "iconEnabled13": null, "iconEnabledSmall13": null, "color13": null, "colorEnabled13": null, "slideInvert13": null, "title13": null, "unit13": null, "step13": null, "hideChart13": true, "chartPeriod13": 60, "buttonText13": null, "buttonIcon13": null, "buttonImage13": null, "buttonIconActive13": null, "buttonImageActive13": null, "infoInactiveText13": null, "infoActiveText13": null, "infoInactiveIcon13": null, "infoActiveIcon13": null, "infoInactiveImage13": null, "infoActiveImage13": null, "infoInactiveColor13": null, "infoActiveColor13": null, "widget13": null, "height13": null, "position13": null, "hide13": null, "actual13": null, "boost13": null, "party13": null, "switch13": null, "brightness13": null, "rgbType13": null, "red13": null, "green13": null, "blue13": null, "white13": null, "color_temperature13": null, "ct_min13": null, "ct_max13": null, "hue13": null, "saturation13": null, "luminance13": null, "hideBrightness13": null, "whiteMode13": null, "noRgbPalette13": null, "open13": null, "working13": null, "sensor13": null, "pincode13": null, "oid-pincode13": null, "doNotConfirm13": null, "noLockAnimation13": null, "lockColor13": null, "pincodeReturnButton13": "submit", "timeout13": 500, "vacuum-status-oid13": null, "vacuum-battery-oid13": null, "vacuum-is-charging-oid13": null, "vacuum-fan-speed-oid13": null, "vacuum-sensors-left-oid13": null, "vacuum-filter-left-oid13": null, "vacuum-main-brush-left-oid13": null, "vacuum-side-brush-left-oid13": null, "vacuum-cleaning-count-oid13": null, "vacuum-use-rooms13": null, "vacuum-map64-oid13": null, "vacuum-use-default-picture13": true, "vacuum-own-image13": null, "vacuum-start-oid13": null, "vacuum-home-oid13": null, "vacuum-pause-oid13": null, "undefined13": null, "visibility-oid13": null, "visibility-cond13": "==", "visibility-val13": "1", "g_switch-13": true, "visibility-oid": "0_userdata.0.tankerkoenig.aa7ec0ed-f087-48e5-95c1-bcb47affa5cf.isOpen", "visibility-cond": "==", "visibility-val": "false", "visibility-groups": null, "visibility-groups-action": "hide", "g_visibility": true }, "style": { "bindings": [], "left": -6, "top": 14, "width": "100%", "height": "588px", "position": "relative" }, "widgetSet": "vis-2-widgets-material", "_id": "i000001" } ] -

[ { "tpl": "tplMaterial2Switches", "data": { "actual1": null, "actual2": null, "actual3": null, "actual4": null, "actual5": null, "actual6": null, "allSwitch": false, "bindings": [ "icon10", "infoActiveIcon1", "oid2" ], "blue1": null, "blue2": null, "blue3": null, "blue4": null, "blue5": null, "blue6": null, "boost1": null, "boost2": null, "boost3": null, "boost4": null, "boost5": null, "boost6": null, "brightness1": null, "brightness2": null, "brightness3": null, "brightness4": null, "brightness5": null, "brightness6": null, "buttonIcon1": null, "buttonIcon2": null, "buttonIcon3": null, "buttonIcon4": null, "buttonIcon5": null, "buttonIcon6": null, "buttonIconActive1": null, "buttonIconActive2": null, "buttonIconActive3": null, "buttonIconActive4": null, "buttonIconActive5": null, "buttonIconActive6": null, "buttonImage1": null, "buttonImage2": null, "buttonImage3": null, "buttonImage4": null, "buttonImage5": null, "buttonImage6": null, "buttonImageActive1": null, "buttonImageActive2": null, "buttonImageActive3": null, "buttonImageActive4": null, "buttonImageActive5": null, "buttonImageActive6": null, "buttonText1": null, "buttonText2": null, "buttonText3": null, "buttonText4": null, "buttonText5": null, "buttonText6": null, "buttonsWidth": 120, "chartPeriod1": 60, "chartPeriod2": 60, "chartPeriod3": 60, "chartPeriod4": 60, "chartPeriod5": 60, "chartPeriod6": 60, "color1": null, "color2": null, "color3": null, "color4": null, "color5": null, "color6": null, "colorEnabled1": null, "colorEnabled2": null, "colorEnabled3": null, "colorEnabled4": null, "colorEnabled5": null, "colorEnabled6": null, "color_temperature1": null, "color_temperature2": null, "color_temperature3": null, "color_temperature4": null, "color_temperature5": null, "color_temperature6": null, "count": 12, "ct_max1": null, "ct_max2": null, "ct_max3": null, "ct_max4": null, "ct_max5": null, "ct_max6": null, "ct_min1": null, "ct_min2": null, "ct_min3": null, "ct_min4": null, "ct_min5": null, "ct_min6": null, "doNotConfirm1": null, "doNotConfirm2": null, "doNotConfirm3": null, "doNotConfirm4": null, "doNotConfirm5": null, "doNotConfirm6": null, "doNotWantIncludeWidgets": false, "g_common": true, "g_switch-1": true, "g_switch-2": true, "g_switch-3": true, "g_switch-4": true, "g_switch-5": true, "g_switch-6": true, "green1": null, "green2": null, "green3": null, "green4": null, "green5": null, "green6": null, "height1": null, "height2": null, "height3": null, "height4": null, "height5": null, "height6": null, "hide1": null, "hide2": null, "hide3": null, "hide4": null, "hide5": null, "hide6": null, "hideBrightness1": null, "hideBrightness2": null, "hideBrightness3": null, "hideBrightness4": null, "hideBrightness5": null, "hideBrightness6": null, "hideChart1": true, "hideChart2": true, "hideChart3": true, "hideChart4": true, "hideChart5": true, "hideChart6": true, "hue1": null, "hue2": null, "hue3": null, "hue4": null, "hue5": null, "hue6": null, "icon1": "../vis-2.0/tanken/blue.png", "icon2": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "icon3": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "icon4": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "icon5": "../vis-2.0/tanken/red.png", "icon6": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconEnabled1": "../vis-2.0/tanken/blue.png", "iconEnabled2": null, "iconEnabled3": null, "iconEnabled4": null, "iconEnabled5": "../vis-2.0/tanken/red.png", "iconEnabled6": null, "iconEnabledSmall1": null, "iconEnabledSmall2": null, "iconEnabledSmall3": null, "iconEnabledSmall4": null, "iconEnabledSmall5": null, "iconEnabledSmall6": null, "iconSmall1": null, "iconSmall2": null, "iconSmall3": null, "iconSmall4": null, "iconSmall5": null, "iconSmall6": null, "infoActiveColor1": null, "infoActiveColor2": null, "infoActiveColor3": null, "infoActiveColor4": null, "infoActiveColor5": null, "infoActiveColor6": null, "infoActiveIcon1": null, "infoActiveIcon2": null, "infoActiveIcon3": null, "infoActiveIcon4": null, "infoActiveIcon5": null, "infoActiveIcon6": null, "infoActiveImage1": null, "infoActiveImage2": null, "infoActiveImage3": null, "infoActiveImage4": null, "infoActiveImage5": null, "infoActiveImage6": null, "infoActiveText1": null, "infoActiveText2": null, "infoActiveText3": null, "infoActiveText4": null, "infoActiveText5": null, "infoActiveText6": null, "infoInactiveColor1": null, "infoInactiveColor2": null, "infoInactiveColor3": null, "infoInactiveColor4": null, "infoInactiveColor5": null, "infoInactiveColor6": null, "infoInactiveIcon1": null, "infoInactiveIcon2": null, "infoInactiveIcon3": null, "infoInactiveIcon4": null, "infoInactiveIcon5": null, "infoInactiveIcon6": null, "infoInactiveImage1": null, "infoInactiveImage2": null, "infoInactiveImage3": null, "infoInactiveImage4": null, "infoInactiveImage5": null, "infoInactiveImage6": null, "infoInactiveText1": null, "infoInactiveText2": null, "infoInactiveText3": null, "infoInactiveText4": null, "infoInactiveText5": null, "infoInactiveText6": null, "lockColor1": null, "lockColor2": null, "lockColor3": null, "lockColor4": null, "lockColor5": null, "lockColor6": null, "luminance1": null, "luminance2": null, "luminance3": null, "luminance4": null, "luminance5": null, "luminance6": null, "noIcon1": false, "noIcon2": true, "noIcon3": true, "noIcon4": true, "noIcon5": false, "noIcon6": true, "noLockAnimation1": null, "noLockAnimation2": null, "noLockAnimation3": null, "noLockAnimation4": null, "noLockAnimation5": null, "noLockAnimation6": null, "noRgbPalette1": null, "noRgbPalette2": null, "noRgbPalette3": null, "noRgbPalette4": null, "noRgbPalette5": null, "noRgbPalette6": null, "oid-pincode1": null, "oid-pincode2": null, "oid-pincode3": null, "oid-pincode4": null, "oid-pincode5": null, "oid-pincode6": null, "oid1": "0_userdata.0.tankerkoenig.cheapest.benzin_station_name", "oid2": "0_userdata.0.tankerkoenig.cheapest.benzin_price_str", "oid3": "0_userdata.0.tankerkoenig.difference.benzin", "oid4": "0_userdata.0.tankerkoenig.average.benzin_str", "oid5": "0_userdata.0.tankerkoenig.cheapest.diesel_station_name", "oid6": "0_userdata.0.tankerkoenig.cheapest.diesel_price_str", "open1": null, "open2": null, "open3": null, "open4": null, "open5": null, "open6": null, "orientation": "horizontal", "party1": null, "party2": null, "party3": null, "party4": null, "party5": null, "party6": null, "pincode1": null, "pincode2": null, "pincode3": null, "pincode4": null, "pincode5": null, "pincode6": null, "pincodeReturnButton1": "submit", "pincodeReturnButton2": "submit", "pincodeReturnButton3": "submit", "pincodeReturnButton4": "submit", "pincodeReturnButton5": "submit", "pincodeReturnButton6": "submit", "position1": null, "position2": null, "position3": null, "position4": null, "position5": null, "position6": null, "red1": null, "red2": null, "red3": null, "red4": null, "red5": null, "red6": null, "rgbType1": null, "rgbType2": null, "rgbType3": null, "rgbType4": null, "rgbType5": null, "rgbType6": null, "saturation1": null, "saturation2": null, "saturation3": null, "saturation4": null, "saturation5": null, "saturation6": null, "sensor1": null, "sensor2": null, "sensor3": null, "sensor4": null, "sensor5": null, "sensor6": null, "slideInvert1": null, "slideInvert2": null, "slideInvert3": null, "slideInvert4": null, "slideInvert5": null, "slideInvert6": null, "step1": null, "step2": null, "step3": null, "step4": null, "step5": null, "step6": null, "switch1": null, "switch2": null, "switch3": null, "switch4": null, "switch5": null, "switch6": null, "timeout1": 500, "timeout2": 500, "timeout3": 500, "timeout4": 500, "timeout5": 500, "timeout6": 500, "title1": " ", "title2": "Super", "title3": "Differenz", "title4": "Durchschnitt", "title5": " ", "title6": "Diesel", "type": "lines", "type1": "info", "type2": "info", "type3": "info", "type4": "info", "type5": "info", "type6": "info", "undefined1": null, "undefined2": null, "undefined3": null, "undefined4": null, "undefined5": null, "undefined6": null, "unit1": null, "unit2": "€", "unit3": "€", "unit4": "€", "unit5": null, "unit6": "€", "vacuum-battery-oid1": null, "vacuum-battery-oid2": null, "vacuum-battery-oid3": null, "vacuum-battery-oid4": null, "vacuum-battery-oid5": null, "vacuum-battery-oid6": null, "vacuum-cleaning-count-oid1": null, "vacuum-cleaning-count-oid2": null, "vacuum-cleaning-count-oid3": null, "vacuum-cleaning-count-oid4": null, "vacuum-cleaning-count-oid5": null, "vacuum-cleaning-count-oid6": null, "vacuum-fan-speed-oid1": null, "vacuum-fan-speed-oid2": null, "vacuum-fan-speed-oid3": null, "vacuum-fan-speed-oid4": null, "vacuum-fan-speed-oid5": null, "vacuum-fan-speed-oid6": null, "vacuum-filter-left-oid1": null, "vacuum-filter-left-oid2": null, "vacuum-filter-left-oid3": null, "vacuum-filter-left-oid4": null, "vacuum-filter-left-oid5": null, "vacuum-filter-left-oid6": null, "vacuum-home-oid1": null, "vacuum-home-oid2": null, "vacuum-home-oid3": null, "vacuum-home-oid4": null, "vacuum-home-oid5": null, "vacuum-home-oid6": null, "vacuum-is-charging-oid1": null, "vacuum-is-charging-oid2": null, "vacuum-is-charging-oid3": null, "vacuum-is-charging-oid4": null, "vacuum-is-charging-oid5": null, "vacuum-is-charging-oid6": null, "vacuum-main-brush-left-oid1": null, "vacuum-main-brush-left-oid2": null, "vacuum-main-brush-left-oid3": null, "vacuum-main-brush-left-oid4": null, "vacuum-main-brush-left-oid5": null, "vacuum-main-brush-left-oid6": null, "vacuum-map64-oid1": null, "vacuum-map64-oid2": null, "vacuum-map64-oid3": null, "vacuum-map64-oid4": null, "vacuum-map64-oid5": null, "vacuum-map64-oid6": null, "vacuum-own-image1": null, "vacuum-own-image2": null, "vacuum-own-image3": null, "vacuum-own-image4": null, "vacuum-own-image5": null, "vacuum-own-image6": null, "vacuum-pause-oid1": null, "vacuum-pause-oid2": null, "vacuum-pause-oid3": null, "vacuum-pause-oid4": null, "vacuum-pause-oid5": null, "vacuum-pause-oid6": null, "vacuum-sensors-left-oid1": null, "vacuum-sensors-left-oid2": null, "vacuum-sensors-left-oid3": null, "vacuum-sensors-left-oid4": null, "vacuum-sensors-left-oid5": null, "vacuum-sensors-left-oid6": null, "vacuum-side-brush-left-oid1": null, "vacuum-side-brush-left-oid2": null, "vacuum-side-brush-left-oid3": null, "vacuum-side-brush-left-oid4": null, "vacuum-side-brush-left-oid5": null, "vacuum-side-brush-left-oid6": null, "vacuum-start-oid1": null, "vacuum-start-oid2": null, "vacuum-start-oid3": null, "vacuum-start-oid4": null, "vacuum-start-oid5": null, "vacuum-start-oid6": null, "vacuum-status-oid1": null, "vacuum-status-oid2": null, "vacuum-status-oid3": null, "vacuum-status-oid4": null, "vacuum-status-oid5": null, "vacuum-status-oid6": null, "vacuum-use-default-picture1": true, "vacuum-use-default-picture2": true, "vacuum-use-default-picture3": true, "vacuum-use-default-picture4": true, "vacuum-use-default-picture5": true, "vacuum-use-default-picture6": true, "vacuum-use-rooms1": null, "vacuum-use-rooms2": null, "vacuum-use-rooms3": null, "vacuum-use-rooms4": null, "vacuum-use-rooms5": null, "vacuum-use-rooms6": null, "visibility-cond1": "==", "visibility-cond2": "==", "visibility-cond3": "==", "visibility-cond4": "==", "visibility-cond5": "==", "visibility-cond6": "==", "visibility-oid1": null, "visibility-oid2": null, "visibility-oid3": null, "visibility-oid4": null, "visibility-oid5": null, "visibility-oid6": null, "visibility-val1": "1", "visibility-val2": "1", "visibility-val3": "1", "visibility-val4": "1", "visibility-val5": "1", "visibility-val6": "1", "white1": null, "white2": null, "white3": null, "white4": null, "white5": null, "white6": null, "whiteMode1": null, "whiteMode2": null, "whiteMode3": null, "whiteMode4": null, "whiteMode5": null, "whiteMode6": null, "widget1": null, "widget2": null, "widget3": null, "widget4": null, "widget5": null, "widget6": null, "widgetTitle": "Günstigster Preis", "working1": null, "working2": null, "working3": null, "working4": null, "working5": null, "working6": null, "oid7": "0_userdata.0.tankerkoenig.difference.diesel", "type7": "info", "noIcon7": true, "icon7": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconSmall7": null, "iconEnabled7": null, "iconEnabledSmall7": null, "color7": null, "colorEnabled7": null, "slideInvert7": null, "title7": "Differenz", "unit7": "€", "step7": null, "hideChart7": true, "chartPeriod7": 60, "buttonText7": null, "buttonIcon7": null, "buttonImage7": null, "buttonIconActive7": null, "buttonImageActive7": null, "infoInactiveText7": null, "infoActiveText7": null, "infoInactiveIcon7": null, "infoActiveIcon7": null, "infoInactiveImage7": null, "infoActiveImage7": null, "infoInactiveColor7": null, "infoActiveColor7": null, "widget7": null, "height7": null, "position7": null, "hide7": null, "actual7": null, "boost7": null, "party7": null, "switch7": null, "brightness7": null, "rgbType7": null, "red7": null, "green7": null, "blue7": null, "white7": null, "color_temperature7": null, "ct_min7": null, "ct_max7": null, "hue7": null, "saturation7": null, "luminance7": null, "hideBrightness7": null, "whiteMode7": null, "noRgbPalette7": null, "open7": null, "working7": null, "sensor7": null, "pincode7": null, "oid-pincode7": null, "doNotConfirm7": null, "noLockAnimation7": null, "lockColor7": null, "pincodeReturnButton7": "submit", "timeout7": 500, "vacuum-status-oid7": null, "vacuum-battery-oid7": null, "vacuum-is-charging-oid7": null, "vacuum-fan-speed-oid7": null, "vacuum-sensors-left-oid7": null, "vacuum-filter-left-oid7": null, "vacuum-main-brush-left-oid7": null, "vacuum-side-brush-left-oid7": null, "vacuum-cleaning-count-oid7": null, "vacuum-use-rooms7": null, "vacuum-map64-oid7": null, "vacuum-use-default-picture7": true, "vacuum-own-image7": null, "vacuum-start-oid7": null, "vacuum-home-oid7": null, "vacuum-pause-oid7": null, "undefined7": null, "visibility-oid7": null, "visibility-cond7": "==", "visibility-val7": "1", "g_switch-7": true, "oid8": "0_userdata.0.tankerkoenig.average.diesel_str", "type8": "info", "noIcon8": true, "icon8": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconSmall8": null, "iconEnabled8": null, "iconEnabledSmall8": null, "color8": null, "colorEnabled8": null, "slideInvert8": null, "title8": "Durchschnitt", "unit8": "€", "step8": null, "hideChart8": true, "chartPeriod8": 60, "buttonText8": null, "buttonIcon8": null, "buttonImage8": null, "buttonIconActive8": null, "buttonImageActive8": null, "infoInactiveText8": null, "infoActiveText8": null, "infoInactiveIcon8": null, "infoActiveIcon8": null, "infoInactiveImage8": null, "infoActiveImage8": null, "infoInactiveColor8": null, "infoActiveColor8": null, "widget8": null, "height8": null, "position8": null, "hide8": null, "actual8": null, "boost8": null, "party8": null, "switch8": null, "brightness8": null, "rgbType8": null, "red8": null, "green8": null, "blue8": null, "white8": null, "color_temperature8": null, "ct_min8": null, "ct_max8": null, "hue8": null, "saturation8": null, "luminance8": null, "hideBrightness8": null, "whiteMode8": null, "noRgbPalette8": null, "open8": null, "working8": null, "sensor8": null, "pincode8": null, "oid-pincode8": null, "doNotConfirm8": null, "noLockAnimation8": null, "lockColor8": null, "pincodeReturnButton8": "submit", "timeout8": 500, "vacuum-status-oid8": null, "vacuum-battery-oid8": null, "vacuum-is-charging-oid8": null, "vacuum-fan-speed-oid8": null, "vacuum-sensors-left-oid8": null, "vacuum-filter-left-oid8": null, "vacuum-main-brush-left-oid8": null, "vacuum-side-brush-left-oid8": null, "vacuum-cleaning-count-oid8": null, "vacuum-use-rooms8": null, "vacuum-map64-oid8": null, "vacuum-use-default-picture8": true, "vacuum-own-image8": null, "vacuum-start-oid8": null, "vacuum-home-oid8": null, "vacuum-pause-oid8": null, "undefined8": null, "visibility-oid8": null, "visibility-cond8": "==", "visibility-val8": "1", "g_switch-8": true, "oid9": "0_userdata.0.tankerkoenig.cheapest.e10_station_name", "type9": "info", "noIcon9": false, "icon9": "../vis-2.0/tanken/green.png", "iconSmall9": null, "iconEnabled9": "../vis-2.0/tanken/green.png", "iconEnabledSmall9": null, "color9": null, "colorEnabled9": null, "slideInvert9": null, "title9": " ", "unit9": null, "step9": null, "hideChart9": true, "chartPeriod9": 60, "buttonText9": null, "buttonIcon9": null, "buttonImage9": null, "buttonIconActive9": null, "buttonImageActive9": null, "infoInactiveText9": null, "infoActiveText9": null, "infoInactiveIcon9": null, "infoActiveIcon9": null, "infoInactiveImage9": null, "infoActiveImage9": null, "infoInactiveColor9": null, "infoActiveColor9": null, "widget9": null, "height9": null, "position9": null, "hide9": null, "actual9": null, "boost9": null, "party9": null, "switch9": null, "brightness9": null, "rgbType9": null, "red9": null, "green9": null, "blue9": null, "white9": null, "color_temperature9": null, "ct_min9": null, "ct_max9": null, "hue9": null, "saturation9": null, "luminance9": null, "hideBrightness9": null, "whiteMode9": null, "noRgbPalette9": null, "open9": null, "working9": null, "sensor9": null, "pincode9": null, "oid-pincode9": null, "doNotConfirm9": null, "noLockAnimation9": null, "lockColor9": null, "pincodeReturnButton9": "submit", "timeout9": 500, "vacuum-status-oid9": null, "vacuum-battery-oid9": null, "vacuum-is-charging-oid9": null, "vacuum-fan-speed-oid9": null, "vacuum-sensors-left-oid9": null, "vacuum-filter-left-oid9": null, "vacuum-main-brush-left-oid9": null, "vacuum-side-brush-left-oid9": null, "vacuum-cleaning-count-oid9": null, "vacuum-use-rooms9": null, "vacuum-map64-oid9": null, "vacuum-use-default-picture9": true, "vacuum-own-image9": null, "vacuum-start-oid9": null, "vacuum-home-oid9": null, "vacuum-pause-oid9": null, "undefined9": null, "visibility-oid9": null, "visibility-cond9": "==", "visibility-val9": "1", "g_switch-9": true, "oid10": "0_userdata.0.tankerkoenig.cheapest.e10_price_str", "type10": "info", "noIcon10": true, "icon10": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconSmall10": null, "iconEnabled10": null, "iconEnabledSmall10": null, "color10": null, "colorEnabled10": null, "slideInvert10": null, "title10": "E10", "unit10": "€", "step10": null, "hideChart10": true, "chartPeriod10": 60, "buttonText10": null, "buttonIcon10": null, "buttonImage10": null, "buttonIconActive10": null, "buttonImageActive10": null, "infoInactiveText10": null, "infoActiveText10": null, "infoInactiveIcon10": null, "infoActiveIcon10": null, "infoInactiveImage10": null, "infoActiveImage10": null, "infoInactiveColor10": null, "infoActiveColor10": null, "widget10": null, "height10": null, "position10": null, "hide10": null, "actual10": null, "boost10": null, "party10": null, "switch10": null, "brightness10": null, "rgbType10": null, "red10": null, "green10": null, "blue10": null, "white10": null, "color_temperature10": null, "ct_min10": null, "ct_max10": null, "hue10": null, "saturation10": null, "luminance10": null, "hideBrightness10": null, "whiteMode10": null, "noRgbPalette10": null, "open10": null, "working10": null, "sensor10": null, "pincode10": null, "oid-pincode10": null, "doNotConfirm10": null, "noLockAnimation10": null, "lockColor10": null, "pincodeReturnButton10": "submit", "timeout10": 500, "vacuum-status-oid10": null, "vacuum-battery-oid10": null, "vacuum-is-charging-oid10": null, "vacuum-fan-speed-oid10": null, "vacuum-sensors-left-oid10": null, "vacuum-filter-left-oid10": null, "vacuum-main-brush-left-oid10": null, "vacuum-side-brush-left-oid10": null, "vacuum-cleaning-count-oid10": null, "vacuum-use-rooms10": null, "vacuum-map64-oid10": null, "vacuum-use-default-picture10": true, "vacuum-own-image10": null, "vacuum-start-oid10": null, "vacuum-home-oid10": null, "vacuum-pause-oid10": null, "undefined10": null, "visibility-oid10": null, "visibility-cond10": "==", "visibility-val10": "1", "g_switch-10": true, "oid11": "0_userdata.0.tankerkoenig.difference.e10", "type11": "info", "noIcon11": true, "icon11": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconSmall11": null, "iconEnabled11": null, "iconEnabledSmall11": null, "color11": null, "colorEnabled11": null, "slideInvert11": null, "title11": "Differenz", "unit11": "€", "step11": null, "hideChart11": true, "chartPeriod11": 60, "buttonText11": null, "buttonIcon11": null, "buttonImage11": null, "buttonIconActive11": null, "buttonImageActive11": null, "infoInactiveText11": null, "infoActiveText11": null, "infoInactiveIcon11": null, "infoActiveIcon11": null, "infoInactiveImage11": null, "infoActiveImage11": null, "infoInactiveColor11": null, "infoActiveColor11": null, "widget11": null, "height11": null, "position11": null, "hide11": null, "actual11": null, "boost11": null, "party11": null, "switch11": null, "brightness11": null, "rgbType11": null, "red11": null, "green11": null, "blue11": null, "white11": null, "color_temperature11": null, "ct_min11": null, "ct_max11": null, "hue11": null, "saturation11": null, "luminance11": null, "hideBrightness11": null, "whiteMode11": null, "noRgbPalette11": null, "open11": null, "working11": null, "sensor11": null, "pincode11": null, "oid-pincode11": null, "doNotConfirm11": null, "noLockAnimation11": null, "lockColor11": null, "pincodeReturnButton11": "submit", "timeout11": 500, "vacuum-status-oid11": null, "vacuum-battery-oid11": null, "vacuum-is-charging-oid11": null, "vacuum-fan-speed-oid11": null, "vacuum-sensors-left-oid11": null, "vacuum-filter-left-oid11": null, "vacuum-main-brush-left-oid11": null, "vacuum-side-brush-left-oid11": null, "vacuum-cleaning-count-oid11": null, "vacuum-use-rooms11": null, "vacuum-map64-oid11": null, "vacuum-use-default-picture11": true, "vacuum-own-image11": null, "vacuum-start-oid11": null, "vacuum-home-oid11": null, "vacuum-pause-oid11": null, "undefined11": null, "visibility-oid11": null, "visibility-cond11": "==", "visibility-val11": "1", "g_switch-11": true, "oid12": "0_userdata.0.tankerkoenig.average.e10_str", "type12": "info", "noIcon12": true, "icon12": "{0_userdata.0.tankerkoenig.bfbd3c8e-78af-486e-94f0-5b99f37dfe76.image}", "iconSmall12": null, "iconEnabled12": null, "iconEnabledSmall12": null, "color12": null, "colorEnabled12": null, "slideInvert12": null, "title12": "Durchschnitt", "unit12": "€", "step12": null, "hideChart12": true, "chartPeriod12": 60, "buttonText12": null, "buttonIcon12": null, "buttonImage12": null, "buttonIconActive12": null, "buttonImageActive12": null, "infoInactiveText12": null, "infoActiveText12": null, "infoInactiveIcon12": null, "infoActiveIcon12": null, "infoInactiveImage12": null, "infoActiveImage12": null, "infoInactiveColor12": null, "infoActiveColor12": null, "widget12": null, "height12": null, "position12": null, "hide12": null, "actual12": null, "boost12": null, "party12": null, "switch12": null, "brightness12": null, "rgbType12": null, "red12": null, "green12": null, "blue12": null, "white12": null, "color_temperature12": null, "ct_min12": null, "ct_max12": null, "hue12": null, "saturation12": null, "luminance12": null, "hideBrightness12": null, "whiteMode12": null, "noRgbPalette12": null, "open12": null, "working12": null, "sensor12": null, "pincode12": null, "oid-pincode12": null, "doNotConfirm12": null, "noLockAnimation12": null, "lockColor12": null, "pincodeReturnButton12": "submit", "timeout12": 500, "vacuum-status-oid12": null, "vacuum-battery-oid12": null, "vacuum-is-charging-oid12": null, "vacuum-fan-speed-oid12": null, "vacuum-sensors-left-oid12": null, "vacuum-filter-left-oid12": null, "vacuum-main-brush-left-oid12": null, "vacuum-side-brush-left-oid12": null, "vacuum-cleaning-count-oid12": null, "vacuum-use-rooms12": null, "vacuum-map64-oid12": null, "vacuum-use-default-picture12": true, "vacuum-own-image12": null, "vacuum-start-oid12": null, "vacuum-home-oid12": null, "vacuum-pause-oid12": null, "undefined12": null, "visibility-oid12": null, "visibility-cond12": "==", "visibility-val12": "1", "g_switch-12": true }, "style": { "bindings": [], "left": -6, "top": 14, "width": "100%", "height": "588px", "position": "relative" }, "widgetSet": "vis-2-widgets-material", "_id": "i000001" } ] -
@ro75
Als erste mal ein herzliches Dankeschön für dieses super Skript.
Könntest du evtl die Empfehlungen aus der Json in boolsche Datenpunkte integrieren. Sodass man es nutzen kann. Die Tabelle mit dem JSON passt nicht auf meine Visaulisierung.
Die Entfernung zu mir, wär auch toll wenn es in einem Datenpunkt stehen könnte. -
[ { "tpl": "tplMaterial2Switches", "data": { "actual1": null, "actual10": null, "actual11": null, "actual12": null, "actual2": null, "actual3": null, "actual4": null, "actual5": null, "actual6": null, "actual7": null, "actual8": null, "actual9": null, "allSwitch": false, "bindings": [ "widgetTitle", "icon2", "icon10", "infoActiveIcon1", "icon1", "buttonImage9", "buttonImage3", "buttonImageActive3", "buttonImage6", "buttonImageActive6", "buttonImageActive9" ], "blue1": null, "blue10": null, "blue11": null, "blue12": null, "blue2": null, "blue3": null, "blue4": null, "blue5": null, "blue6": null, "blue7": null, "blue8": null, "blue9": null, "boost1": null, "boost10": null, "boost11": null, "boost12": null, "boost2": null, "boost3": null, "boost4": null, "boost5": null, "boost6": null, "boost7": null, "boost8": null, "boost9": null, "brightness1": null, "brightness10": null, "brightness11": null, "brightness12": null, "brightness2": null, "brightness3": null, "brightness4": null, "brightness5": null, "brightness6": null, "brightness7": null, "brightness8": null, "brightness9": null, "buttonIcon1": null, "buttonIcon10": null, "buttonIcon11": null, "buttonIcon12": null, "buttonIcon2": null, "buttonIcon3": null, "buttonIcon4": null, "buttonIcon5": null, "buttonIcon6": "", "buttonIcon7": null, "buttonIcon8": null, "buttonIcon9": null, "buttonIconActive1": null, "buttonIconActive10": null, "buttonIconActive11": null, "buttonIconActive12": null, "buttonIconActive2": null, "buttonIconActive3": "", "buttonIconActive4": null, "buttonIconActive5": null, "buttonIconActive6": "", "buttonIconActive7": null, "buttonIconActive8": null, "buttonIconActive9": "", "buttonImage1": null, "buttonImage10": null, "buttonImage11": null, "buttonImage12": null, "buttonImage2": null, "buttonImage3": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_icon}", "buttonImage4": null, "buttonImage5": null, "buttonImage6": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.e10.trend_24h_proj_icon}", "buttonImage7": null, "buttonImage8": null, "buttonImage9": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.diesel.trend_24h_proj_icon}", "buttonImageActive1": null, "buttonImageActive10": null, "buttonImageActive11": null, "buttonImageActive12": null, "buttonImageActive2": null, "buttonImageActive3": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_icon}", "buttonImageActive4": null, "buttonImageActive5": null, "buttonImageActive6": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.e10.trend_24h_proj_icon}", "buttonImageActive7": null, "buttonImageActive8": null, "buttonImageActive9": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.diesel.trend_24h_proj_icon}", "buttonText1": null, "buttonText10": null, "buttonText11": null, "buttonText12": null, "buttonText2": null, "buttonText3": null, "buttonText4": null, "buttonText5": null, "buttonText6": null, "buttonText7": null, "buttonText8": null, "buttonText9": null, "buttonsWidth": 120, "chartPeriod1": 60, "chartPeriod10": 60, "chartPeriod11": 60, "chartPeriod12": 60, "chartPeriod2": 10080, "chartPeriod3": 60, "chartPeriod4": 60, "chartPeriod5": 60, "chartPeriod6": 60, "chartPeriod7": 60, "chartPeriod8": 60, "chartPeriod9": 60, "color1": null, "color10": null, "color11": null, "color12": null, "color2": "#ffffff", "color3": null, "color4": null, "color5": null, "color6": null, "color7": null, "color8": "#ffffff", "color9": null, "colorEnabled1": null, "colorEnabled10": null, "colorEnabled11": null, "colorEnabled12": null, "colorEnabled2": "#ffffff", "colorEnabled3": null, "colorEnabled4": null, "colorEnabled5": null, "colorEnabled6": null, "colorEnabled7": null, "colorEnabled8": "#ffffff", "colorEnabled9": null, "color_temperature1": null, "color_temperature10": null, "color_temperature11": null, "color_temperature12": null, "color_temperature2": null, "color_temperature3": null, "color_temperature4": null, "color_temperature5": null, "color_temperature6": null, "color_temperature7": null, "color_temperature8": null, "color_temperature9": null, "count": 12, "ct_max1": null, "ct_max10": null, "ct_max11": null, "ct_max12": null, "ct_max2": null, "ct_max3": null, "ct_max4": null, "ct_max5": null, "ct_max6": null, "ct_max7": null, "ct_max8": null, "ct_max9": null, "ct_min1": null, "ct_min10": null, "ct_min11": null, "ct_min12": null, "ct_min2": null, "ct_min3": null, "ct_min4": null, "ct_min5": null, "ct_min6": null, "ct_min7": null, "ct_min8": null, "ct_min9": null, "doNotConfirm1": null, "doNotConfirm10": null, "doNotConfirm11": null, "doNotConfirm12": null, "doNotConfirm2": null, "doNotConfirm3": null, "doNotConfirm4": null, "doNotConfirm5": null, "doNotConfirm6": null, "doNotConfirm7": null, "doNotConfirm8": null, "doNotConfirm9": null, "doNotWantIncludeWidgets": false, "g_common": true, "g_switch-1": true, "g_switch-10": true, "g_switch-11": true, "g_switch-12": true, "g_switch-2": true, "g_switch-3": true, "g_switch-4": true, "g_switch-5": true, "g_switch-6": true, "g_switch-7": true, "g_switch-8": true, "g_switch-9": true, "green1": null, "green10": null, "green11": null, "green12": null, "green2": null, "green3": null, "green4": null, "green5": null, "green6": null, "green7": null, "green8": null, "green9": null, "height1": null, "height10": null, "height11": null, "height12": null, "height2": null, "height3": null, "height4": null, "height5": null, "height6": null, "height7": null, "height8": null, "height9": null, "hide1": null, "hide10": null, "hide11": null, "hide12": null, "hide2": null, "hide3": null, "hide4": null, "hide5": null, "hide6": null, "hide7": null, "hide8": null, "hide9": null, "hideBrightness1": null, "hideBrightness10": null, "hideBrightness11": null, "hideBrightness12": null, "hideBrightness2": null, "hideBrightness3": null, "hideBrightness4": null, "hideBrightness5": null, "hideBrightness6": null, "hideBrightness7": null, "hideBrightness8": null, "hideBrightness9": null, "hideChart1": true, "hideChart10": true, "hideChart11": true, "hideChart12": true, "hideChart2": true, "hideChart3": true, "hideChart4": true, "hideChart5": true, "hideChart6": true, "hideChart7": true, "hideChart8": true, "hideChart9": true, "hue1": null, "hue10": null, "hue11": null, "hue12": null, "hue2": null, "hue3": null, "hue4": null, "hue5": null, "hue6": null, "hue7": null, "hue8": null, "hue9": null, "icon1": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.image}", "icon10": null, "icon11": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.image}", "icon12": "", "icon2": "../vis-2.0/tanken/blue.png", "icon3": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_icon}", "icon4": null, "icon5": "../vis-2.0/tanken/green.png", "icon6": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_icon}", "icon7": null, "icon8": "../vis-2.0/tanken/red.png", "icon9": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_icon}", "iconEnabled1": null, "iconEnabled10": null, "iconEnabled11": null, "iconEnabled12": null, "iconEnabled2": "../vis-2.0/tanken/blue.png", "iconEnabled3": null, "iconEnabled4": null, "iconEnabled5": "../vis-2.0/tanken/green.png", "iconEnabled6": null, "iconEnabled7": null, "iconEnabled8": "../vis-2.0/tanken/red.png", "iconEnabled9": null, "iconEnabledSmall1": null, "iconEnabledSmall10": null, "iconEnabledSmall11": null, "iconEnabledSmall12": null, "iconEnabledSmall2": null, "iconEnabledSmall3": null, "iconEnabledSmall4": null, "iconEnabledSmall5": null, "iconEnabledSmall6": null, "iconEnabledSmall7": null, "iconEnabledSmall8": null, "iconEnabledSmall9": null, "iconSmall1": null, "iconSmall10": null, "iconSmall11": null, "iconSmall12": null, "iconSmall2": null, "iconSmall3": null, "iconSmall4": null, "iconSmall5": null, "iconSmall6": null, "iconSmall7": null, "iconSmall8": null, "iconSmall9": null, "infoActiveColor1": null, "infoActiveColor10": null, "infoActiveColor11": null, "infoActiveColor12": null, "infoActiveColor2": null, "infoActiveColor3": null, "infoActiveColor4": null, "infoActiveColor5": null, "infoActiveColor6": null, "infoActiveColor7": null, "infoActiveColor8": null, "infoActiveColor9": null, "infoActiveIcon1": null, "infoActiveIcon10": null, "infoActiveIcon11": null, "infoActiveIcon12": null, "infoActiveIcon2": null, "infoActiveIcon3": null, "infoActiveIcon4": null, "infoActiveIcon5": null, "infoActiveIcon6": null, "infoActiveIcon7": null, "infoActiveIcon8": null, "infoActiveIcon9": null, "infoActiveImage1": null, "infoActiveImage10": null, "infoActiveImage11": null, "infoActiveImage12": null, "infoActiveImage2": null, "infoActiveImage3": null, "infoActiveImage4": null, "infoActiveImage5": null, "infoActiveImage6": null, "infoActiveImage7": null, "infoActiveImage8": null, "infoActiveImage9": null, "infoActiveText1": null, "infoActiveText10": null, "infoActiveText11": null, "infoActiveText12": null, "infoActiveText2": null, "infoActiveText3": null, "infoActiveText4": null, "infoActiveText5": null, "infoActiveText6": null, "infoActiveText7": null, "infoActiveText8": null, "infoActiveText9": null, "infoInactiveColor1": null, "infoInactiveColor10": null, "infoInactiveColor11": null, "infoInactiveColor12": null, "infoInactiveColor2": null, "infoInactiveColor3": null, "infoInactiveColor4": null, "infoInactiveColor5": null, "infoInactiveColor6": null, "infoInactiveColor7": null, "infoInactiveColor8": null, "infoInactiveColor9": null, "infoInactiveIcon1": null, "infoInactiveIcon10": null, "infoInactiveIcon11": null, "infoInactiveIcon12": null, "infoInactiveIcon2": null, "infoInactiveIcon3": null, "infoInactiveIcon4": null, "infoInactiveIcon5": null, "infoInactiveIcon6": null, "infoInactiveIcon7": null, "infoInactiveIcon8": null, "infoInactiveIcon9": null, "infoInactiveImage1": null, "infoInactiveImage10": null, "infoInactiveImage11": null, "infoInactiveImage12": null, "infoInactiveImage2": null, "infoInactiveImage3": null, "infoInactiveImage4": null, "infoInactiveImage5": null, "infoInactiveImage6": null, "infoInactiveImage7": null, "infoInactiveImage8": null, "infoInactiveImage9": null, "infoInactiveText1": null, "infoInactiveText10": null, "infoInactiveText11": null, "infoInactiveText12": null, "infoInactiveText2": null, "infoInactiveText3": null, "infoInactiveText4": null, "infoInactiveText5": null, "infoInactiveText6": null, "infoInactiveText7": null, "infoInactiveText8": null, "infoInactiveText9": null, "lockColor1": null, "lockColor10": null, "lockColor11": null, "lockColor12": null, "lockColor2": null, "lockColor3": null, "lockColor4": null, "lockColor5": null, "lockColor6": null, "lockColor7": null, "lockColor8": null, "lockColor9": null, "luminance1": null, "luminance10": null, "luminance11": null, "luminance12": null, "luminance2": null, "luminance3": null, "luminance4": null, "luminance5": null, "luminance6": null, "luminance7": null, "luminance8": null, "luminance9": null, "noIcon1": false, "noIcon10": true, "noIcon11": true, "noIcon12": true, "noIcon2": null, "noIcon3": true, "noIcon4": true, "noIcon5": null, "noIcon6": true, "noIcon7": true, "noIcon8": null, "noIcon9": true, "noLockAnimation1": null, "noLockAnimation10": null, "noLockAnimation11": null, "noLockAnimation12": null, "noLockAnimation2": null, "noLockAnimation3": null, "noLockAnimation4": null, "noLockAnimation5": null, "noLockAnimation6": null, "noLockAnimation7": null, "noLockAnimation8": null, "noLockAnimation9": null, "noRgbPalette1": null, "noRgbPalette10": null, "noRgbPalette11": null, "noRgbPalette12": null, "noRgbPalette2": null, "noRgbPalette3": null, "noRgbPalette4": null, "noRgbPalette5": null, "noRgbPalette6": null, "noRgbPalette7": null, "noRgbPalette8": null, "noRgbPalette9": null, "oid-pincode1": null, "oid-pincode10": null, "oid-pincode11": null, "oid-pincode12": null, "oid-pincode2": null, "oid-pincode3": null, "oid-pincode4": null, "oid-pincode5": null, "oid-pincode6": null, "oid-pincode7": null, "oid-pincode8": null, "oid-pincode9": null, "oid1": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.street", "oid10": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.diesel.trend_24h_proj_price", "oid11": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.lastChecked", "oid12": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.lastPriceUpdate", "oid2": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.benzin_str", "oid3": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj", "oid4": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.benzin.trend_24h_proj_price", "oid5": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.e10_str", "oid6": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.e10.trend_24h_proj", "oid7": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.e10.trend_24h_proj_price", "oid8": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.diesel_str", "oid9": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.aspects.diesel.trend_24h_proj", "open1": null, "open10": null, "open11": null, "open12": null, "open2": null, "open3": null, "open4": null, "open5": null, "open6": null, "open7": null, "open8": null, "open9": null, "orientation": "horizontal", "party1": null, "party10": null, "party11": null, "party12": null, "party2": null, "party3": null, "party4": null, "party5": null, "party6": null, "party7": null, "party8": null, "party9": null, "pincode1": null, "pincode10": null, "pincode11": null, "pincode12": null, "pincode2": null, "pincode3": null, "pincode4": null, "pincode5": null, "pincode6": null, "pincode7": null, "pincode8": null, "pincode9": null, "pincodeReturnButton1": "submit", "pincodeReturnButton10": "submit", "pincodeReturnButton11": "submit", "pincodeReturnButton12": "submit", "pincodeReturnButton2": "submit", "pincodeReturnButton3": "submit", "pincodeReturnButton4": "submit", "pincodeReturnButton5": "submit", "pincodeReturnButton6": "submit", "pincodeReturnButton7": "submit", "pincodeReturnButton8": "submit", "pincodeReturnButton9": "submit", "position1": null, "position10": null, "position11": null, "position12": null, "position2": null, "position3": null, "position4": null, "position5": null, "position6": null, "position7": null, "position8": null, "position9": null, "red1": null, "red10": null, "red11": null, "red12": null, "red2": null, "red3": null, "red4": null, "red5": null, "red6": null, "red7": null, "red8": null, "red9": null, "rgbType1": null, "rgbType10": null, "rgbType11": null, "rgbType12": null, "rgbType2": null, "rgbType3": null, "rgbType4": null, "rgbType5": null, "rgbType6": null, "rgbType7": null, "rgbType8": null, "rgbType9": null, "saturation1": null, "saturation10": null, "saturation11": null, "saturation12": null, "saturation2": null, "saturation3": null, "saturation4": null, "saturation5": null, "saturation6": null, "saturation7": null, "saturation8": null, "saturation9": null, "sensor1": null, "sensor10": null, "sensor11": null, "sensor12": null, "sensor2": null, "sensor3": null, "sensor4": null, "sensor5": null, "sensor6": null, "sensor7": null, "sensor8": null, "sensor9": null, "slideInvert1": null, "slideInvert10": null, "slideInvert11": null, "slideInvert12": null, "slideInvert2": null, "slideInvert3": null, "slideInvert4": null, "slideInvert5": null, "slideInvert6": null, "slideInvert7": null, "slideInvert8": null, "slideInvert9": null, "step1": null, "step10": null, "step11": null, "step12": null, "step2": null, "step3": null, "step4": null, "step5": null, "step6": null, "step7": null, "step8": null, "step9": null, "switch1": null, "switch10": null, "switch11": null, "switch12": null, "switch2": null, "switch3": null, "switch4": null, "switch5": null, "switch6": null, "switch7": null, "switch8": null, "switch9": null, "timeout1": 500, "timeout10": 500, "timeout11": 500, "timeout12": 500, "timeout2": 500, "timeout3": 500, "timeout4": 500, "timeout5": 500, "timeout6": 500, "timeout7": 500, "timeout8": 500, "timeout9": 500, "title1": "Straße", "title10": "Preisprognose 24h", "title11": null, "title12": null, "title2": "Super 95", "title3": "Prognose 24h", "title4": "Preisprognose 24h", "title5": "E10", "title6": "Prognose 24h", "title7": "Preisprognose 24h", "title8": "Diesel", "title9": "Prognose 24h", "type": "lines", "type1": "info", "type10": "info", "type11": "info", "type12": "info", "type2": "info", "type3": "button", "type4": "info", "type5": "info", "type6": "button", "type7": "info", "type8": "info", "type9": "button", "undefined1": null, "undefined10": null, "undefined11": null, "undefined12": null, "undefined2": null, "undefined3": null, "undefined4": null, "undefined5": null, "undefined6": null, "undefined7": null, "undefined8": null, "undefined9": null, "unit1": null, "unit10": "€", "unit11": null, "unit12": null, "unit2": "€", "unit3": null, "unit4": "€", "unit5": "€", "unit6": null, "unit7": "€", "unit8": "€", "unit9": null, "vacuum-battery-oid1": null, "vacuum-battery-oid10": null, "vacuum-battery-oid11": null, "vacuum-battery-oid12": null, "vacuum-battery-oid2": null, "vacuum-battery-oid3": null, "vacuum-battery-oid4": null, "vacuum-battery-oid5": null, "vacuum-battery-oid6": null, "vacuum-battery-oid7": null, "vacuum-battery-oid8": null, "vacuum-battery-oid9": null, "vacuum-cleaning-count-oid1": null, "vacuum-cleaning-count-oid10": null, "vacuum-cleaning-count-oid11": null, "vacuum-cleaning-count-oid12": null, "vacuum-cleaning-count-oid2": null, "vacuum-cleaning-count-oid3": null, "vacuum-cleaning-count-oid4": null, "vacuum-cleaning-count-oid5": null, "vacuum-cleaning-count-oid6": null, "vacuum-cleaning-count-oid7": null, "vacuum-cleaning-count-oid8": null, "vacuum-cleaning-count-oid9": null, "vacuum-fan-speed-oid1": null, "vacuum-fan-speed-oid10": null, "vacuum-fan-speed-oid11": null, "vacuum-fan-speed-oid12": null, "vacuum-fan-speed-oid2": null, "vacuum-fan-speed-oid3": null, "vacuum-fan-speed-oid4": null, "vacuum-fan-speed-oid5": null, "vacuum-fan-speed-oid6": null, "vacuum-fan-speed-oid7": null, "vacuum-fan-speed-oid8": null, "vacuum-fan-speed-oid9": null, "vacuum-filter-left-oid1": null, "vacuum-filter-left-oid10": null, "vacuum-filter-left-oid11": null, "vacuum-filter-left-oid12": null, "vacuum-filter-left-oid2": null, "vacuum-filter-left-oid3": null, "vacuum-filter-left-oid4": null, "vacuum-filter-left-oid5": null, "vacuum-filter-left-oid6": null, "vacuum-filter-left-oid7": null, "vacuum-filter-left-oid8": null, "vacuum-filter-left-oid9": null, "vacuum-home-oid1": null, "vacuum-home-oid10": null, "vacuum-home-oid11": null, "vacuum-home-oid12": null, "vacuum-home-oid2": null, "vacuum-home-oid3": null, "vacuum-home-oid4": null, "vacuum-home-oid5": null, "vacuum-home-oid6": null, "vacuum-home-oid7": null, "vacuum-home-oid8": null, "vacuum-home-oid9": null, "vacuum-is-charging-oid1": null, "vacuum-is-charging-oid10": null, "vacuum-is-charging-oid11": null, "vacuum-is-charging-oid12": null, "vacuum-is-charging-oid2": null, "vacuum-is-charging-oid3": null, "vacuum-is-charging-oid4": null, "vacuum-is-charging-oid5": null, "vacuum-is-charging-oid6": null, "vacuum-is-charging-oid7": null, "vacuum-is-charging-oid8": null, "vacuum-is-charging-oid9": null, "vacuum-main-brush-left-oid1": null, "vacuum-main-brush-left-oid10": null, "vacuum-main-brush-left-oid11": null, "vacuum-main-brush-left-oid12": null, "vacuum-main-brush-left-oid2": null, "vacuum-main-brush-left-oid3": null, "vacuum-main-brush-left-oid4": null, "vacuum-main-brush-left-oid5": null, "vacuum-main-brush-left-oid6": null, "vacuum-main-brush-left-oid7": null, "vacuum-main-brush-left-oid8": null, "vacuum-main-brush-left-oid9": null, "vacuum-map64-oid1": null, "vacuum-map64-oid10": null, "vacuum-map64-oid11": null, "vacuum-map64-oid12": null, "vacuum-map64-oid2": null, "vacuum-map64-oid3": null, "vacuum-map64-oid4": null, "vacuum-map64-oid5": null, "vacuum-map64-oid6": null, "vacuum-map64-oid7": null, "vacuum-map64-oid8": null, "vacuum-map64-oid9": null, "vacuum-own-image1": null, "vacuum-own-image10": null, "vacuum-own-image11": null, "vacuum-own-image12": null, "vacuum-own-image2": null, "vacuum-own-image3": null, "vacuum-own-image4": null, "vacuum-own-image5": null, "vacuum-own-image6": null, "vacuum-own-image7": null, "vacuum-own-image8": null, "vacuum-own-image9": null, "vacuum-pause-oid1": null, "vacuum-pause-oid10": null, "vacuum-pause-oid11": null, "vacuum-pause-oid12": null, "vacuum-pause-oid2": null, "vacuum-pause-oid3": null, "vacuum-pause-oid4": null, "vacuum-pause-oid5": null, "vacuum-pause-oid6": null, "vacuum-pause-oid7": null, "vacuum-pause-oid8": null, "vacuum-pause-oid9": null, "vacuum-sensors-left-oid1": null, "vacuum-sensors-left-oid10": null, "vacuum-sensors-left-oid11": null, "vacuum-sensors-left-oid12": null, "vacuum-sensors-left-oid2": null, "vacuum-sensors-left-oid3": null, "vacuum-sensors-left-oid4": null, "vacuum-sensors-left-oid5": null, "vacuum-sensors-left-oid6": null, "vacuum-sensors-left-oid7": null, "vacuum-sensors-left-oid8": null, "vacuum-sensors-left-oid9": null, "vacuum-side-brush-left-oid1": null, "vacuum-side-brush-left-oid10": null, "vacuum-side-brush-left-oid11": null, "vacuum-side-brush-left-oid12": null, "vacuum-side-brush-left-oid2": null, "vacuum-side-brush-left-oid3": null, "vacuum-side-brush-left-oid4": null, "vacuum-side-brush-left-oid5": null, "vacuum-side-brush-left-oid6": null, "vacuum-side-brush-left-oid7": null, "vacuum-side-brush-left-oid8": null, "vacuum-side-brush-left-oid9": null, "vacuum-start-oid1": null, "vacuum-start-oid10": null, "vacuum-start-oid11": null, "vacuum-start-oid12": null, "vacuum-start-oid2": null, "vacuum-start-oid3": null, "vacuum-start-oid4": null, "vacuum-start-oid5": null, "vacuum-start-oid6": null, "vacuum-start-oid7": null, "vacuum-start-oid8": null, "vacuum-start-oid9": null, "vacuum-status-oid1": null, "vacuum-status-oid10": null, "vacuum-status-oid11": null, "vacuum-status-oid12": null, "vacuum-status-oid2": null, "vacuum-status-oid3": null, "vacuum-status-oid4": null, "vacuum-status-oid5": null, "vacuum-status-oid6": null, "vacuum-status-oid7": null, "vacuum-status-oid8": null, "vacuum-status-oid9": null, "vacuum-use-default-picture1": true, "vacuum-use-default-picture10": true, "vacuum-use-default-picture11": true, "vacuum-use-default-picture12": true, "vacuum-use-default-picture2": true, "vacuum-use-default-picture3": true, "vacuum-use-default-picture4": true, "vacuum-use-default-picture5": true, "vacuum-use-default-picture6": true, "vacuum-use-default-picture7": true, "vacuum-use-default-picture8": true, "vacuum-use-default-picture9": true, "vacuum-use-rooms1": null, "vacuum-use-rooms10": null, "vacuum-use-rooms11": null, "vacuum-use-rooms12": null, "vacuum-use-rooms2": null, "vacuum-use-rooms3": null, "vacuum-use-rooms4": null, "vacuum-use-rooms5": null, "vacuum-use-rooms6": null, "vacuum-use-rooms7": null, "vacuum-use-rooms8": null, "vacuum-use-rooms9": null, "visibility-cond1": "==", "visibility-cond10": "==", "visibility-cond11": "==", "visibility-cond12": "==", "visibility-cond2": "==", "visibility-cond3": "==", "visibility-cond4": "==", "visibility-cond5": "==", "visibility-cond6": "==", "visibility-cond7": "==", "visibility-cond8": "==", "visibility-cond9": "==", "visibility-oid1": null, "visibility-oid10": null, "visibility-oid11": null, "visibility-oid12": null, "visibility-oid2": null, "visibility-oid3": null, "visibility-oid4": null, "visibility-oid5": null, "visibility-oid6": null, "visibility-oid7": null, "visibility-oid8": null, "visibility-oid9": null, "visibility-val1": "1", "visibility-val10": "1", "visibility-val11": "1", "visibility-val12": "1", "visibility-val2": "1", "visibility-val3": "1", "visibility-val4": "1", "visibility-val5": "1", "visibility-val6": "1", "visibility-val7": "1", "visibility-val8": "1", "visibility-val9": "1", "white1": null, "white10": null, "white11": null, "white12": null, "white2": null, "white3": null, "white4": null, "white5": null, "white6": null, "white7": null, "white8": null, "white9": null, "whiteMode1": null, "whiteMode10": null, "whiteMode11": null, "whiteMode12": null, "whiteMode2": null, "whiteMode3": null, "whiteMode4": null, "whiteMode5": null, "whiteMode6": null, "whiteMode7": null, "whiteMode8": null, "whiteMode9": null, "widget1": null, "widget10": null, "widget11": null, "widget12": null, "widget2": null, "widget3": null, "widget4": null, "widget5": null, "widget6": null, "widget7": null, "widget8": null, "widget9": null, "widgetTitle": "{0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.name}", "working1": null, "working10": null, "working11": null, "working12": null, "working2": null, "working3": null, "working4": null, "working5": null, "working6": null, "working7": null, "working8": null, "working9": null, "visibility-oid": "0_userdata.0.tankerkoenig.005056ba-7cb6-1ed2-bceb-865970388d30.isOpen", "visibility-cond": "==", "visibility-val": "true", "visibility-groups": null, "visibility-groups-action": "hide", "g_visibility": true }, "style": { "bindings": [], "left": -6, "top": 14, "width": "100%", "height": "588px", "position": "relative" }, "widgetSet": "vis-2-widgets-material", "_id": "i000001" } ]
-
@ro75
Als erste mal ein herzliches Dankeschön für dieses super Skript.
Könntest du evtl die Empfehlungen aus der Json in boolsche Datenpunkte integrieren. Sodass man es nutzen kann. Die Tabelle mit dem JSON passt nicht auf meine Visaulisierung.
Die Entfernung zu mir, wär auch toll wenn es in einem Datenpunkt stehen könnte.@Dragon sagte in Tankerkönig - Extended Skript:
Die Entfernung zu mir, wär auch toll wenn es in einem Datenpunkt stehen könnte.
Schaue dir mal bitte den datenpunkt "distance" an. In diesem steht die Entfernung in Km drin, vorausgesetzt du hast im Konfigbereich deine Koordinaten (lat und lon) eingetragen.
Die Empfehlungen aus der Json. Sag mir nochmal bitte welche json und ich schaue es mir an.
Ro75.
-
@Dragon sagte in Tankerkönig - Extended Skript:
Die Entfernung zu mir, wär auch toll wenn es in einem Datenpunkt stehen könnte.
Schaue dir mal bitte den datenpunkt "distance" an. In diesem steht die Entfernung in Km drin, vorausgesetzt du hast im Konfigbereich deine Koordinaten (lat und lon) eingetragen.
Die Empfehlungen aus der Json. Sag mir nochmal bitte welche json und ich schaue es mir an.
Ro75.
Ich habe letzte Nacht wirklich mehrere Stunden gesucht und habe den Datenpunkt nicht gesehen... :-)
0_userdata.0.tankerkoenig.recommendation_jsonIn diesem Datenpunkt steht in einer Tabelle ob Tanken für Diesel/E10/Benzin empfohlen wird. Wenn man drei boolsche Datenpunkte anlegt mit Tankempfehlung Diesel/E10/Benzin true/false wär das toll.
-
ich hab auch lange überlegt, welche Infos der Tankstelle für mich eigentlich am besten sind.
Am Ende ist es eine Matrix geworden, mit der ich die letzte Woche visuell auswerte.
Damit lassen sich Preismuster am besten erkennen und vorraussagen.
War viel gebastel in der vis. Vielleicht ist es ja eine Inspiration...
-
ich hab auch lange überlegt, welche Infos der Tankstelle für mich eigentlich am besten sind.
Am Ende ist es eine Matrix geworden, mit der ich die letzte Woche visuell auswerte.
Damit lassen sich Preismuster am besten erkennen und vorraussagen.
War viel gebastel in der vis. Vielleicht ist es ja eine Inspiration...
@stenmic Die heatmap gefällt mir.
ich noch den klassischen Linienchart.

da hab ich halt auch den Verlauf mehrere Tanken "im Überblick"
-
Ich habe letzte Nacht wirklich mehrere Stunden gesucht und habe den Datenpunkt nicht gesehen... :-)
0_userdata.0.tankerkoenig.recommendation_jsonIn diesem Datenpunkt steht in einer Tabelle ob Tanken für Diesel/E10/Benzin empfohlen wird. Wenn man drei boolsche Datenpunkte anlegt mit Tankempfehlung Diesel/E10/Benzin true/false wär das toll.
-
@stenmic Die heatmap gefällt mir.
ich noch den klassischen Linienchart.

da hab ich halt auch den Verlauf mehrere Tanken "im Überblick"
