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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Gibt es einen Zeit/Datums-Adapter oder Script?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    930

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

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

Gibt es einen Zeit/Datums-Adapter oder Script?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
28 Beiträge 14 Kommentatoren 5.6k Aufrufe 13 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • hg6806H Offline
    hg6806H Offline
    hg6806
    Most Active
    schrieb am zuletzt editiert von
    #3

    ???

    Wurde das Thema dort mal behandelt?

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #4

      Hallo,

      habe mir mal sowas gebaut:
      261_bildschirmfoto_2018-11-13_um_11.41.28.jpg

      Das Skript errechnet, den Fortschritt zum Beispiel von Tagen im Jahr, in der Woche oder Monate im Jahr oder Quartal. Ausserdem liefert es noch einige andere Daten zum aktuellen Tag (Tag/Woche/Quartal/Monat gerade oder ungerade, Kalenderwoche, etc.)

      Das Skript ist ziemlich gross (zZt 732 Zeilen), also poste ich mal noch nicht, bevor es gar nicht das Richtige ist.

      Sieht im Objekte Reiter so aus:
      261_bildschirmfoto_2018-11-13_um_11.46.03.jpg

      Sollte mal zum Adapter iobroker.datuminfo werden, habe aber noch keine Zeit dafür gehabt. Internationalisierung ist nicht so einfach, da ja in anderen Sprachen das Datum zT in anderer Reihenfolge geschrieben wird und zB Berechnung der KW auf anderer Basis erfolgt.

      Gruß

      Pix

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

      1 Antwort Letzte Antwort
      0
      • hg6806H Offline
        hg6806H Offline
        hg6806
        Most Active
        schrieb am zuletzt editiert von
        #5

        Genau so etwas suche ich im Prinzip.

        Kannst du mir es mal trotzdem schicken?

        Wie hast du eigentlich die Balken hinbekommen?

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von Negalein
          #6

          Hallo,

          das Widget ist das Bar-Widget (hoizontal).

          Hier das Skript (läuft bei mir in der Javascript Instanz 0.

          /* System Datuminfo
          Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
          KW1 = 1\. Donnerstag im Jahr
          1\. Wochentag ist Montag
          Feiertage aus Adapter iobroker.feiertage
          25.02.2016 erstellt von pix
          28.04.2016 Prüft ob KW gerade oder ungerade
          Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
          28.05.2016 parseFloat bei toFixed-Werten zugefügt (nach Variablen Typ Warnung)
          Variablen Typ einiger Objekte geändert
          30.09.2018 Optimierung im Code
          todo Adapter:
          Grundunterscheidung im Objektbaum: Deutsch (de)/Englisch (en)
          Jahreszeiten
          Beispieldatum Donnerstag, 28\. Apil 2016
          */
          const path = "javascript." + instance + ".Kalender.Datuminfo.de"; // Pfad zu Objekten im javascript-Adapter
          const fC = false; // Objekte neu erstellen?
          const logging = false;
          const dezimals = 1; // Dezimalstellen Anteilausgabe
          const monthNameLong =    ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];
          const monthNameShort =   ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
          const dayWeekNameLong =  ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]; // So 1 und 7
          const dayWeekNameShort = ["So","Mo","Di","Mi","Don","Fr","Sa","So"];
          // ++++++++++ Objekte
          // Adapter feiertage installiert?
          const feiertag = true; // Schalter Feiertag-Adapter nutzen oder nicht
          const idHolidayToday = "feiertage.0.heute.boolean"/*Feiertag heute?*/;
          const idHolidayTodayName = "feiertage.0.heute.Name"/*Feiertag heute - Name*/;
          // AB HIER NIX MEHR EINSTELLEN
          // Jahr
          /*
          Jahr
          datuminfo.0.de.jahr.nummer (2016)
          datuminfo.0.de.jahr.schaltjahr (true)
          */
          const idYear = path + ".Jahr.Zahl";
          const idYearLeap = path + ".Jahr.Schaltjahr";
          createState(idYear, 0, fC, {
              name: "Kalender - Jahreszahl",
              type: "number",
              role: "value"
          });
          createState(idYearLeap, false, fC, {
              name: "Kalender - Schaltjahr",
              type: "boolean",
              role: "indicator"
          });
          // Quartal
          const idQuart = path + ".Quartal.Nummer";
          const idQuartEven = path + ".Quartal.gerade";
          const idQuartPastCount = path + ".Quartal.Vergangenheit.Anzahl";
          const idQuartPastShare = path + ".Quartal.Vergangenheit.Anteil";
          const idQuartFutureCount = path + ".Quartal.Zukunft.Anzahl";
          const idQuartFutureShare = path + ".Quartal.Zukunft.Anteil";
          createState(idQuart, 1, fC, {
              name: "Kalender - Quartal - Nummer",
              type: "number",
              min: 1,
              max: 4,
              role: "level"
          });
          createState(idQuartEven, {
              name: "Kalender - Quartal - gerade",
              type: "boolean",
              role: "indicator"
          });
          createState(idQuartPastCount, 0, fC, {
              name: "Kalender - Quartal - Anzahl vergangene Quartale im Jahr",
              type: "number",
              min: 0,
              max: 3,
              role: "level"
          });
          createState(idQuartPastShare, 0, fC, {
              name: "Kalender - Quartal - Anteil vergangene Quartale im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          createState(idQuartFutureCount, 0, fC, {
              name: "Kalender - Quartal - Anzahl kommender Quartale im Jahr",
              type: "number",
              min: 0,
              max: 3,
              role: "level"
          });
          createState(idQuartFutureShare, 0, fC, {
              name: "Kalender - Quartal - Anteil kommender Quartale im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          /*
          Monat
          datuminfo.0.de.monat.name.lang (April)
          datuminfo.0.de.monat.name.kurz (April)
          datuminfo.0.de.monat.nummer.deutsch.nummer (4)
          datuminfo.0.de.monat.nummer.deutsch.gerade (true)
          datuminfo.0.de.monat.nummer.deutsch.ungerade (false)
          datuminfo.0.de.monat.nummer.system.nummer (5)
          datuminfo.0.de.monat.nummer.system.gerade (false)
          datuminfo.0.de.monat.nummer.system.ungerade (true)
          datuminfo.0.de.monat.jahr.nummer (4) // deutsch
          datuminfo.0.de.monat.jahr.anzahl (12)
          datuminfo.0.de.monat.jahr.vergangenheit.anzahl (4)
          datuminfo.0.de.monat.jahr.vergangenheit.Anteil (4 von 12) (4*100)/12
          datuminfo.0.de.monat.jahr.zukunft.anzahl (8)
          datuminfo.0.de.monat.jahr.zukunft.Anteil (8 von 12) (8*100)/12
          */
          const idMonthNameShort = path + ".Monat.Name.kurz";
          const idMonthNameLong = path + ".Monat.Name.lang";
          const idMonthNumberCount = path + ".Monat.Nummer.Nummer";
          const idMonthNumberEven = path + ".Monat.Nummer.gerade";
          const idMonthYearCount = path + ".Monat.Jahr.Anzahl"; // steht fest
          const idMonthYearPastCount = path + ".Monat.Jahr.Vergangenheit.Anzahl";
          const idMonthYearPastShare = path + ".Monat.Jahr.Vergangenheit.Anteil";
          const idMonthYearFutureCount = path + ".Monat.Jahr.Zukunft.Anzahl";
          const idMonthYearFutureShare = path + ".Monat.Jahr.Zukunft.Anteil";
          createState(idMonthNameShort, "", fC, {
              name: "Kalender - Monat - kurze Name",
              type: "string",
              role: "text"
          });
          createState(idMonthNameLong, "", fC, {
              name: "Kalender - Monat - langer Name",
              type: "string",
              role: "text"
          });
          createState(idMonthNumberCount, 1, fC, {
              name: "Kalender - Monat - Nummer",
              desc: "Januar = 1, ..., Monat Dezember = 12",
              type: "number",
              min: 1,
              max: 12,
              role: "level"
          });
          createState(idMonthNumberEven, false, fC, {
              name: "Kalender - Monat - Nummer - gerade",
              type: "boolean",
              role: "indicator"
          });
          createState(idMonthYearCount, 12, fC, {
              name: "Kalender - Monate - Anzahl im Jahr",
              type: "number",
              role: "val",
              min: 12,
              max: 12
          });
          createState(idMonthYearPastCount, 0, fC, {
              name: "Kalender - Monate - Anzahl vergangene Monate im Jahr",
              type: "number",
              role: "level",
              min: 0,
              max: 11
          });
          createState(idMonthYearPastShare, Math.round(1/12), fC, {
              name: "Kalender - Monate - Anteil vergangene Monate im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          createState(idMonthYearFutureCount, 0, fC, {
              name: "Kalender - Monate - Anzahl kommender Monate im Jahr",
              type: "number",
              role: "level",
              min: 0,
              max: 11
          });
          createState(idMonthYearFutureShare, Math.round(11/12), fC, {
              name: "Kalender - Monate - Anteil kommender Monate im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          /*
          Woche
          datuminfo.0.de.woche.gesamt (52)
          datuminfo.0.de.woche.vergangenheit.anzahl (17)
          datuminfo.0.de.woche.vergangenheit.Anteil (17 von 52) 17*100/52
          datuminfo.0.de.woche.zukunft.anzahl (35)
          datuminfo.0.de.woche.zukunft.Anteil (35 von 52)       35*100/52
          datuminfo.0.de.woche.nummer (17)
          datuminfo.0.de.woche.gerade (true)
          datuminfo.0.de.woche.ungerade (false)
          */
          const idWeekYearCount = path + ".Woche.Jahr.Anzahl"; // steht fest
          const idWeekYearNumberCount = path + ".Woche.Jahr.Kalenderwoche.Nummer";
          const idWeekYearNumberEven = path + ".Woche.Jahr.Kalenderwoche.gerade";
          const idWeekYearPastCount = path + ".Woche.Jahr.Vergangenheit.Anzahl";
          const idWeekYearPastShare = path + ".Woche.Jahr.Vergangenheit.Anteil";
          const idWeekYearFutureCount = path + ".Woche.Jahr.Zukunft.Anzahl";
          const idWeekYearFutureShare = path + ".Woche.Jahr.Zukunft.Anteil";
          createState(idWeekYearCount, 52, fC, {
              name: "Kalender - Wochen im Jahr - Anzahl",
              type: "number",
              role: "level"
          });
          createState(idWeekYearPastCount, 0, fC, {
              name: "Kalender - Wochen - Anzahl vergangene Wochen im Jahr",
              type: "number",
              min: 0,
              max: 52,
              role: "level"
          });
          createState(idWeekYearPastShare, 0, fC, {
              name: "Kalender - Wochen - Anteil vergangene Wochen im Jahr",
              type: "number",
              unit: "%",
              min: 0,
              max: 100,
              role: "level"
          });
          createState(idWeekYearFutureCount, 0, fC, {
              name: "Kalender - Wochen - Anzahl kommender Wochen im Jahr",
              type: "number",
              min: 0,
              max: 52,
              role: "level"
          });
          createState(idWeekYearFutureShare, 0, fC, {
              name: "Kalender - Wochen - Anteil kommender Wochen im Jahr",
              type: "number",
              unit: "%",
              min: 0,
              max: 100,
              role: "level"
          });
          createState(idWeekYearNumberCount, 0, fC, {
              name: "Kalender - Wochen - Kalenderwoche",
              type: "number",
              min: 0,
              max: 53,
              unit: "KW",
              role: "level"
          });
          createState(idWeekYearNumberEven, false, fC, {
              name: "Kalender - Wochen - Kalenderwoche gerade",
              type: "boolean",
              role: "indicator"
          });
          /*
          Tag
          datuminfo.0.de.tag.woche.name.lang (Donnerstag)
          datuminfo.0.de.tag.woche.name.kurz (Do)
          datuminfo.0.de.tag.woche.nummer.deutsch (4)
          datuminfo.0.de.tag.woche.nummer.system (4)
          datuminfo.0.de.tag.woche.vergangenheit.anzahl (4) // deutsches system ab Montag
          datuminfo.0.de.tag.woche.vergangenheit.Anteil (4 von 7)  4*100/7
          datuminfo.0.de.tag.woche.zukunft.anzahl (3)
          datuminfo.0.de.tag.woche.zukunft.Anteil (3 von 7)        3*100/7
          datuminfo.0.de.tag.monat.gesamt (30) // tage im monat
          datuminfo.0.de.tag.monat.vergangenheit.anzahl (28) // seit monats beginn
          datuminfo.0.de.tag.monat.vergangenheit.Anteil (28 von 30)   28*100/30
          datuminfo.0.de.tag.monat.zukunft.anzahl (2)        // bis monatsende
          datuminfo.0.de.tag.monat.zukunft.Anteil (2 von 30)          2*100/30
          datuminfo.0.de.tag.monat.nummer (28)
          datuminfo.0.de.tag.monat.gerade (true)
          datuminfo.0.de.tag.monat.ungerade (false)
          datuminfo.0.de.tag.jahr.nummer (119)
          datuminfo.0.de.tag.jahr.gerade (true)
          datuminfo.0.de.tag.jahr.ungerade (false)
          datuminfo.0.de.tag.jahr.gesamt (366)
          datuminfo.0.de.tag.jahr.vergangenheit.anzahl (119)           // seit jahresbeginn
          datuminfo.0.de.tag.jahr.vergangenheit.Anteil (119 von 366) 119*100/366
          datuminfo.0.de.tag.jahr.zukunft.anzahl (247)                // bis jahresende
          datuminfo.0.de.tag.jahr.zukunft.Anteil (247 von 366)       247*100/366
          */
          const idDayName = path + ".Tag.Name";
          const idDayHoliday = path + ".Tag.Feiertag";
          createState(idDayName, "", fC, {
              name: "Kalender - Name des Tages",
              type: "string",
              role: "text"
          }); 
          createState(idDayHoliday, false, fC, {
              name: "Kalender - heute Feiertag?",
              type: "boolean",
              role: "indicator"
          });
          const idDayWeekNameLong = path + ".Tag.Woche.Name.lang";
          const idDayWeekNameShort = path + ".Tag.Woche.Name.kurz";
          const idDayWeekNumber = path + ".Tag.Woche.Nummer";
          const idDayWeekPastCount = path + ".Tag.Woche.Vergangenheit.Anzahl";
          const idDayWeekPastShare = path + ".Tag.Woche.Vergangenheit.Anteil";
          const idDayWeekFutureCount = path + ".Tag.Woche.Zukunft.Anzahl";
          const idDayWeekFutureShare = path + ".Tag.Woche.Zukunft.Anteil";
          createState(idDayWeekNameLong, "", fC, {
              name: "Kalender - Tag der Woche - langer Name",
              type: "string",
              role: "dayofweek"
          });
          createState(idDayWeekNameShort, "", fC, {
              name: "Kalender - Tag der Woche - kurzer Name",
              type: "string",
              role: "dayofweek"
          });
          createState(idDayWeekNumber, 1, fC, {
              name: "Kalender - Tag der Woche - Nummer",
              desc: "Mo = 1, ..., Sa = 6, So = 7",
              type: "number",
              role: "level",
              min: 1,
              max: 7
          });
          createState(idDayWeekPastCount, 0, fC, {
              name: "Kalender - Tag der Woche - Anzahl vergangene Tage in der Woche",
              type: "number",
              min: 0,
              max: 6,
              role: "value"
          });
          createState(idDayWeekPastShare, 0, fC, {
              name: "Kalender - Tag der Woche - Anteil vergangene Tage in der Woche",
              type: "number",
              unit: "%",
              min: 0,
              max: 100,
              role: "level"
          });
          createState(idDayWeekFutureCount, 0, fC, {
              name: "Kalender - Tag der Woche - Anzahl kommender Tage in der Woche",
              type: "number",
              min: 0,
              max: 6,
              role: "value"
          });
          createState(idDayWeekFutureShare, 0, fC, {
              name: "Kalender - Tag der Woche - Anteil kommender Tage in der Woche",
              type: "number",
              unit: "%",
              min: 0,
              max: 100,
              role: "level"
          });
          const idDayMonthCount = path + ".Tag.Monat.Anzahl";
          const idDayMonthPastCount = path + ".Tag.Monat.Vergangenheit.Anzahl";
          const idDayMonthPastShare = path + ".Tag.Monat.Vergangenheit.Anteil";
          const idDayMonthFutureCount = path + ".Tag.Monat.Zukunft.Anzahl";
          const idDayMonthFutureShare = path + ".Tag.Monat.Zukunft.Anteil";
          const idDayMonthNumber = path + ".Tag.Monat.Nummer";
          const idDayMonthEven = path + ".Tag.Monat.gerade";
          createState(idDayMonthCount, 0, fC, {
              name: "Kalender - Tage im Monat - Anzahl Tage im Monat",
              type: "number",
              min: 28,
              max: 31,
              role: "level"
          }); 
          createState(idDayMonthPastCount, 0, fC, {
              name: "Kalender - Tage im Monat - Anzahl vergangene Tage im Monat",
              type: "number",
              role: "level",
              min: 0,
              max: 31
          });
          createState(idDayMonthPastShare, 0, fC, {
              name: "Kalender - Tage im Monat - Anteil vergangene Tage im Monat",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          createState(idDayMonthFutureCount, 0, fC, {
              name: "Kalender - Tage im Monat - Anzahl kommender Tage im Monat",
              type: "number",
              role: "level",
              min: 0,
              max: 31
          });
          createState(idDayMonthFutureShare, 0, fC, {
              name: "Kalender - Tage im Monat - Anteil kommender Tage im Monat",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          }); 
          createState(idDayMonthNumber, 0, fC, {
              name: "Kalender - Tage im Monat - Nummer",
              type: "number",
              role: "level",
              min: 0,
              max: 31
          }); 
          createState(idDayMonthEven, false, fC, {
              name: "Kalender - Tage im Monat - Nummer gerade",
              type: "boolean",
              role: "indicator"
          }); 
          const idDayYearPastCount = path + ".Tag.Jahr.Vergangenheit.Anzahl";
          const idDayYearPastShare = path + ".Tag.Jahr.Vergangenheit.Anteil";
          const idDayYearFutureCount = path + ".Tag.Jahr.Zukunft.Anzahl";
          const idDayYearFutureShare = path + ".Tag.Jahr.Zukunft.Anteil";
          const idDayYearNumber = path + ".Tag.Jahr.Nummer";
          const idDayYearEven = path + ".Tag.Jahr.gerade";
          const idDayYearCount = path + ".Tag.Jahr.Anzahl";
          createState(idDayYearPastCount, 0, fC, {
              name: "Kalender - Tage im Jahr - Anzahl vergangene Tage im Jahr",
              type: "number",
              role: "level",
              min: 0,
              max: 366
          });
          createState(idDayYearPastShare, 0, fC, {
              name: "Kalender - Tage im Jahr - Anteil vergangene Tage im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          });
          createState(idDayYearFutureCount, 0, fC, {
              name: "Kalender - Tage im Jahr - Anzahl kommender Tage im Jahr",
              type: "number",
              role: "level",
              min: 0,
              max: 366
          });
          createState(idDayYearFutureShare, 0, fC, {
              name: "Kalender - Tage im Jahr - Anteil kommender Tage im Jahr",
              type: "number",
              unit: "%",
              role: "level",
              min: 0,
              max: 100
          }); 
          createState(idDayYearNumber, 1, fC, {
              name: "Kalender - Tage im Jahr - Nummer",
              type: "number",
              role: "level",
              min: 1,
              max: 366
          }); 
          createState(idDayYearEven, false, fC, {
              name: "Kalender - Tage im Jahr - Nummer gerade",
              type: "boolean",
              role: "indicator"
          }); 
          createState(idDayYearCount, 365, fC, {
              name: "Kalender - Tage im Jahr - Anzahl",
              desc: "Anzahl der Tage im Jahr ist abhängig vom Schaltjahr",
              type: "number",
              role: "level",
              min: 365,
              max: 366
          }); 
          /*
          Datum
          datuminfo.0.de.datum.sehrkurz (28.4.16)
          datuminfo.0.de.datum.kurz (28.04.2016)
          datuminfo.0.de.datum.monattext (28\. April 2016)
          datuminfo.0.de.datum.tagmonattext (Donnerstag, 28\. April 2016)
          datuminfo.0.de.datum.tagdermonattext (Donnerstag, der 28\. April 2016)
          */
          const idDateVeryShort = path + ".Datum.sehrkurz";
          const idDateShort = path + ".Datum.kurz";
          const idDateMonthText = path + ".Datum.monattext";
          const idDateDayMonthText = path + ".Datum.tagmonattext";
          const idDateDayMonthArtikelText = path + ".Datum.tagdermonattext";
          createState(idDateVeryShort, "", fC, {
              name: "Kalender - Datum als sehr kurzer Text",
              desc: "DD.M.JJ",
              type: "string",
              role: "text"
          }); 
          createState(idDateShort, "", fC, {
              name: "Kalender - Datum als kurzer Text",
              desc: "DD.MM.JJJJ",
              type: "string",
              role: "text"
          }); 
          createState(idDateMonthText, "", fC, {
              name: "Kalender - Datum als Text mit Monatsname",
              desc: "DD. Monat JJJJ",
              type: "string",
              role: "text"
          }); 
          createState(idDateDayMonthText, "", fC, {
              name: "Kalender - Datum als Text mit Wochentag und Monatsname",
              desc: "Wochentag, DD. Monat JJJJ",
              type: "string",
              role: "text"
          }); 
          createState(idDateDayMonthArtikelText, "", fC, {
              name: "Kalender - Datum als Text mit Wochentag, Artikel und Monatsname",
              desc: "Wochentag, der DD. Monat JJJJ",
              type: "string",
              role: "text"
          }); 
          // LOGIK ++++++++++++++++++
          function zeit(time) {
              // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
              let jetzt = new Date(time);
              let jahr       = jetzt.getFullYear();
              let monat      = (jetzt.getMonth()+1 < 10) ? "0" + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
              let tag        = jetzt.getDate();
              let tag_lang   = (jetzt.getDate() < 10) ? "0" + jetzt.getDate() : jetzt.getDate();
              let wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
              let stunde     = (jetzt.getHours() < 10) ? "0" + jetzt.getHours() : jetzt.getHours();
              let minute     = (jetzt.getMinutes() < 10) ? "0" + jetzt.getMinutes() : jetzt.getMinutes();
              let sekunde    = (jetzt.getSeconds() < 10) ? "0" + jetzt.getSeconds() : jetzt.getSeconds();
              return {
                  "Jahr"         : jahr,
                  "Monat"        : monat,
                  "Monat_gerade" : (monat%2 === 0) ? true : false,
                  "Tag"          : tag,
                  "Tag_lang"     : tag_lang,
                  "Wochentag"    : wochentag,
                  "Stunde"       : stunde,
                  "Minute"       : minute,
                  "Sekunde"      : sekunde
              };
          }
          function ermittleQuartal(time) {
              //let z = new Date (time);
              let y = time.getMonth(); // Monat 0 - 11
              let q = 0;
              switch (y) {
                  case 0: // Jan
                  case 1:
                  case 2: 
                      q = 1;
                      break;
                  case 3: // Apr
                  case 4:
                  case 5: 
                      q = 2;
                      break;
                  case 6: // Jul
                  case 7:
                  case 8: 
                      q = 3;
                      break;
                  case 9: // Okt
                  case 10:
                  case 11: 
                      q = 4;
                      break;
                  default: 
                      q = 0;
                      break;
              }
          
              return({
                  "count": q,
                  "even" : (q%2 === 0) ? true : false
              });
          }
          function ermittleTagDesJahres (time) {
              var heutestart = new Date(time.setHours(0,0,0,0));
              var Jahr = heutestart.getFullYear();
              var neujahr = new Date(Jahr,0,1);
              var difftage = (heutestart - neujahr) / (24*60*60*1000) + 1;
              var tag = Math.ceil(difftage);
              return(tag);
          }
          function ermittleKW(time) { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
              // Woche, die den ersten Donnerstag enthält https://de.wikipedia.org/wiki/Woche
              var KWDatum = new Date(time);
              var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
              var KWJahr = DonnerstagDat.getFullYear();
              var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
              var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
              var kalenderwoche = (parseInt(KW,10) < 10) ? "0" + KW : KW;
              return({
                  "kalenderwocheStr" : kalenderwoche,   // ggf. führende 0
                  "kalenderwocheInt" : parseInt(KW,10), // Zahl
                  "even"             : (parseInt(KW,10)%2 === 0) ? true: false
              });
          }
          function leseDatum () {
              let jetzt = new Date();
          
              // ### Jahr
              let jjjj = zeit(jetzt).Jahr;
              let sj = (jjjj % 4 === 0) ? true : false;
              if (logging) {
                  log("Jahr: " + jjjj);
                  log("Schaltjahr: " + sj);
              }
              setState(idYearLeap, sj, true);
              setState(idYear, jjjj, true);
          
              // ### Quartal
              let quartal = ermittleQuartal(jetzt).count;
              setState(idQuart, quartal, true);
              setState(idQuartEven, ermittleQuartal(jetzt).even, true);
              setState(idQuartPastCount, quartal, true);
              setState(idQuartPastShare, parseFloat((quartal * 100 / 4).toFixed(dezimals)), true);
              setState(idQuartFutureCount, 4 - quartal, true);
              setState(idQuartFutureShare, parseFloat(((4-quartal) * 100 / 4).toFixed(dezimals)), true);
          
              // ### Monat
              //setState("Kalender.Datuminfo.de.Monat.Jahr.Anzahl", {val: 12, ack: true}); // steht fest und wird oben angelegt
              let mon_vergangen = parseInt(zeit(jetzt).Monat, 10);
              let monat_gerade = zeit(jetzt).Monat_gerade;
              setState(idMonthNameShort, monthNameShort[mon_vergangen-1], true); 
              setState(idMonthNameLong, monthNameLong[mon_vergangen-1], true);
              setState(idMonthNumberCount, mon_vergangen, true);
              setState(idMonthNumberEven, monat_gerade, true);
              // Monat im Jahr
              setState(idMonthYearPastCount, mon_vergangen, true);
              setState(idMonthYearPastShare, parseFloat((mon_vergangen * 100 / 12).toFixed(dezimals)), true);
              setState(idMonthYearFutureCount, 12 - mon_vergangen, true);
              setState(idMonthYearFutureShare, parseFloat(((12-mon_vergangen) * 100 / 12).toFixed(dezimals)), true);
          
              // ### Woche
              // setState("Kalender.Datuminfo.de.Woche.Jahr.Anzahl", {val: 52, ack: true});
              let kw = ermittleKW(jetzt).kalenderwocheInt;
              let silvester = new Date(zeit(jetzt).Jahr, 11, 31, 23, 59, 59, 0); // 31.12.JAHR 23:59:59:0000 Uhr aktuelles Jahr Silvester
              let lastkw = ermittleKW(silvester).kalenderwocheInt;
              if (logging) log("KW an Silvester: " + lastkw);
              setState(idWeekYearNumberCount, kw, true);
              setState(idWeekYearNumberEven, ermittleKW(jetzt).even, true);
          
              // Woche im Jahr
              setState(idWeekYearPastCount, kw, true);
              setState(idWeekYearPastShare, parseFloat(((kw * 100) / 52).toFixed(dezimals)), true);
              let x_kw = (lastkw != 1 ? lastkw : 52); // 52 oder 53 ----- einfach Wert zum weiteren Rechnen
              let futurekw = x_kw - kw; // wenn letzte KW des Jahres 1 ist, dann von 52 abziehen (können auch mal 53KW sein)
              setState(idWeekYearFutureCount, futurekw, true); 
              setState(idWeekYearFutureShare, parseFloat(((x_kw - kw) * 100 / x_kw).toFixed(dezimals)), true);
          
              // ### Tag
              // Tag in Woche
              let wochentag = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7; Mo = 1, ..., So = 7
              setState(idDayWeekNameLong, dayWeekNameLong[wochentag], true);
              setState(idDayWeekNameShort, dayWeekNameShort[wochentag], true);
              if (logging) log("Wochentag:" + wochentag);
              setState(idDayWeekNumber, wochentag, true);
              setState(idDayWeekPastCount, wochentag, true);
              setState(idDayWeekPastShare, parseFloat((wochentag * 100 / 7).toFixed(dezimals)), true);
              setState(idDayWeekFutureCount, 7 - wochentag, true);
              setState(idDayWeekFutureShare, parseFloat(((7 - wochentag) * 100 / 7).toFixed(dezimals)), true);
              // Tag im Monat
              let schaltfeb = (sj) ? 29 : 28;
              let monatslaenge = [31,schaltfeb,31,30,31,30,31,31,30,31,30,31];
              let tage_im_monat = parseInt(monatslaenge[mon_vergangen-1],10);
              setState(idDayMonthCount, tage_im_monat, true);
              let tage_im_monat_vergangen = zeit(jetzt).Tag;
              setState(idDayMonthPastCount, tage_im_monat_vergangen, true);
              setState(idDayMonthPastShare, parseFloat(((tage_im_monat_vergangen * 100) / tage_im_monat).toFixed(dezimals)), true);
              setState(idDayMonthFutureCount, tage_im_monat- tage_im_monat_vergangen, true);
              setState(idDayMonthFutureShare, parseFloat(((tage_im_monat - tage_im_monat_vergangen) * 100 / tage_im_monat).toFixed(dezimals)), true);
              setState(idDayMonthNumber, tage_im_monat_vergangen, true);
              let tage_im_monat_vergangen_gerade = (tage_im_monat_vergangen % 2 === 0) ? true : false;
              setState(idDayMonthEven, tage_im_monat_vergangen_gerade, true);
              // Tag im Jahr
              let tage_im_jahr_vergangen = ermittleTagDesJahres(jetzt);
              setState(idDayYearNumber, tage_im_jahr_vergangen, true);
              let tage_im_jahr_vergangen_gerade = (tage_im_jahr_vergangen % 2 === 0) ? true : false;
              setState(idDayYearEven, tage_im_jahr_vergangen_gerade, true);
              let tage_im_jahr = (sj) ? 366 : 365;
              setState(idDayYearCount, tage_im_jahr, true);
              setState(idDayYearPastCount, tage_im_jahr_vergangen, true);
              setState(idDayYearPastShare, parseFloat((tage_im_jahr_vergangen * 100 / tage_im_jahr).toFixed(dezimals)), true);
              setState(idDayYearFutureCount, tage_im_jahr - tage_im_jahr_vergangen, true);
              setState(idDayYearFutureShare, parseFloat(((tage_im_jahr - tage_im_jahr_vergangen) * 100 / tage_im_jahr).toFixed(dezimals)), true);
          
              // heute Feiertag
              let name_des_tages = "";
              let istFeiertag = false;
              if (feiertag) {
                  name_des_tages = getState(idHolidayTodayName).val;
                  istFeiertag = getState(idHolidayToday).val;
              }
              setState(idDayName, name_des_tages, true);
              setState(idDayHoliday, istFeiertag, true);
          
              // ### Ausgabe + Allgemein
              // D.M.YY
              let jj = jjjj - 2000;
              setState(idDateVeryShort, tage_im_monat_vergangen + "." + mon_vergangen + "." + jj, true);
              // DD.MM.YYYY
              let dd = (tage_im_monat_vergangen < 10) ? "0" + tage_im_monat_vergangen : tage_im_monat_vergangen;
              let mm = (mon_vergangen < 10) ? "0" + mon_vergangen : mon_vergangen;
              setState(idDateShort, dd + "." + mm + "." + jjjj, true);
              // D. Monat JJJJ
              setState(idDateMonthText, tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
              // Wochentag, DD. Monat JJJJ
              setState(idDateDayMonthText, dayWeekNameLong[wochentag] + ", " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
              // Wochentag, der DD. Monat JJJJ
              setState(idDateDayMonthArtikelText, dayWeekNameLong[wochentag] + ", der " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
              log("Kalenderinformation zum heutigen Datum angelegt", "debug");
          }   
          setTimeout(leseDatum, 2500);
          schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups
          

          Hier die Widgets (beziehen sich auch auf die Javascript Instanz 0

          [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.Kalender_Zeit.Zeit_Datum_Script_für_Widget","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"2px","top":"427px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"207px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"730px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"<div style=\"float: left; width: 62%;\">\n <p style='margin: 0; padding: 10px 7px 7px 7px; '>Datum</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%; \">{javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}</p>\n</div>\n<div style=\"float: left; width: 12%;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Schaltjahr</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}</p>\n</div>\n<div style=\"float: left; width: 10%; \">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Quartal</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Quartal.Nummer}<span style=\"font-size: 40%\"> / 4</span></p>\n</div>\n<div style=\"float: left; width: 10%; overflow: hidden;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">KW</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer}<span style=\"font-size: 40%\"> / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}</span></p>\n</div>","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"111px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"729px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"23px","top":"244px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"483px","top":"385px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"485px","top":"271px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"25px","top":"386px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"24px","top":"272px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"25px","top":"218px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"21px","top":"358px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"23px","top":"332px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"23px","top":"57px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"}]
          

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

          F efxzE 2 Antworten Letzte Antwort
          1
          • S Offline
            S Offline
            Schweiz
            schrieb am zuletzt editiert von
            #7

            Hi Pix,

            leider bekomme ich bei deinem Script den fehler
            > [error] javascript.0 script.js.common.DatumZeiten.JahresMonatFortschritt compile failed: at script.js.common.DatumZeiten.JahresMonatFortschritt:24
            das :24 bedeutet auf zeile 24? Kenne mich noch nicht so aus bei der fehlersuche :D

            Grüsse Schweiz

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Schweiz
              schrieb am zuletzt editiert von
              #8

              @Schweiz:

              das :24 bedeutet auf zeile 24? Kenne mich noch nicht so aus bei der fehlersuche :D `

              hätte ich ir ja auch selbst beantworten können in dem ich einfach mal die Zeile // auskommentiere…

              habe die Zeile geändert und jetzt geht es, warum auch immer da ein fehler sein soll im fC

              jetzt muss ich nur die Variablen finden... :D

              Grüsse Schweiz

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                Conquest
                schrieb am zuletzt editiert von
                #9

                Hallo, ich würde auch gerne das Script nutzen. Leider wurde es durch den Umzug des Forums beschädigt. Kann es jemand nochmal hochladen? Wäre super.

                Gruß
                Torsten

                sigi234S 1 Antwort Letzte Antwort
                0
                • C Conquest

                  Hallo, ich würde auch gerne das Script nutzen. Leider wurde es durch den Umzug des Forums beschädigt. Kann es jemand nochmal hochladen? Wäre super.

                  Gruß
                  Torsten

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @Conquest sagte in Gibt es einen Zeit/Datums-Adapter oder Script?:

                  Hallo, ich würde auch gerne das Script nutzen. Leider wurde es durch den Umzug des Forums beschädigt. Kann es jemand nochmal hochladen? Wäre super.

                  Gruß
                  Torsten

                  Skript_Datumsinfo.txt

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  C 1 Antwort Letzte Antwort
                  1
                  • sigi234S sigi234

                    @Conquest sagte in Gibt es einen Zeit/Datums-Adapter oder Script?:

                    Hallo, ich würde auch gerne das Script nutzen. Leider wurde es durch den Umzug des Forums beschädigt. Kann es jemand nochmal hochladen? Wäre super.

                    Gruß
                    Torsten

                    Skript_Datumsinfo.txt

                    C Offline
                    C Offline
                    Conquest
                    schrieb am zuletzt editiert von
                    #11

                    @sigi234 sagte in Gibt es einen Zeit/Datums-Adapter oder Script?:

                    @Conquest sagte in Gibt es einen Zeit/Datums-Adapter oder Script?:

                    Hallo, ich würde auch gerne das Script nutzen. Leider wurde es durch den Umzug des Forums beschädigt. Kann es jemand nochmal hochladen? Wäre super.

                    Gruß
                    Torsten

                    Skript_Datumsinfo.txt

                    Super läuft. Vielen Dank.

                    1 Antwort Letzte Antwort
                    0
                    • BostilB Offline
                      BostilB Offline
                      Bostil
                      schrieb am zuletzt editiert von Bostil
                      #12

                      Das Script ist genial, allerdings erhalte ich mittlerweile folgende Fehlermeldung:

                      08:10:52.366 error javascript.0 (28205) at Object.leseDatum (script.js.common.Datuminfo:622:5)

                      Hat jemand eine Idee, was in Zeile 622 hier schief läuft ? Im Log erhalte ich auch etliche Warnungen. Objekte sind alle brav angelegt, aber viele aktualisieren sich nicht mehr. Danke euch!

                      Script sieht bei mir folgendermaßen aus:

                      /* System Datuminfo
                      
                      Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
                      
                      KW1 = 1. Donnerstag im Jahr
                      1. Wochentag ist Montag
                      Feiertage aus Adapter iobroker.feiertage
                      
                      25.02.2016 erstellt von pix
                      28.04.2016 Prüft ob KW gerade oder ungerade
                                 Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
                      28.05.2016 parseFloat bei toFixed-Werten zugefügt (nach Variablen Typ Warnung)
                                 Variablen Typ einiger Objekte geändert
                      30.09.2018 Optimierung im Code
                      
                      todo Adapter:
                      Grundunterscheidung im Objektbaum: Deutsch (de)/Englisch (en)
                      Jahreszeiten
                      
                      Beispieldatum Donnerstag, 28. Apil 2016
                      */
                      
                      const path = "javascript." + instance + ".Kalender.Datuminfo.de"; // Pfad zu Objekten im javascript-Adapter
                      const fC = false; // Objekte neu erstellen?
                      
                      
                      const dezimals = 1; // Dezimalstellen Anteilausgabe
                      
                      const monthNameLong =    ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];
                      const monthNameShort =   ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
                      const dayWeekNameLong =  ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]; // So 1 und 7
                      const dayWeekNameShort = ["So","Mo","Di","Mi","Don","Fr","Sa","So"];
                      
                      // ++++++++++ Objekte
                      // Adapter feiertage installiert?
                      const feiertag = true; // Schalter Feiertag-Adapter nutzen oder nicht
                      const idHolidayToday = "feiertage.0.heute.boolean"/*Feiertag heute?*/;
                      const idHolidayTodayName = "feiertage.0.heute.Name"/*Feiertag heute - Name*/;
                      
                      
                      // AB HIER NIX MEHR EINSTELLEN
                      // Jahr
                      /*
                      Jahr
                      datuminfo.0.de.jahr.nummer (2020)
                      datuminfo.0.de.jahr.schaltjahr (true)
                      */
                      const idYear = path + ".Jahr.Zahl";
                      const idYearLeap = path + ".Jahr.Schaltjahr";
                      createState(idYear, 0, fC, {
                          name: "Kalender - Jahreszahl",
                          type: "number",
                          role: "value"
                      });
                      createState(idYearLeap, false, fC, {
                          name: "Kalender - Schaltjahr",
                          type: "boolean",
                          role: "indicator"
                      });
                      
                      // Quartal
                      const idQuart = path + ".Quartal.Nummer";
                      const idQuartEven = path + ".Quartal.gerade";
                      const idQuartPastCount = path + ".Quartal.Vergangenheit.Anzahl";
                      const idQuartPastShare = path + ".Quartal.Vergangenheit.Anteil";
                      const idQuartFutureCount = path + ".Quartal.Zukunft.Anzahl";
                      const idQuartFutureShare = path + ".Quartal.Zukunft.Anteil";
                      
                      createState(idQuart, 1, fC, {
                          name: "Kalender - Quartal - Nummer",
                          type: "number",
                          min: 1,
                          max: 4,
                          role: "level"
                      });
                      createState(idQuartEven, {
                          name: "Kalender - Quartal - gerade",
                          type: "boolean",
                          role: "indicator"
                      });
                      createState(idQuartPastCount, 0, fC, {
                          name: "Kalender - Quartal - Anzahl vergangene Quartale im Jahr",
                          type: "number",
                          min: 0,
                          max: 3,
                          role: "level"
                      });
                      createState(idQuartPastShare, 0, fC, {
                          name: "Kalender - Quartal - Anteil vergangene Quartale im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      createState(idQuartFutureCount, 0, fC, {
                          name: "Kalender - Quartal - Anzahl kommender Quartale im Jahr",
                          type: "number",
                          min: 0,
                          max: 3,
                          role: "level"
                      });
                      createState(idQuartFutureShare, 0, fC, {
                          name: "Kalender - Quartal - Anteil kommender Quartale im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      
                      /*
                      Monat
                      datuminfo.0.de.monat.name.lang (April)
                      datuminfo.0.de.monat.name.kurz (April)
                      datuminfo.0.de.monat.nummer.deutsch.nummer (4)
                      datuminfo.0.de.monat.nummer.deutsch.gerade (true)
                      datuminfo.0.de.monat.nummer.deutsch.ungerade (false)
                      datuminfo.0.de.monat.nummer.system.nummer (5)
                      datuminfo.0.de.monat.nummer.system.gerade (false)
                      datuminfo.0.de.monat.nummer.system.ungerade (true)
                      
                      datuminfo.0.de.monat.jahr.nummer (4) // deutsch
                      datuminfo.0.de.monat.jahr.anzahl (12)
                      datuminfo.0.de.monat.jahr.vergangenheit.anzahl (4)
                      datuminfo.0.de.monat.jahr.vergangenheit.Anteil (4 von 12) (4*100)/12
                      datuminfo.0.de.monat.jahr.zukunft.anzahl (8)
                      datuminfo.0.de.monat.jahr.zukunft.Anteil (8 von 12) (8*100)/12
                      */
                      const idMonthNameShort = path + ".Monat.Name.kurz";
                      const idMonthNameLong = path + ".Monat.Name.lang";
                      const idMonthNumberCount = path + ".Monat.Nummer.Nummer";
                      const idMonthNumberEven = path + ".Monat.Nummer.gerade";
                      const idMonthYearCount = path + ".Monat.Jahr.Anzahl"; // steht fest
                      const idMonthYearPastCount = path + ".Monat.Jahr.Vergangenheit.Anzahl";
                      const idMonthYearPastShare = path + ".Monat.Jahr.Vergangenheit.Anteil";
                      const idMonthYearFutureCount = path + ".Monat.Jahr.Zukunft.Anzahl";
                      const idMonthYearFutureShare = path + ".Monat.Jahr.Zukunft.Anteil";
                      
                      createState(idMonthNameShort, "", fC, {
                          name: "Kalender - Monat - kurze Name",
                          type: "string",
                          role: "text"
                      });
                      createState(idMonthNameLong, "", fC, {
                          name: "Kalender - Monat - langer Name",
                          type: "string",
                          role: "text"
                      });
                      createState(idMonthNumberCount, 1, fC, {
                          name: "Kalender - Monat - Nummer",
                          desc: "Januar = 1, ..., Monat Dezember = 12",
                          type: "number",
                          min: 1,
                          max: 12,
                          role: "level"
                      });
                      createState(idMonthNumberEven, false, fC, {
                          name: "Kalender - Monat - Nummer - gerade",
                          type: "boolean",
                          role: "indicator"
                      });
                      createState(idMonthYearCount, 12, fC, {
                          name: "Kalender - Monate - Anzahl im Jahr",
                          type: "number",
                          role: "val",
                          min: 12,
                          max: 12
                      });
                      createState(idMonthYearPastCount, 0, fC, {
                          name: "Kalender - Monate - Anzahl vergangene Monate im Jahr",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 11
                      });
                      createState(idMonthYearPastShare, Math.round(1/12), fC, {
                          name: "Kalender - Monate - Anteil vergangene Monate im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      createState(idMonthYearFutureCount, 0, fC, {
                          name: "Kalender - Monate - Anzahl kommender Monate im Jahr",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 11
                      });
                      createState(idMonthYearFutureShare, Math.round(11/12), fC, {
                          name: "Kalender - Monate - Anteil kommender Monate im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      
                      /*
                      Woche
                      datuminfo.0.de.woche.gesamt (52)
                      datuminfo.0.de.woche.vergangenheit.anzahl (17)
                      datuminfo.0.de.woche.vergangenheit.Anteil (17 von 52) 17*100/52
                      datuminfo.0.de.woche.zukunft.anzahl (35)
                      datuminfo.0.de.woche.zukunft.Anteil (35 von 52)       35*100/52
                      datuminfo.0.de.woche.nummer (17)
                      datuminfo.0.de.woche.gerade (true)
                      datuminfo.0.de.woche.ungerade (false)
                      */
                      const idWeekYearCount = path + ".Woche.Jahr.Anzahl"; // steht fest
                      const idWeekYearNumberCount = path + ".Woche.Jahr.Kalenderwoche.Nummer";
                      const idWeekYearNumberEven = path + ".Woche.Jahr.Kalenderwoche.gerade";
                      const idWeekYearPastCount = path + ".Woche.Jahr.Vergangenheit.Anzahl";
                      const idWeekYearPastShare = path + ".Woche.Jahr.Vergangenheit.Anteil";
                      const idWeekYearFutureCount = path + ".Woche.Jahr.Zukunft.Anzahl";
                      const idWeekYearFutureShare = path + ".Woche.Jahr.Zukunft.Anteil";
                      
                      createState(idWeekYearCount, 52, fC, {
                          name: "Kalender - Wochen im Jahr - Anzahl",
                          type: "number",
                          role: "level"
                      });
                      createState(idWeekYearPastCount, 0, fC, {
                          name: "Kalender - Wochen - Anzahl vergangene Wochen im Jahr",
                          type: "number",
                          min: 0,
                          max: 52,
                          role: "level"
                      });
                      createState(idWeekYearPastShare, 0, fC, {
                          name: "Kalender - Wochen - Anteil vergangene Wochen im Jahr",
                          type: "number",
                          unit: "%",
                          min: 0,
                          max: 100,
                          role: "level"
                      });
                      createState(idWeekYearFutureCount, 0, fC, {
                          name: "Kalender - Wochen - Anzahl kommender Wochen im Jahr",
                          type: "number",
                          min: 0,
                          max: 52,
                          role: "level"
                      });
                      createState(idWeekYearFutureShare, 0, fC, {
                          name: "Kalender - Wochen - Anteil kommender Wochen im Jahr",
                          type: "number",
                          unit: "%",
                          min: 0,
                          max: 100,
                          role: "level"
                      });
                      createState(idWeekYearNumberCount, 0, fC, {
                          name: "Kalender - Wochen - Kalenderwoche",
                          type: "number",
                          min: 0,
                          max: 53,
                          unit: "KW",
                          role: "level"
                      });
                      createState(idWeekYearNumberEven, false, fC, {
                          name: "Kalender - Wochen - Kalenderwoche gerade",
                          type: "boolean",
                          role: "indicator"
                      });
                      
                      /*
                      Tag
                      datuminfo.0.de.tag.woche.name.lang (Donnerstag)
                      datuminfo.0.de.tag.woche.name.kurz (Do)
                      datuminfo.0.de.tag.woche.nummer.deutsch (4)
                      datuminfo.0.de.tag.woche.nummer.system (4)
                      datuminfo.0.de.tag.woche.vergangenheit.anzahl (4) // deutsches system ab Montag
                      datuminfo.0.de.tag.woche.vergangenheit.Anteil (4 von 7)  4*100/7
                      datuminfo.0.de.tag.woche.zukunft.anzahl (3)
                      datuminfo.0.de.tag.woche.zukunft.Anteil (3 von 7)        3*100/7
                      
                      datuminfo.0.de.tag.monat.gesamt (30) // tage im monat
                      datuminfo.0.de.tag.monat.vergangenheit.anzahl (28) // seit monats beginn
                      datuminfo.0.de.tag.monat.vergangenheit.Anteil (28 von 30)   28*100/30
                      datuminfo.0.de.tag.monat.zukunft.anzahl (2)        // bis monatsende
                      datuminfo.0.de.tag.monat.zukunft.Anteil (2 von 30)          2*100/30
                      datuminfo.0.de.tag.monat.nummer (28)
                      datuminfo.0.de.tag.monat.gerade (true)
                      datuminfo.0.de.tag.monat.ungerade (false)
                      
                      datuminfo.0.de.tag.jahr.nummer (119)
                      datuminfo.0.de.tag.jahr.gerade (true)
                      datuminfo.0.de.tag.jahr.ungerade (false)
                      datuminfo.0.de.tag.jahr.gesamt (366)
                      datuminfo.0.de.tag.jahr.vergangenheit.anzahl (119)           // seit jahresbeginn
                      datuminfo.0.de.tag.jahr.vergangenheit.Anteil (119 von 366) 119*100/366
                      datuminfo.0.de.tag.jahr.zukunft.anzahl (247)                // bis jahresende
                      datuminfo.0.de.tag.jahr.zukunft.Anteil (247 von 366)       247*100/366
                      */
                      const idDayName = path + ".Tag.Name";
                      const idDayHoliday = path + ".Tag.Feiertag";
                      createState(idDayName, "", fC, {
                          name: "Kalender - Name des Tages",
                          type: "string",
                          role: "text"
                      }); 
                      createState(idDayHoliday, false, fC, {
                          name: "Kalender - heute Feiertag?",
                          type: "boolean",
                          role: "indicator"
                      });
                      
                      const idDayWeekNameLong = path + ".Tag.Woche.Name.lang";
                      const idDayWeekNameShort = path + ".Tag.Woche.Name.kurz";
                      const idDayWeekNumber = path + ".Tag.Woche.Nummer";
                      const idDayWeekPastCount = path + ".Tag.Woche.Vergangenheit.Anzahl";
                      const idDayWeekPastShare = path + ".Tag.Woche.Vergangenheit.Anteil";
                      const idDayWeekFutureCount = path + ".Tag.Woche.Zukunft.Anzahl";
                      const idDayWeekFutureShare = path + ".Tag.Woche.Zukunft.Anteil";
                      
                      createState(idDayWeekNameLong, "", fC, {
                          name: "Kalender - Tag der Woche - langer Name",
                          type: "string",
                          role: "dayofweek"
                      });
                      createState(idDayWeekNameShort, "", fC, {
                          name: "Kalender - Tag der Woche - kurzer Name",
                          type: "string",
                          role: "dayofweek"
                      });
                      createState(idDayWeekNumber, 1, fC, {
                          name: "Kalender - Tag der Woche - Nummer",
                          desc: "Mo = 1, ..., Sa = 6, So = 7",
                          type: "number",
                          role: "level",
                          min: 1,
                          max: 7
                      });
                      createState(idDayWeekPastCount, 0, fC, {
                          name: "Kalender - Tag der Woche - Anzahl vergangene Tage in der Woche",
                          type: "number",
                          min: 0,
                          max: 6,
                          role: "value"
                      });
                      createState(idDayWeekPastShare, 0, fC, {
                          name: "Kalender - Tag der Woche - Anteil vergangene Tage in der Woche",
                          type: "number",
                          unit: "%",
                          min: 0,
                          max: 100,
                          role: "level"
                      });
                      createState(idDayWeekFutureCount, 0, fC, {
                          name: "Kalender - Tag der Woche - Anzahl kommender Tage in der Woche",
                          type: "number",
                          min: 0,
                          max: 6,
                          role: "value"
                      });
                      createState(idDayWeekFutureShare, 0, fC, {
                          name: "Kalender - Tag der Woche - Anteil kommender Tage in der Woche",
                          type: "number",
                          unit: "%",
                          min: 0,
                          max: 100,
                          role: "level"
                      });
                      
                      const idDayMonthCount = path + ".Tag.Monat.Anzahl";
                      const idDayMonthPastCount = path + ".Tag.Monat.Vergangenheit.Anzahl";
                      const idDayMonthPastShare = path + ".Tag.Monat.Vergangenheit.Anteil";
                      const idDayMonthFutureCount = path + ".Tag.Monat.Zukunft.Anzahl";
                      const idDayMonthFutureShare = path + ".Tag.Monat.Zukunft.Anteil";
                      const idDayMonthNumber = path + ".Tag.Monat.Nummer";
                      const idDayMonthEven = path + ".Tag.Monat.gerade";
                      
                      createState(idDayMonthCount, 0, fC, {
                          name: "Kalender - Tage im Monat - Anzahl Tage im Monat",
                          type: "number",
                          min: 28,
                          max: 31,
                          role: "level"
                      }); 
                      createState(idDayMonthPastCount, 0, fC, {
                          name: "Kalender - Tage im Monat - Anzahl vergangene Tage im Monat",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 31
                      });
                      createState(idDayMonthPastShare, 0, fC, {
                          name: "Kalender - Tage im Monat - Anteil vergangene Tage im Monat",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      createState(idDayMonthFutureCount, 0, fC, {
                          name: "Kalender - Tage im Monat - Anzahl kommender Tage im Monat",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 31
                      });
                      createState(idDayMonthFutureShare, 0, fC, {
                          name: "Kalender - Tage im Monat - Anteil kommender Tage im Monat",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      }); 
                      createState(idDayMonthNumber, 0, fC, {
                          name: "Kalender - Tage im Monat - Nummer",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 31
                      }); 
                      createState(idDayMonthEven, false, fC, {
                          name: "Kalender - Tage im Monat - Nummer gerade",
                          type: "boolean",
                          role: "indicator"
                      }); 
                      
                      const idDayYearPastCount = path + ".Tag.Jahr.Vergangenheit.Anzahl";
                      const idDayYearPastShare = path + ".Tag.Jahr.Vergangenheit.Anteil";
                      const idDayYearFutureCount = path + ".Tag.Jahr.Zukunft.Anzahl";
                      const idDayYearFutureShare = path + ".Tag.Jahr.Zukunft.Anteil";
                      const idDayYearNumber = path + ".Tag.Jahr.Nummer";
                      const idDayYearEven = path + ".Tag.Jahr.gerade";
                      const idDayYearCount = path + ".Tag.Jahr.Anzahl";
                      
                      createState(idDayYearPastCount, 0, fC, {
                          name: "Kalender - Tage im Jahr - Anzahl vergangene Tage im Jahr",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 366
                      });
                      createState(idDayYearPastShare, 0, fC, {
                          name: "Kalender - Tage im Jahr - Anteil vergangene Tage im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      });
                      createState(idDayYearFutureCount, 0, fC, {
                          name: "Kalender - Tage im Jahr - Anzahl kommender Tage im Jahr",
                          type: "number",
                          role: "level",
                          min: 0,
                          max: 366
                      });
                      createState(idDayYearFutureShare, 0, fC, {
                          name: "Kalender - Tage im Jahr - Anteil kommender Tage im Jahr",
                          type: "number",
                          unit: "%",
                          role: "level",
                          min: 0,
                          max: 100
                      }); 
                      createState(idDayYearNumber, 1, fC, {
                          name: "Kalender - Tage im Jahr - Nummer",
                          type: "number",
                          role: "level",
                          min: 1,
                          max: 366
                      }); 
                      createState(idDayYearEven, false, fC, {
                          name: "Kalender - Tage im Jahr - Nummer gerade",
                          type: "boolean",
                          role: "indicator"
                      }); 
                      createState(idDayYearCount, 365, fC, {
                          name: "Kalender - Tage im Jahr - Anzahl",
                          desc: "Anzahl der Tage im Jahr ist abhängig vom Schaltjahr",
                          type: "number",
                          role: "level",
                          min: 365,
                          max: 366
                      }); 
                      
                      /*
                      Datum
                      datuminfo.0.de.datum.sehrkurz (28.4.16)
                      datuminfo.0.de.datum.kurz (28.04.2016)
                      datuminfo.0.de.datum.monattext (28. April 2016)
                      datuminfo.0.de.datum.tagmonattext (Donnerstag, 28. April 2016)
                      datuminfo.0.de.datum.tagdermonattext (Donnerstag, der 28. April 2016)
                      */
                      
                      const idDateVeryShort = path + ".Datum.sehrkurz";
                      const idDateShort = path + ".Datum.kurz";
                      const idDateMonthText = path + ".Datum.monattext";
                      const idDateDayMonthText = path + ".Datum.tagmonattext";
                      const idDateDayMonthArtikelText = path + ".Datum.tagdermonattext";
                      
                      createState(idDateVeryShort, "", fC, {
                          name: "Kalender - Datum als sehr kurzer Text",
                          desc: "DD.M.JJ",
                          type: "string",
                          role: "text"
                      }); 
                      createState(idDateShort, "", fC, {
                          name: "Kalender - Datum als kurzer Text",
                          desc: "DD.MM.JJJJ",
                          type: "string",
                          role: "text"
                      }); 
                      createState(idDateMonthText, "", fC, {
                          name: "Kalender - Datum als Text mit Monatsname",
                          desc: "DD. Monat JJJJ",
                          type: "string",
                          role: "text"
                      }); 
                      createState(idDateDayMonthText, "", fC, {
                          name: "Kalender - Datum als Text mit Wochentag und Monatsname",
                          desc: "Wochentag, DD. Monat JJJJ",
                          type: "string",
                          role: "text"
                      }); 
                      createState(idDateDayMonthArtikelText, "", fC, {
                          name: "Kalender - Datum als Text mit Wochentag, Artikel und Monatsname",
                          desc: "Wochentag, der DD. Monat JJJJ",
                          type: "string",
                          role: "text"
                      }); 
                      
                      // LOGIK ++++++++++++++++++
                      function zeit(time) {
                          // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
                          let jetzt = new Date(time);
                          let jahr       = jetzt.getFullYear();
                          let monat      = (jetzt.getMonth()+1 < 10) ? "0" + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                          let tag        = jetzt.getDate();
                          let tag_lang   = (jetzt.getDate() < 10) ? "0" + jetzt.getDate() : jetzt.getDate();
                          let wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
                          let stunde     = (jetzt.getHours() < 10) ? "0" + jetzt.getHours() : jetzt.getHours();
                          let minute     = (jetzt.getMinutes() < 10) ? "0" + jetzt.getMinutes() : jetzt.getMinutes();
                          let sekunde    = (jetzt.getSeconds() < 10) ? "0" + jetzt.getSeconds() : jetzt.getSeconds();
                          return {
                              "Jahr"         : jahr,
                              "Monat"        : monat,
                              "Monat_gerade" : (monat%2 === 0) ? true : false,
                              "Tag"          : tag,
                              "Tag_lang"     : tag_lang,
                              "Wochentag"    : wochentag,
                              "Stunde"       : stunde,
                              "Minute"       : minute,
                              "Sekunde"      : sekunde
                          };
                      }
                      
                      function ermittleQuartal(time) {
                          //let z = new Date (time);
                          let y = time.getMonth(); // Monat 0 - 11
                          let q = 0;
                          switch (y) {
                              case 0: // Jan
                              case 1:
                              case 2: 
                                  q = 1;
                                  break;
                              case 3: // Apr
                              case 4:
                              case 5: 
                                  q = 2;
                                  break;
                              case 6: // Jul
                              case 7:
                              case 8: 
                                  q = 3;
                                  break;
                              case 9: // Okt
                              case 10:
                              case 11: 
                                  q = 4;
                                  break;
                              default: 
                                  q = 0;
                                  break;
                          }
                          
                          return({
                              "count": q,
                              "even" : (q%2 === 0) ? true : false
                          });
                      }
                      
                      function ermittleTagDesJahres (time) {
                          var heutestart = new Date(time.setHours(0,0,0,0));
                          var Jahr = heutestart.getFullYear();
                          var neujahr = new Date(Jahr,0,1);
                          var difftage = (heutestart - neujahr) / (24*60*60*1000) + 1;
                          var tag = Math.ceil(difftage);
                          return(tag);
                      }
                      
                      function ermittleKW(time) { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
                          // Woche, die den ersten Donnerstag enthält https://de.wikipedia.org/wiki/Woche
                          var KWDatum = new Date(time);
                          var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
                          var KWJahr = DonnerstagDat.getFullYear();
                          var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
                          var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
                          var kalenderwoche = (parseInt(KW,10) < 10) ? "0" + KW : KW;
                          return({
                              "kalenderwocheStr" : kalenderwoche,   // ggf. führende 0
                              "kalenderwocheInt" : parseInt(KW,10), // Zahl
                              "even"             : (parseInt(KW,10)%2 === 0) ? true: false
                          });
                      }
                      
                      function leseDatum () {
                          let jetzt = new Date();
                          
                          // ### Jahr
                          let jjjj = zeit(jetzt).Jahr;
                          let sj = (jjjj % 4 === 0) ? true : false;
                          if (logging) {
                              log("Jahr: " + jjjj);
                              log("Schaltjahr: " + sj);
                          }
                          setState(idYearLeap, sj, true);
                          setState(idYear, jjjj, true);
                          
                          // ### Quartal
                          let quartal = ermittleQuartal(jetzt).count;
                          setState(idQuart, quartal, true);
                          setState(idQuartEven, ermittleQuartal(jetzt).even, true);
                          setState(idQuartPastCount, quartal, true);
                          setState(idQuartPastShare, parseFloat((quartal * 100 / 4).toFixed(dezimals)), true);
                          setState(idQuartFutureCount, 4 - quartal, true);
                          setState(idQuartFutureShare, parseFloat(((4-quartal) * 100 / 4).toFixed(dezimals)), true);
                          
                          // ### Monat
                          //setState("Kalender.Datuminfo.de.Monat.Jahr.Anzahl", {val: 12, ack: true}); // steht fest und wird oben angelegt
                          let mon_vergangen = parseInt(zeit(jetzt).Monat, 10);
                          let monat_gerade = zeit(jetzt).Monat_gerade;
                          setState(idMonthNameShort, monthNameShort[mon_vergangen-1], true); 
                          setState(idMonthNameLong, monthNameLong[mon_vergangen-1], true);
                          setState(idMonthNumberCount, mon_vergangen, true);
                          setState(idMonthNumberEven, monat_gerade, true);
                          // Monat im Jahr
                          setState(idMonthYearPastCount, mon_vergangen, true);
                          setState(idMonthYearPastShare, parseFloat((mon_vergangen * 100 / 12).toFixed(dezimals)), true);
                          setState(idMonthYearFutureCount, 12 - mon_vergangen, true);
                          setState(idMonthYearFutureShare, parseFloat(((12-mon_vergangen) * 100 / 12).toFixed(dezimals)), true);
                          
                          // ### Woche
                          // setState("Kalender.Datuminfo.de.Woche.Jahr.Anzahl", {val: 52, ack: true});
                          let kw = ermittleKW(jetzt).kalenderwocheInt;
                          let silvester = new Date(zeit(jetzt).Jahr, 11, 31, 23, 59, 59, 0); // 31.12.JAHR 23:59:59:0000 Uhr aktuelles Jahr Silvester
                          let lastkw = ermittleKW(silvester).kalenderwocheInt;
                          if (logging) log("KW an Silvester: " + lastkw);
                          setState(idWeekYearNumberCount, kw, true);
                          setState(idWeekYearNumberEven, ermittleKW(jetzt).even, true);
                          
                          // Woche im Jahr
                          setState(idWeekYearPastCount, kw, true);
                          setState(idWeekYearPastShare, parseFloat(((kw * 100) / 52).toFixed(dezimals)), true);
                          let x_kw = (lastkw != 1 ? lastkw : 52); // 52 oder 53 ----- einfach Wert zum weiteren Rechnen
                          let futurekw = x_kw - kw; // wenn letzte KW des Jahres 1 ist, dann von 52 abziehen (können auch mal 53KW sein)
                          setState(idWeekYearFutureCount, futurekw, true); 
                          setState(idWeekYearFutureShare, parseFloat(((x_kw - kw) * 100 / x_kw).toFixed(dezimals)), true);
                          
                          // ### Tag
                          // Tag in Woche
                          let wochentag = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7; Mo = 1, ..., So = 7
                          setState(idDayWeekNameLong, dayWeekNameLong[wochentag], true);
                          setState(idDayWeekNameShort, dayWeekNameShort[wochentag], true);
                          if (logging) log("Wochentag:" + wochentag);
                          setState(idDayWeekNumber, wochentag, true);
                          setState(idDayWeekPastCount, wochentag, true);
                          setState(idDayWeekPastShare, parseFloat((wochentag * 100 / 7).toFixed(dezimals)), true);
                          setState(idDayWeekFutureCount, 7 - wochentag, true);
                          setState(idDayWeekFutureShare, parseFloat(((7 - wochentag) * 100 / 7).toFixed(dezimals)), true);
                          // Tag im Monat
                          let schaltfeb = (sj) ? 29 : 28;
                          let monatslaenge = [31,schaltfeb,31,30,31,30,31,31,30,31,30,31];
                          let tage_im_monat = parseInt(monatslaenge[mon_vergangen-1],10);
                          setState(idDayMonthCount, tage_im_monat, true);
                          let tage_im_monat_vergangen = zeit(jetzt).Tag;
                          setState(idDayMonthPastCount, tage_im_monat_vergangen, true);
                          setState(idDayMonthPastShare, parseFloat(((tage_im_monat_vergangen * 100) / tage_im_monat).toFixed(dezimals)), true);
                          setState(idDayMonthFutureCount, tage_im_monat- tage_im_monat_vergangen, true);
                          setState(idDayMonthFutureShare, parseFloat(((tage_im_monat - tage_im_monat_vergangen) * 100 / tage_im_monat).toFixed(dezimals)), true);
                          setState(idDayMonthNumber, tage_im_monat_vergangen, true);
                          let tage_im_monat_vergangen_gerade = (tage_im_monat_vergangen % 2 === 0) ? true : false;
                          setState(idDayMonthEven, tage_im_monat_vergangen_gerade, true);
                          // Tag im Jahr
                          let tage_im_jahr_vergangen = ermittleTagDesJahres(jetzt);
                          setState(idDayYearNumber, tage_im_jahr_vergangen, true);
                          let tage_im_jahr_vergangen_gerade = (tage_im_jahr_vergangen % 2 === 0) ? true : false;
                          setState(idDayYearEven, tage_im_jahr_vergangen_gerade, true);
                          let tage_im_jahr = (sj) ? 366 : 365;
                          setState(idDayYearCount, tage_im_jahr, true);
                          setState(idDayYearPastCount, tage_im_jahr_vergangen, true);
                          setState(idDayYearPastShare, parseFloat((tage_im_jahr_vergangen * 100 / tage_im_jahr).toFixed(dezimals)), true);
                          setState(idDayYearFutureCount, tage_im_jahr - tage_im_jahr_vergangen, true);
                          setState(idDayYearFutureShare, parseFloat(((tage_im_jahr - tage_im_jahr_vergangen) * 100 / tage_im_jahr).toFixed(dezimals)), true);
                          
                          // heute Feiertag
                          let name_des_tages = "";
                          let istFeiertag = false;
                          if (feiertag) {
                              name_des_tages = getState(idHolidayTodayName).val;
                              istFeiertag = getState(idHolidayToday).val;
                          }
                          setState(idDayName, name_des_tages, true);
                          setState(idDayHoliday, istFeiertag, true);
                          
                          // ### Ausgabe + Allgemein
                          // D.M.YY
                          let jj = jjjj - 2000;
                          setState(idDateVeryShort, tage_im_monat_vergangen + "." + mon_vergangen + "." + jj, true);
                          // DD.MM.YYYY
                          let dd = (tage_im_monat_vergangen < 10) ? "0" + tage_im_monat_vergangen : tage_im_monat_vergangen;
                          let mm = (mon_vergangen < 10) ? "0" + mon_vergangen : mon_vergangen;
                          setState(idDateShort, dd + "." + mm + "." + jjjj, true);
                          // D. Monat JJJJ
                          setState(idDateMonthText, tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                          // Wochentag, DD. Monat JJJJ
                          setState(idDateDayMonthText, dayWeekNameLong[wochentag] + ", " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                          // Wochentag, der DD. Monat JJJJ
                          setState(idDateDayMonthArtikelText, dayWeekNameLong[wochentag] + ", der " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                      
                          log("Kalenderinformation zum heutigen Datum angelegt", "debug");
                      }   
                      
                      setTimeout(leseDatum, 2500);
                      schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups
                      
                      1 Antwort Letzte Antwort
                      0
                      • greatluisG Offline
                        greatluisG Offline
                        greatluis
                        schrieb am zuletzt editiert von
                        #13

                        Dir fehlt in Zeile 25 eine Deklaration der Variable logging, deswegen meckert das Script.
                        Die Variable dient zum ein und ausschalten des Log's

                        /* System Datuminfo
                        
                        Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
                        
                        KW1 = 1. Donnerstag im Jahr
                        1. Wochentag ist Montag
                        Feiertage aus Adapter iobroker.feiertage
                        
                        25.02.2016 erstellt von pix
                        28.04.2016 Prüft ob KW gerade oder ungerade
                                   Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
                        28.05.2016 parseFloat bei toFixed-Werten zugefügt (nach Variablen Typ Warnung)
                                   Variablen Typ einiger Objekte geändert
                        30.09.2018 Optimierung im Code
                        
                        todo Adapter:
                        Grundunterscheidung im Objektbaum: Deutsch (de)/Englisch (en)
                        Jahreszeiten
                        
                        Beispieldatum Donnerstag, 28. Apil 2016
                        */
                        
                        const path = "javascript." + instance + ".Kalender.Datuminfo.de"; // Pfad zu Objekten im javascript-Adapter
                        const fC = false; // Objekte neu erstellen?
                        const logging = true;
                        
                        1 Antwort Letzte Antwort
                        1
                        • P pix

                          Hallo,

                          das Widget ist das Bar-Widget (hoizontal).

                          Hier das Skript (läuft bei mir in der Javascript Instanz 0.

                          /* System Datuminfo
                          Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
                          KW1 = 1\. Donnerstag im Jahr
                          1\. Wochentag ist Montag
                          Feiertage aus Adapter iobroker.feiertage
                          25.02.2016 erstellt von pix
                          28.04.2016 Prüft ob KW gerade oder ungerade
                          Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
                          28.05.2016 parseFloat bei toFixed-Werten zugefügt (nach Variablen Typ Warnung)
                          Variablen Typ einiger Objekte geändert
                          30.09.2018 Optimierung im Code
                          todo Adapter:
                          Grundunterscheidung im Objektbaum: Deutsch (de)/Englisch (en)
                          Jahreszeiten
                          Beispieldatum Donnerstag, 28\. Apil 2016
                          */
                          const path = "javascript." + instance + ".Kalender.Datuminfo.de"; // Pfad zu Objekten im javascript-Adapter
                          const fC = false; // Objekte neu erstellen?
                          const logging = false;
                          const dezimals = 1; // Dezimalstellen Anteilausgabe
                          const monthNameLong =    ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];
                          const monthNameShort =   ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
                          const dayWeekNameLong =  ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]; // So 1 und 7
                          const dayWeekNameShort = ["So","Mo","Di","Mi","Don","Fr","Sa","So"];
                          // ++++++++++ Objekte
                          // Adapter feiertage installiert?
                          const feiertag = true; // Schalter Feiertag-Adapter nutzen oder nicht
                          const idHolidayToday = "feiertage.0.heute.boolean"/*Feiertag heute?*/;
                          const idHolidayTodayName = "feiertage.0.heute.Name"/*Feiertag heute - Name*/;
                          // AB HIER NIX MEHR EINSTELLEN
                          // Jahr
                          /*
                          Jahr
                          datuminfo.0.de.jahr.nummer (2016)
                          datuminfo.0.de.jahr.schaltjahr (true)
                          */
                          const idYear = path + ".Jahr.Zahl";
                          const idYearLeap = path + ".Jahr.Schaltjahr";
                          createState(idYear, 0, fC, {
                              name: "Kalender - Jahreszahl",
                              type: "number",
                              role: "value"
                          });
                          createState(idYearLeap, false, fC, {
                              name: "Kalender - Schaltjahr",
                              type: "boolean",
                              role: "indicator"
                          });
                          // Quartal
                          const idQuart = path + ".Quartal.Nummer";
                          const idQuartEven = path + ".Quartal.gerade";
                          const idQuartPastCount = path + ".Quartal.Vergangenheit.Anzahl";
                          const idQuartPastShare = path + ".Quartal.Vergangenheit.Anteil";
                          const idQuartFutureCount = path + ".Quartal.Zukunft.Anzahl";
                          const idQuartFutureShare = path + ".Quartal.Zukunft.Anteil";
                          createState(idQuart, 1, fC, {
                              name: "Kalender - Quartal - Nummer",
                              type: "number",
                              min: 1,
                              max: 4,
                              role: "level"
                          });
                          createState(idQuartEven, {
                              name: "Kalender - Quartal - gerade",
                              type: "boolean",
                              role: "indicator"
                          });
                          createState(idQuartPastCount, 0, fC, {
                              name: "Kalender - Quartal - Anzahl vergangene Quartale im Jahr",
                              type: "number",
                              min: 0,
                              max: 3,
                              role: "level"
                          });
                          createState(idQuartPastShare, 0, fC, {
                              name: "Kalender - Quartal - Anteil vergangene Quartale im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          createState(idQuartFutureCount, 0, fC, {
                              name: "Kalender - Quartal - Anzahl kommender Quartale im Jahr",
                              type: "number",
                              min: 0,
                              max: 3,
                              role: "level"
                          });
                          createState(idQuartFutureShare, 0, fC, {
                              name: "Kalender - Quartal - Anteil kommender Quartale im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          /*
                          Monat
                          datuminfo.0.de.monat.name.lang (April)
                          datuminfo.0.de.monat.name.kurz (April)
                          datuminfo.0.de.monat.nummer.deutsch.nummer (4)
                          datuminfo.0.de.monat.nummer.deutsch.gerade (true)
                          datuminfo.0.de.monat.nummer.deutsch.ungerade (false)
                          datuminfo.0.de.monat.nummer.system.nummer (5)
                          datuminfo.0.de.monat.nummer.system.gerade (false)
                          datuminfo.0.de.monat.nummer.system.ungerade (true)
                          datuminfo.0.de.monat.jahr.nummer (4) // deutsch
                          datuminfo.0.de.monat.jahr.anzahl (12)
                          datuminfo.0.de.monat.jahr.vergangenheit.anzahl (4)
                          datuminfo.0.de.monat.jahr.vergangenheit.Anteil (4 von 12) (4*100)/12
                          datuminfo.0.de.monat.jahr.zukunft.anzahl (8)
                          datuminfo.0.de.monat.jahr.zukunft.Anteil (8 von 12) (8*100)/12
                          */
                          const idMonthNameShort = path + ".Monat.Name.kurz";
                          const idMonthNameLong = path + ".Monat.Name.lang";
                          const idMonthNumberCount = path + ".Monat.Nummer.Nummer";
                          const idMonthNumberEven = path + ".Monat.Nummer.gerade";
                          const idMonthYearCount = path + ".Monat.Jahr.Anzahl"; // steht fest
                          const idMonthYearPastCount = path + ".Monat.Jahr.Vergangenheit.Anzahl";
                          const idMonthYearPastShare = path + ".Monat.Jahr.Vergangenheit.Anteil";
                          const idMonthYearFutureCount = path + ".Monat.Jahr.Zukunft.Anzahl";
                          const idMonthYearFutureShare = path + ".Monat.Jahr.Zukunft.Anteil";
                          createState(idMonthNameShort, "", fC, {
                              name: "Kalender - Monat - kurze Name",
                              type: "string",
                              role: "text"
                          });
                          createState(idMonthNameLong, "", fC, {
                              name: "Kalender - Monat - langer Name",
                              type: "string",
                              role: "text"
                          });
                          createState(idMonthNumberCount, 1, fC, {
                              name: "Kalender - Monat - Nummer",
                              desc: "Januar = 1, ..., Monat Dezember = 12",
                              type: "number",
                              min: 1,
                              max: 12,
                              role: "level"
                          });
                          createState(idMonthNumberEven, false, fC, {
                              name: "Kalender - Monat - Nummer - gerade",
                              type: "boolean",
                              role: "indicator"
                          });
                          createState(idMonthYearCount, 12, fC, {
                              name: "Kalender - Monate - Anzahl im Jahr",
                              type: "number",
                              role: "val",
                              min: 12,
                              max: 12
                          });
                          createState(idMonthYearPastCount, 0, fC, {
                              name: "Kalender - Monate - Anzahl vergangene Monate im Jahr",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 11
                          });
                          createState(idMonthYearPastShare, Math.round(1/12), fC, {
                              name: "Kalender - Monate - Anteil vergangene Monate im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          createState(idMonthYearFutureCount, 0, fC, {
                              name: "Kalender - Monate - Anzahl kommender Monate im Jahr",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 11
                          });
                          createState(idMonthYearFutureShare, Math.round(11/12), fC, {
                              name: "Kalender - Monate - Anteil kommender Monate im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          /*
                          Woche
                          datuminfo.0.de.woche.gesamt (52)
                          datuminfo.0.de.woche.vergangenheit.anzahl (17)
                          datuminfo.0.de.woche.vergangenheit.Anteil (17 von 52) 17*100/52
                          datuminfo.0.de.woche.zukunft.anzahl (35)
                          datuminfo.0.de.woche.zukunft.Anteil (35 von 52)       35*100/52
                          datuminfo.0.de.woche.nummer (17)
                          datuminfo.0.de.woche.gerade (true)
                          datuminfo.0.de.woche.ungerade (false)
                          */
                          const idWeekYearCount = path + ".Woche.Jahr.Anzahl"; // steht fest
                          const idWeekYearNumberCount = path + ".Woche.Jahr.Kalenderwoche.Nummer";
                          const idWeekYearNumberEven = path + ".Woche.Jahr.Kalenderwoche.gerade";
                          const idWeekYearPastCount = path + ".Woche.Jahr.Vergangenheit.Anzahl";
                          const idWeekYearPastShare = path + ".Woche.Jahr.Vergangenheit.Anteil";
                          const idWeekYearFutureCount = path + ".Woche.Jahr.Zukunft.Anzahl";
                          const idWeekYearFutureShare = path + ".Woche.Jahr.Zukunft.Anteil";
                          createState(idWeekYearCount, 52, fC, {
                              name: "Kalender - Wochen im Jahr - Anzahl",
                              type: "number",
                              role: "level"
                          });
                          createState(idWeekYearPastCount, 0, fC, {
                              name: "Kalender - Wochen - Anzahl vergangene Wochen im Jahr",
                              type: "number",
                              min: 0,
                              max: 52,
                              role: "level"
                          });
                          createState(idWeekYearPastShare, 0, fC, {
                              name: "Kalender - Wochen - Anteil vergangene Wochen im Jahr",
                              type: "number",
                              unit: "%",
                              min: 0,
                              max: 100,
                              role: "level"
                          });
                          createState(idWeekYearFutureCount, 0, fC, {
                              name: "Kalender - Wochen - Anzahl kommender Wochen im Jahr",
                              type: "number",
                              min: 0,
                              max: 52,
                              role: "level"
                          });
                          createState(idWeekYearFutureShare, 0, fC, {
                              name: "Kalender - Wochen - Anteil kommender Wochen im Jahr",
                              type: "number",
                              unit: "%",
                              min: 0,
                              max: 100,
                              role: "level"
                          });
                          createState(idWeekYearNumberCount, 0, fC, {
                              name: "Kalender - Wochen - Kalenderwoche",
                              type: "number",
                              min: 0,
                              max: 53,
                              unit: "KW",
                              role: "level"
                          });
                          createState(idWeekYearNumberEven, false, fC, {
                              name: "Kalender - Wochen - Kalenderwoche gerade",
                              type: "boolean",
                              role: "indicator"
                          });
                          /*
                          Tag
                          datuminfo.0.de.tag.woche.name.lang (Donnerstag)
                          datuminfo.0.de.tag.woche.name.kurz (Do)
                          datuminfo.0.de.tag.woche.nummer.deutsch (4)
                          datuminfo.0.de.tag.woche.nummer.system (4)
                          datuminfo.0.de.tag.woche.vergangenheit.anzahl (4) // deutsches system ab Montag
                          datuminfo.0.de.tag.woche.vergangenheit.Anteil (4 von 7)  4*100/7
                          datuminfo.0.de.tag.woche.zukunft.anzahl (3)
                          datuminfo.0.de.tag.woche.zukunft.Anteil (3 von 7)        3*100/7
                          datuminfo.0.de.tag.monat.gesamt (30) // tage im monat
                          datuminfo.0.de.tag.monat.vergangenheit.anzahl (28) // seit monats beginn
                          datuminfo.0.de.tag.monat.vergangenheit.Anteil (28 von 30)   28*100/30
                          datuminfo.0.de.tag.monat.zukunft.anzahl (2)        // bis monatsende
                          datuminfo.0.de.tag.monat.zukunft.Anteil (2 von 30)          2*100/30
                          datuminfo.0.de.tag.monat.nummer (28)
                          datuminfo.0.de.tag.monat.gerade (true)
                          datuminfo.0.de.tag.monat.ungerade (false)
                          datuminfo.0.de.tag.jahr.nummer (119)
                          datuminfo.0.de.tag.jahr.gerade (true)
                          datuminfo.0.de.tag.jahr.ungerade (false)
                          datuminfo.0.de.tag.jahr.gesamt (366)
                          datuminfo.0.de.tag.jahr.vergangenheit.anzahl (119)           // seit jahresbeginn
                          datuminfo.0.de.tag.jahr.vergangenheit.Anteil (119 von 366) 119*100/366
                          datuminfo.0.de.tag.jahr.zukunft.anzahl (247)                // bis jahresende
                          datuminfo.0.de.tag.jahr.zukunft.Anteil (247 von 366)       247*100/366
                          */
                          const idDayName = path + ".Tag.Name";
                          const idDayHoliday = path + ".Tag.Feiertag";
                          createState(idDayName, "", fC, {
                              name: "Kalender - Name des Tages",
                              type: "string",
                              role: "text"
                          }); 
                          createState(idDayHoliday, false, fC, {
                              name: "Kalender - heute Feiertag?",
                              type: "boolean",
                              role: "indicator"
                          });
                          const idDayWeekNameLong = path + ".Tag.Woche.Name.lang";
                          const idDayWeekNameShort = path + ".Tag.Woche.Name.kurz";
                          const idDayWeekNumber = path + ".Tag.Woche.Nummer";
                          const idDayWeekPastCount = path + ".Tag.Woche.Vergangenheit.Anzahl";
                          const idDayWeekPastShare = path + ".Tag.Woche.Vergangenheit.Anteil";
                          const idDayWeekFutureCount = path + ".Tag.Woche.Zukunft.Anzahl";
                          const idDayWeekFutureShare = path + ".Tag.Woche.Zukunft.Anteil";
                          createState(idDayWeekNameLong, "", fC, {
                              name: "Kalender - Tag der Woche - langer Name",
                              type: "string",
                              role: "dayofweek"
                          });
                          createState(idDayWeekNameShort, "", fC, {
                              name: "Kalender - Tag der Woche - kurzer Name",
                              type: "string",
                              role: "dayofweek"
                          });
                          createState(idDayWeekNumber, 1, fC, {
                              name: "Kalender - Tag der Woche - Nummer",
                              desc: "Mo = 1, ..., Sa = 6, So = 7",
                              type: "number",
                              role: "level",
                              min: 1,
                              max: 7
                          });
                          createState(idDayWeekPastCount, 0, fC, {
                              name: "Kalender - Tag der Woche - Anzahl vergangene Tage in der Woche",
                              type: "number",
                              min: 0,
                              max: 6,
                              role: "value"
                          });
                          createState(idDayWeekPastShare, 0, fC, {
                              name: "Kalender - Tag der Woche - Anteil vergangene Tage in der Woche",
                              type: "number",
                              unit: "%",
                              min: 0,
                              max: 100,
                              role: "level"
                          });
                          createState(idDayWeekFutureCount, 0, fC, {
                              name: "Kalender - Tag der Woche - Anzahl kommender Tage in der Woche",
                              type: "number",
                              min: 0,
                              max: 6,
                              role: "value"
                          });
                          createState(idDayWeekFutureShare, 0, fC, {
                              name: "Kalender - Tag der Woche - Anteil kommender Tage in der Woche",
                              type: "number",
                              unit: "%",
                              min: 0,
                              max: 100,
                              role: "level"
                          });
                          const idDayMonthCount = path + ".Tag.Monat.Anzahl";
                          const idDayMonthPastCount = path + ".Tag.Monat.Vergangenheit.Anzahl";
                          const idDayMonthPastShare = path + ".Tag.Monat.Vergangenheit.Anteil";
                          const idDayMonthFutureCount = path + ".Tag.Monat.Zukunft.Anzahl";
                          const idDayMonthFutureShare = path + ".Tag.Monat.Zukunft.Anteil";
                          const idDayMonthNumber = path + ".Tag.Monat.Nummer";
                          const idDayMonthEven = path + ".Tag.Monat.gerade";
                          createState(idDayMonthCount, 0, fC, {
                              name: "Kalender - Tage im Monat - Anzahl Tage im Monat",
                              type: "number",
                              min: 28,
                              max: 31,
                              role: "level"
                          }); 
                          createState(idDayMonthPastCount, 0, fC, {
                              name: "Kalender - Tage im Monat - Anzahl vergangene Tage im Monat",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 31
                          });
                          createState(idDayMonthPastShare, 0, fC, {
                              name: "Kalender - Tage im Monat - Anteil vergangene Tage im Monat",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          createState(idDayMonthFutureCount, 0, fC, {
                              name: "Kalender - Tage im Monat - Anzahl kommender Tage im Monat",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 31
                          });
                          createState(idDayMonthFutureShare, 0, fC, {
                              name: "Kalender - Tage im Monat - Anteil kommender Tage im Monat",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          }); 
                          createState(idDayMonthNumber, 0, fC, {
                              name: "Kalender - Tage im Monat - Nummer",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 31
                          }); 
                          createState(idDayMonthEven, false, fC, {
                              name: "Kalender - Tage im Monat - Nummer gerade",
                              type: "boolean",
                              role: "indicator"
                          }); 
                          const idDayYearPastCount = path + ".Tag.Jahr.Vergangenheit.Anzahl";
                          const idDayYearPastShare = path + ".Tag.Jahr.Vergangenheit.Anteil";
                          const idDayYearFutureCount = path + ".Tag.Jahr.Zukunft.Anzahl";
                          const idDayYearFutureShare = path + ".Tag.Jahr.Zukunft.Anteil";
                          const idDayYearNumber = path + ".Tag.Jahr.Nummer";
                          const idDayYearEven = path + ".Tag.Jahr.gerade";
                          const idDayYearCount = path + ".Tag.Jahr.Anzahl";
                          createState(idDayYearPastCount, 0, fC, {
                              name: "Kalender - Tage im Jahr - Anzahl vergangene Tage im Jahr",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 366
                          });
                          createState(idDayYearPastShare, 0, fC, {
                              name: "Kalender - Tage im Jahr - Anteil vergangene Tage im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          });
                          createState(idDayYearFutureCount, 0, fC, {
                              name: "Kalender - Tage im Jahr - Anzahl kommender Tage im Jahr",
                              type: "number",
                              role: "level",
                              min: 0,
                              max: 366
                          });
                          createState(idDayYearFutureShare, 0, fC, {
                              name: "Kalender - Tage im Jahr - Anteil kommender Tage im Jahr",
                              type: "number",
                              unit: "%",
                              role: "level",
                              min: 0,
                              max: 100
                          }); 
                          createState(idDayYearNumber, 1, fC, {
                              name: "Kalender - Tage im Jahr - Nummer",
                              type: "number",
                              role: "level",
                              min: 1,
                              max: 366
                          }); 
                          createState(idDayYearEven, false, fC, {
                              name: "Kalender - Tage im Jahr - Nummer gerade",
                              type: "boolean",
                              role: "indicator"
                          }); 
                          createState(idDayYearCount, 365, fC, {
                              name: "Kalender - Tage im Jahr - Anzahl",
                              desc: "Anzahl der Tage im Jahr ist abhängig vom Schaltjahr",
                              type: "number",
                              role: "level",
                              min: 365,
                              max: 366
                          }); 
                          /*
                          Datum
                          datuminfo.0.de.datum.sehrkurz (28.4.16)
                          datuminfo.0.de.datum.kurz (28.04.2016)
                          datuminfo.0.de.datum.monattext (28\. April 2016)
                          datuminfo.0.de.datum.tagmonattext (Donnerstag, 28\. April 2016)
                          datuminfo.0.de.datum.tagdermonattext (Donnerstag, der 28\. April 2016)
                          */
                          const idDateVeryShort = path + ".Datum.sehrkurz";
                          const idDateShort = path + ".Datum.kurz";
                          const idDateMonthText = path + ".Datum.monattext";
                          const idDateDayMonthText = path + ".Datum.tagmonattext";
                          const idDateDayMonthArtikelText = path + ".Datum.tagdermonattext";
                          createState(idDateVeryShort, "", fC, {
                              name: "Kalender - Datum als sehr kurzer Text",
                              desc: "DD.M.JJ",
                              type: "string",
                              role: "text"
                          }); 
                          createState(idDateShort, "", fC, {
                              name: "Kalender - Datum als kurzer Text",
                              desc: "DD.MM.JJJJ",
                              type: "string",
                              role: "text"
                          }); 
                          createState(idDateMonthText, "", fC, {
                              name: "Kalender - Datum als Text mit Monatsname",
                              desc: "DD. Monat JJJJ",
                              type: "string",
                              role: "text"
                          }); 
                          createState(idDateDayMonthText, "", fC, {
                              name: "Kalender - Datum als Text mit Wochentag und Monatsname",
                              desc: "Wochentag, DD. Monat JJJJ",
                              type: "string",
                              role: "text"
                          }); 
                          createState(idDateDayMonthArtikelText, "", fC, {
                              name: "Kalender - Datum als Text mit Wochentag, Artikel und Monatsname",
                              desc: "Wochentag, der DD. Monat JJJJ",
                              type: "string",
                              role: "text"
                          }); 
                          // LOGIK ++++++++++++++++++
                          function zeit(time) {
                              // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
                              let jetzt = new Date(time);
                              let jahr       = jetzt.getFullYear();
                              let monat      = (jetzt.getMonth()+1 < 10) ? "0" + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                              let tag        = jetzt.getDate();
                              let tag_lang   = (jetzt.getDate() < 10) ? "0" + jetzt.getDate() : jetzt.getDate();
                              let wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
                              let stunde     = (jetzt.getHours() < 10) ? "0" + jetzt.getHours() : jetzt.getHours();
                              let minute     = (jetzt.getMinutes() < 10) ? "0" + jetzt.getMinutes() : jetzt.getMinutes();
                              let sekunde    = (jetzt.getSeconds() < 10) ? "0" + jetzt.getSeconds() : jetzt.getSeconds();
                              return {
                                  "Jahr"         : jahr,
                                  "Monat"        : monat,
                                  "Monat_gerade" : (monat%2 === 0) ? true : false,
                                  "Tag"          : tag,
                                  "Tag_lang"     : tag_lang,
                                  "Wochentag"    : wochentag,
                                  "Stunde"       : stunde,
                                  "Minute"       : minute,
                                  "Sekunde"      : sekunde
                              };
                          }
                          function ermittleQuartal(time) {
                              //let z = new Date (time);
                              let y = time.getMonth(); // Monat 0 - 11
                              let q = 0;
                              switch (y) {
                                  case 0: // Jan
                                  case 1:
                                  case 2: 
                                      q = 1;
                                      break;
                                  case 3: // Apr
                                  case 4:
                                  case 5: 
                                      q = 2;
                                      break;
                                  case 6: // Jul
                                  case 7:
                                  case 8: 
                                      q = 3;
                                      break;
                                  case 9: // Okt
                                  case 10:
                                  case 11: 
                                      q = 4;
                                      break;
                                  default: 
                                      q = 0;
                                      break;
                              }
                          
                              return({
                                  "count": q,
                                  "even" : (q%2 === 0) ? true : false
                              });
                          }
                          function ermittleTagDesJahres (time) {
                              var heutestart = new Date(time.setHours(0,0,0,0));
                              var Jahr = heutestart.getFullYear();
                              var neujahr = new Date(Jahr,0,1);
                              var difftage = (heutestart - neujahr) / (24*60*60*1000) + 1;
                              var tag = Math.ceil(difftage);
                              return(tag);
                          }
                          function ermittleKW(time) { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
                              // Woche, die den ersten Donnerstag enthält https://de.wikipedia.org/wiki/Woche
                              var KWDatum = new Date(time);
                              var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
                              var KWJahr = DonnerstagDat.getFullYear();
                              var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
                              var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
                              var kalenderwoche = (parseInt(KW,10) < 10) ? "0" + KW : KW;
                              return({
                                  "kalenderwocheStr" : kalenderwoche,   // ggf. führende 0
                                  "kalenderwocheInt" : parseInt(KW,10), // Zahl
                                  "even"             : (parseInt(KW,10)%2 === 0) ? true: false
                              });
                          }
                          function leseDatum () {
                              let jetzt = new Date();
                          
                              // ### Jahr
                              let jjjj = zeit(jetzt).Jahr;
                              let sj = (jjjj % 4 === 0) ? true : false;
                              if (logging) {
                                  log("Jahr: " + jjjj);
                                  log("Schaltjahr: " + sj);
                              }
                              setState(idYearLeap, sj, true);
                              setState(idYear, jjjj, true);
                          
                              // ### Quartal
                              let quartal = ermittleQuartal(jetzt).count;
                              setState(idQuart, quartal, true);
                              setState(idQuartEven, ermittleQuartal(jetzt).even, true);
                              setState(idQuartPastCount, quartal, true);
                              setState(idQuartPastShare, parseFloat((quartal * 100 / 4).toFixed(dezimals)), true);
                              setState(idQuartFutureCount, 4 - quartal, true);
                              setState(idQuartFutureShare, parseFloat(((4-quartal) * 100 / 4).toFixed(dezimals)), true);
                          
                              // ### Monat
                              //setState("Kalender.Datuminfo.de.Monat.Jahr.Anzahl", {val: 12, ack: true}); // steht fest und wird oben angelegt
                              let mon_vergangen = parseInt(zeit(jetzt).Monat, 10);
                              let monat_gerade = zeit(jetzt).Monat_gerade;
                              setState(idMonthNameShort, monthNameShort[mon_vergangen-1], true); 
                              setState(idMonthNameLong, monthNameLong[mon_vergangen-1], true);
                              setState(idMonthNumberCount, mon_vergangen, true);
                              setState(idMonthNumberEven, monat_gerade, true);
                              // Monat im Jahr
                              setState(idMonthYearPastCount, mon_vergangen, true);
                              setState(idMonthYearPastShare, parseFloat((mon_vergangen * 100 / 12).toFixed(dezimals)), true);
                              setState(idMonthYearFutureCount, 12 - mon_vergangen, true);
                              setState(idMonthYearFutureShare, parseFloat(((12-mon_vergangen) * 100 / 12).toFixed(dezimals)), true);
                          
                              // ### Woche
                              // setState("Kalender.Datuminfo.de.Woche.Jahr.Anzahl", {val: 52, ack: true});
                              let kw = ermittleKW(jetzt).kalenderwocheInt;
                              let silvester = new Date(zeit(jetzt).Jahr, 11, 31, 23, 59, 59, 0); // 31.12.JAHR 23:59:59:0000 Uhr aktuelles Jahr Silvester
                              let lastkw = ermittleKW(silvester).kalenderwocheInt;
                              if (logging) log("KW an Silvester: " + lastkw);
                              setState(idWeekYearNumberCount, kw, true);
                              setState(idWeekYearNumberEven, ermittleKW(jetzt).even, true);
                          
                              // Woche im Jahr
                              setState(idWeekYearPastCount, kw, true);
                              setState(idWeekYearPastShare, parseFloat(((kw * 100) / 52).toFixed(dezimals)), true);
                              let x_kw = (lastkw != 1 ? lastkw : 52); // 52 oder 53 ----- einfach Wert zum weiteren Rechnen
                              let futurekw = x_kw - kw; // wenn letzte KW des Jahres 1 ist, dann von 52 abziehen (können auch mal 53KW sein)
                              setState(idWeekYearFutureCount, futurekw, true); 
                              setState(idWeekYearFutureShare, parseFloat(((x_kw - kw) * 100 / x_kw).toFixed(dezimals)), true);
                          
                              // ### Tag
                              // Tag in Woche
                              let wochentag = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7; Mo = 1, ..., So = 7
                              setState(idDayWeekNameLong, dayWeekNameLong[wochentag], true);
                              setState(idDayWeekNameShort, dayWeekNameShort[wochentag], true);
                              if (logging) log("Wochentag:" + wochentag);
                              setState(idDayWeekNumber, wochentag, true);
                              setState(idDayWeekPastCount, wochentag, true);
                              setState(idDayWeekPastShare, parseFloat((wochentag * 100 / 7).toFixed(dezimals)), true);
                              setState(idDayWeekFutureCount, 7 - wochentag, true);
                              setState(idDayWeekFutureShare, parseFloat(((7 - wochentag) * 100 / 7).toFixed(dezimals)), true);
                              // Tag im Monat
                              let schaltfeb = (sj) ? 29 : 28;
                              let monatslaenge = [31,schaltfeb,31,30,31,30,31,31,30,31,30,31];
                              let tage_im_monat = parseInt(monatslaenge[mon_vergangen-1],10);
                              setState(idDayMonthCount, tage_im_monat, true);
                              let tage_im_monat_vergangen = zeit(jetzt).Tag;
                              setState(idDayMonthPastCount, tage_im_monat_vergangen, true);
                              setState(idDayMonthPastShare, parseFloat(((tage_im_monat_vergangen * 100) / tage_im_monat).toFixed(dezimals)), true);
                              setState(idDayMonthFutureCount, tage_im_monat- tage_im_monat_vergangen, true);
                              setState(idDayMonthFutureShare, parseFloat(((tage_im_monat - tage_im_monat_vergangen) * 100 / tage_im_monat).toFixed(dezimals)), true);
                              setState(idDayMonthNumber, tage_im_monat_vergangen, true);
                              let tage_im_monat_vergangen_gerade = (tage_im_monat_vergangen % 2 === 0) ? true : false;
                              setState(idDayMonthEven, tage_im_monat_vergangen_gerade, true);
                              // Tag im Jahr
                              let tage_im_jahr_vergangen = ermittleTagDesJahres(jetzt);
                              setState(idDayYearNumber, tage_im_jahr_vergangen, true);
                              let tage_im_jahr_vergangen_gerade = (tage_im_jahr_vergangen % 2 === 0) ? true : false;
                              setState(idDayYearEven, tage_im_jahr_vergangen_gerade, true);
                              let tage_im_jahr = (sj) ? 366 : 365;
                              setState(idDayYearCount, tage_im_jahr, true);
                              setState(idDayYearPastCount, tage_im_jahr_vergangen, true);
                              setState(idDayYearPastShare, parseFloat((tage_im_jahr_vergangen * 100 / tage_im_jahr).toFixed(dezimals)), true);
                              setState(idDayYearFutureCount, tage_im_jahr - tage_im_jahr_vergangen, true);
                              setState(idDayYearFutureShare, parseFloat(((tage_im_jahr - tage_im_jahr_vergangen) * 100 / tage_im_jahr).toFixed(dezimals)), true);
                          
                              // heute Feiertag
                              let name_des_tages = "";
                              let istFeiertag = false;
                              if (feiertag) {
                                  name_des_tages = getState(idHolidayTodayName).val;
                                  istFeiertag = getState(idHolidayToday).val;
                              }
                              setState(idDayName, name_des_tages, true);
                              setState(idDayHoliday, istFeiertag, true);
                          
                              // ### Ausgabe + Allgemein
                              // D.M.YY
                              let jj = jjjj - 2000;
                              setState(idDateVeryShort, tage_im_monat_vergangen + "." + mon_vergangen + "." + jj, true);
                              // DD.MM.YYYY
                              let dd = (tage_im_monat_vergangen < 10) ? "0" + tage_im_monat_vergangen : tage_im_monat_vergangen;
                              let mm = (mon_vergangen < 10) ? "0" + mon_vergangen : mon_vergangen;
                              setState(idDateShort, dd + "." + mm + "." + jjjj, true);
                              // D. Monat JJJJ
                              setState(idDateMonthText, tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                              // Wochentag, DD. Monat JJJJ
                              setState(idDateDayMonthText, dayWeekNameLong[wochentag] + ", " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                              // Wochentag, der DD. Monat JJJJ
                              setState(idDateDayMonthArtikelText, dayWeekNameLong[wochentag] + ", der " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                              log("Kalenderinformation zum heutigen Datum angelegt", "debug");
                          }   
                          setTimeout(leseDatum, 2500);
                          schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups
                          

                          Hier die Widgets (beziehen sich auch auf die Javascript Instanz 0

                          [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.Kalender_Zeit.Zeit_Datum_Script_für_Widget","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"2px","top":"427px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"207px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"730px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"<div style=\"float: left; width: 62%;\">\n <p style='margin: 0; padding: 10px 7px 7px 7px; '>Datum</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%; \">{javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}</p>\n</div>\n<div style=\"float: left; width: 12%;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Schaltjahr</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}</p>\n</div>\n<div style=\"float: left; width: 10%; \">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Quartal</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Quartal.Nummer}<span style=\"font-size: 40%\"> / 4</span></p>\n</div>\n<div style=\"float: left; width: 10%; overflow: hidden;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">KW</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer}<span style=\"font-size: 40%\"> / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}</span></p>\n</div>","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"111px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"729px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"23px","top":"244px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"483px","top":"385px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"485px","top":"271px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"25px","top":"386px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"24px","top":"272px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"25px","top":"218px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"21px","top":"358px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"23px","top":"332px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"23px","top":"57px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"}]
                          
                          F Offline
                          F Offline
                          FabianHM
                          schrieb am zuletzt editiert von
                          #14

                          @pix
                          Hallo Pix, ich hatte das geniale Widget bereits früher in meinem VIS eingebaut. Nach Umzug auf neues System bekomme ich Dein Widget nicht mehr importiert. Das zugehörige Script habe ich exakt kopiert und es läuft. Beim Import des Widgets erhalte ich die Fehlermeldung:

                          Invaild JSON SytaxError: Unexpected token in JASON at position 12956.
                          

                          Kannst Du mir vielleicht einen aktuell lauffähigen Export von Script und Widget posten.
                          Vielen Dank im Voraus,
                          Grüße Fabian

                          1 Antwort Letzte Antwort
                          0
                          • F Offline
                            F Offline
                            FabianHM
                            schrieb am zuletzt editiert von FabianHM
                            #15

                            Hallo zusammen,

                            kann mir jemand sagen, ob ich den dazu oben aufgeführten Code komplett so in VIS einfügen kann, also unter "VIS\Widget\Importieren" den Code importieren, oder muss den aufteilen in Hauptansicht, Script und CSS Anteil?
                            Ich glaube ich habe da ein grundsätzliches Verständnisproblem in Sachen Widgets...?!

                            Danke und Grüße
                            Fabian
                            Der Code des Widgets lautet:

                                [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"875px","top":"74px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"89px","top":"21px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"89px","top":"208px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"551px","top":"235px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"91px","top":"182px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"87px","top":"322px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"549px","top":"349px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"89px","top":"296px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"\n
                                ! Datum
                                ! \n
                                ! {javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}
                                ! \n\n\n
                                ! Schaltjahr
                                ! \n
                                ! {javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}
                                ! \n\n\n
                                ! Quartal
                                ! \n
                                ! {javascript.0.Kalender.Datuminfo.de.Quartal.Nummer} / 4
                                ! \n\n\n
                                ! KW
                                ! \n
                                ! {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer} / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}
                                ! \n","label_true":"Optin
                                ! Daten einlesen aktiviert
                                ! Parsen von track'n'trace-Daten eingeschaltet","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"78px","top":"74px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"779px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin
                                ! Daten einlesen aktiviert
                                ! Parsen von track'n'trace-Daten eingeschaltet","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"78px","top":"171px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"779px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"90px","top":"236px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"91px","top":"350px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"}]
                            
                            
                            1 Antwort Letzte Antwort
                            0
                            • P pix

                              Hallo,

                              das Widget ist das Bar-Widget (hoizontal).

                              Hier das Skript (läuft bei mir in der Javascript Instanz 0.

                              /* System Datuminfo
                              Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
                              KW1 = 1\. Donnerstag im Jahr
                              1\. Wochentag ist Montag
                              Feiertage aus Adapter iobroker.feiertage
                              25.02.2016 erstellt von pix
                              28.04.2016 Prüft ob KW gerade oder ungerade
                              Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
                              28.05.2016 parseFloat bei toFixed-Werten zugefügt (nach Variablen Typ Warnung)
                              Variablen Typ einiger Objekte geändert
                              30.09.2018 Optimierung im Code
                              todo Adapter:
                              Grundunterscheidung im Objektbaum: Deutsch (de)/Englisch (en)
                              Jahreszeiten
                              Beispieldatum Donnerstag, 28\. Apil 2016
                              */
                              const path = "javascript." + instance + ".Kalender.Datuminfo.de"; // Pfad zu Objekten im javascript-Adapter
                              const fC = false; // Objekte neu erstellen?
                              const logging = false;
                              const dezimals = 1; // Dezimalstellen Anteilausgabe
                              const monthNameLong =    ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];
                              const monthNameShort =   ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
                              const dayWeekNameLong =  ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]; // So 1 und 7
                              const dayWeekNameShort = ["So","Mo","Di","Mi","Don","Fr","Sa","So"];
                              // ++++++++++ Objekte
                              // Adapter feiertage installiert?
                              const feiertag = true; // Schalter Feiertag-Adapter nutzen oder nicht
                              const idHolidayToday = "feiertage.0.heute.boolean"/*Feiertag heute?*/;
                              const idHolidayTodayName = "feiertage.0.heute.Name"/*Feiertag heute - Name*/;
                              // AB HIER NIX MEHR EINSTELLEN
                              // Jahr
                              /*
                              Jahr
                              datuminfo.0.de.jahr.nummer (2016)
                              datuminfo.0.de.jahr.schaltjahr (true)
                              */
                              const idYear = path + ".Jahr.Zahl";
                              const idYearLeap = path + ".Jahr.Schaltjahr";
                              createState(idYear, 0, fC, {
                                  name: "Kalender - Jahreszahl",
                                  type: "number",
                                  role: "value"
                              });
                              createState(idYearLeap, false, fC, {
                                  name: "Kalender - Schaltjahr",
                                  type: "boolean",
                                  role: "indicator"
                              });
                              // Quartal
                              const idQuart = path + ".Quartal.Nummer";
                              const idQuartEven = path + ".Quartal.gerade";
                              const idQuartPastCount = path + ".Quartal.Vergangenheit.Anzahl";
                              const idQuartPastShare = path + ".Quartal.Vergangenheit.Anteil";
                              const idQuartFutureCount = path + ".Quartal.Zukunft.Anzahl";
                              const idQuartFutureShare = path + ".Quartal.Zukunft.Anteil";
                              createState(idQuart, 1, fC, {
                                  name: "Kalender - Quartal - Nummer",
                                  type: "number",
                                  min: 1,
                                  max: 4,
                                  role: "level"
                              });
                              createState(idQuartEven, {
                                  name: "Kalender - Quartal - gerade",
                                  type: "boolean",
                                  role: "indicator"
                              });
                              createState(idQuartPastCount, 0, fC, {
                                  name: "Kalender - Quartal - Anzahl vergangene Quartale im Jahr",
                                  type: "number",
                                  min: 0,
                                  max: 3,
                                  role: "level"
                              });
                              createState(idQuartPastShare, 0, fC, {
                                  name: "Kalender - Quartal - Anteil vergangene Quartale im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              createState(idQuartFutureCount, 0, fC, {
                                  name: "Kalender - Quartal - Anzahl kommender Quartale im Jahr",
                                  type: "number",
                                  min: 0,
                                  max: 3,
                                  role: "level"
                              });
                              createState(idQuartFutureShare, 0, fC, {
                                  name: "Kalender - Quartal - Anteil kommender Quartale im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              /*
                              Monat
                              datuminfo.0.de.monat.name.lang (April)
                              datuminfo.0.de.monat.name.kurz (April)
                              datuminfo.0.de.monat.nummer.deutsch.nummer (4)
                              datuminfo.0.de.monat.nummer.deutsch.gerade (true)
                              datuminfo.0.de.monat.nummer.deutsch.ungerade (false)
                              datuminfo.0.de.monat.nummer.system.nummer (5)
                              datuminfo.0.de.monat.nummer.system.gerade (false)
                              datuminfo.0.de.monat.nummer.system.ungerade (true)
                              datuminfo.0.de.monat.jahr.nummer (4) // deutsch
                              datuminfo.0.de.monat.jahr.anzahl (12)
                              datuminfo.0.de.monat.jahr.vergangenheit.anzahl (4)
                              datuminfo.0.de.monat.jahr.vergangenheit.Anteil (4 von 12) (4*100)/12
                              datuminfo.0.de.monat.jahr.zukunft.anzahl (8)
                              datuminfo.0.de.monat.jahr.zukunft.Anteil (8 von 12) (8*100)/12
                              */
                              const idMonthNameShort = path + ".Monat.Name.kurz";
                              const idMonthNameLong = path + ".Monat.Name.lang";
                              const idMonthNumberCount = path + ".Monat.Nummer.Nummer";
                              const idMonthNumberEven = path + ".Monat.Nummer.gerade";
                              const idMonthYearCount = path + ".Monat.Jahr.Anzahl"; // steht fest
                              const idMonthYearPastCount = path + ".Monat.Jahr.Vergangenheit.Anzahl";
                              const idMonthYearPastShare = path + ".Monat.Jahr.Vergangenheit.Anteil";
                              const idMonthYearFutureCount = path + ".Monat.Jahr.Zukunft.Anzahl";
                              const idMonthYearFutureShare = path + ".Monat.Jahr.Zukunft.Anteil";
                              createState(idMonthNameShort, "", fC, {
                                  name: "Kalender - Monat - kurze Name",
                                  type: "string",
                                  role: "text"
                              });
                              createState(idMonthNameLong, "", fC, {
                                  name: "Kalender - Monat - langer Name",
                                  type: "string",
                                  role: "text"
                              });
                              createState(idMonthNumberCount, 1, fC, {
                                  name: "Kalender - Monat - Nummer",
                                  desc: "Januar = 1, ..., Monat Dezember = 12",
                                  type: "number",
                                  min: 1,
                                  max: 12,
                                  role: "level"
                              });
                              createState(idMonthNumberEven, false, fC, {
                                  name: "Kalender - Monat - Nummer - gerade",
                                  type: "boolean",
                                  role: "indicator"
                              });
                              createState(idMonthYearCount, 12, fC, {
                                  name: "Kalender - Monate - Anzahl im Jahr",
                                  type: "number",
                                  role: "val",
                                  min: 12,
                                  max: 12
                              });
                              createState(idMonthYearPastCount, 0, fC, {
                                  name: "Kalender - Monate - Anzahl vergangene Monate im Jahr",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 11
                              });
                              createState(idMonthYearPastShare, Math.round(1/12), fC, {
                                  name: "Kalender - Monate - Anteil vergangene Monate im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              createState(idMonthYearFutureCount, 0, fC, {
                                  name: "Kalender - Monate - Anzahl kommender Monate im Jahr",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 11
                              });
                              createState(idMonthYearFutureShare, Math.round(11/12), fC, {
                                  name: "Kalender - Monate - Anteil kommender Monate im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              /*
                              Woche
                              datuminfo.0.de.woche.gesamt (52)
                              datuminfo.0.de.woche.vergangenheit.anzahl (17)
                              datuminfo.0.de.woche.vergangenheit.Anteil (17 von 52) 17*100/52
                              datuminfo.0.de.woche.zukunft.anzahl (35)
                              datuminfo.0.de.woche.zukunft.Anteil (35 von 52)       35*100/52
                              datuminfo.0.de.woche.nummer (17)
                              datuminfo.0.de.woche.gerade (true)
                              datuminfo.0.de.woche.ungerade (false)
                              */
                              const idWeekYearCount = path + ".Woche.Jahr.Anzahl"; // steht fest
                              const idWeekYearNumberCount = path + ".Woche.Jahr.Kalenderwoche.Nummer";
                              const idWeekYearNumberEven = path + ".Woche.Jahr.Kalenderwoche.gerade";
                              const idWeekYearPastCount = path + ".Woche.Jahr.Vergangenheit.Anzahl";
                              const idWeekYearPastShare = path + ".Woche.Jahr.Vergangenheit.Anteil";
                              const idWeekYearFutureCount = path + ".Woche.Jahr.Zukunft.Anzahl";
                              const idWeekYearFutureShare = path + ".Woche.Jahr.Zukunft.Anteil";
                              createState(idWeekYearCount, 52, fC, {
                                  name: "Kalender - Wochen im Jahr - Anzahl",
                                  type: "number",
                                  role: "level"
                              });
                              createState(idWeekYearPastCount, 0, fC, {
                                  name: "Kalender - Wochen - Anzahl vergangene Wochen im Jahr",
                                  type: "number",
                                  min: 0,
                                  max: 52,
                                  role: "level"
                              });
                              createState(idWeekYearPastShare, 0, fC, {
                                  name: "Kalender - Wochen - Anteil vergangene Wochen im Jahr",
                                  type: "number",
                                  unit: "%",
                                  min: 0,
                                  max: 100,
                                  role: "level"
                              });
                              createState(idWeekYearFutureCount, 0, fC, {
                                  name: "Kalender - Wochen - Anzahl kommender Wochen im Jahr",
                                  type: "number",
                                  min: 0,
                                  max: 52,
                                  role: "level"
                              });
                              createState(idWeekYearFutureShare, 0, fC, {
                                  name: "Kalender - Wochen - Anteil kommender Wochen im Jahr",
                                  type: "number",
                                  unit: "%",
                                  min: 0,
                                  max: 100,
                                  role: "level"
                              });
                              createState(idWeekYearNumberCount, 0, fC, {
                                  name: "Kalender - Wochen - Kalenderwoche",
                                  type: "number",
                                  min: 0,
                                  max: 53,
                                  unit: "KW",
                                  role: "level"
                              });
                              createState(idWeekYearNumberEven, false, fC, {
                                  name: "Kalender - Wochen - Kalenderwoche gerade",
                                  type: "boolean",
                                  role: "indicator"
                              });
                              /*
                              Tag
                              datuminfo.0.de.tag.woche.name.lang (Donnerstag)
                              datuminfo.0.de.tag.woche.name.kurz (Do)
                              datuminfo.0.de.tag.woche.nummer.deutsch (4)
                              datuminfo.0.de.tag.woche.nummer.system (4)
                              datuminfo.0.de.tag.woche.vergangenheit.anzahl (4) // deutsches system ab Montag
                              datuminfo.0.de.tag.woche.vergangenheit.Anteil (4 von 7)  4*100/7
                              datuminfo.0.de.tag.woche.zukunft.anzahl (3)
                              datuminfo.0.de.tag.woche.zukunft.Anteil (3 von 7)        3*100/7
                              datuminfo.0.de.tag.monat.gesamt (30) // tage im monat
                              datuminfo.0.de.tag.monat.vergangenheit.anzahl (28) // seit monats beginn
                              datuminfo.0.de.tag.monat.vergangenheit.Anteil (28 von 30)   28*100/30
                              datuminfo.0.de.tag.monat.zukunft.anzahl (2)        // bis monatsende
                              datuminfo.0.de.tag.monat.zukunft.Anteil (2 von 30)          2*100/30
                              datuminfo.0.de.tag.monat.nummer (28)
                              datuminfo.0.de.tag.monat.gerade (true)
                              datuminfo.0.de.tag.monat.ungerade (false)
                              datuminfo.0.de.tag.jahr.nummer (119)
                              datuminfo.0.de.tag.jahr.gerade (true)
                              datuminfo.0.de.tag.jahr.ungerade (false)
                              datuminfo.0.de.tag.jahr.gesamt (366)
                              datuminfo.0.de.tag.jahr.vergangenheit.anzahl (119)           // seit jahresbeginn
                              datuminfo.0.de.tag.jahr.vergangenheit.Anteil (119 von 366) 119*100/366
                              datuminfo.0.de.tag.jahr.zukunft.anzahl (247)                // bis jahresende
                              datuminfo.0.de.tag.jahr.zukunft.Anteil (247 von 366)       247*100/366
                              */
                              const idDayName = path + ".Tag.Name";
                              const idDayHoliday = path + ".Tag.Feiertag";
                              createState(idDayName, "", fC, {
                                  name: "Kalender - Name des Tages",
                                  type: "string",
                                  role: "text"
                              }); 
                              createState(idDayHoliday, false, fC, {
                                  name: "Kalender - heute Feiertag?",
                                  type: "boolean",
                                  role: "indicator"
                              });
                              const idDayWeekNameLong = path + ".Tag.Woche.Name.lang";
                              const idDayWeekNameShort = path + ".Tag.Woche.Name.kurz";
                              const idDayWeekNumber = path + ".Tag.Woche.Nummer";
                              const idDayWeekPastCount = path + ".Tag.Woche.Vergangenheit.Anzahl";
                              const idDayWeekPastShare = path + ".Tag.Woche.Vergangenheit.Anteil";
                              const idDayWeekFutureCount = path + ".Tag.Woche.Zukunft.Anzahl";
                              const idDayWeekFutureShare = path + ".Tag.Woche.Zukunft.Anteil";
                              createState(idDayWeekNameLong, "", fC, {
                                  name: "Kalender - Tag der Woche - langer Name",
                                  type: "string",
                                  role: "dayofweek"
                              });
                              createState(idDayWeekNameShort, "", fC, {
                                  name: "Kalender - Tag der Woche - kurzer Name",
                                  type: "string",
                                  role: "dayofweek"
                              });
                              createState(idDayWeekNumber, 1, fC, {
                                  name: "Kalender - Tag der Woche - Nummer",
                                  desc: "Mo = 1, ..., Sa = 6, So = 7",
                                  type: "number",
                                  role: "level",
                                  min: 1,
                                  max: 7
                              });
                              createState(idDayWeekPastCount, 0, fC, {
                                  name: "Kalender - Tag der Woche - Anzahl vergangene Tage in der Woche",
                                  type: "number",
                                  min: 0,
                                  max: 6,
                                  role: "value"
                              });
                              createState(idDayWeekPastShare, 0, fC, {
                                  name: "Kalender - Tag der Woche - Anteil vergangene Tage in der Woche",
                                  type: "number",
                                  unit: "%",
                                  min: 0,
                                  max: 100,
                                  role: "level"
                              });
                              createState(idDayWeekFutureCount, 0, fC, {
                                  name: "Kalender - Tag der Woche - Anzahl kommender Tage in der Woche",
                                  type: "number",
                                  min: 0,
                                  max: 6,
                                  role: "value"
                              });
                              createState(idDayWeekFutureShare, 0, fC, {
                                  name: "Kalender - Tag der Woche - Anteil kommender Tage in der Woche",
                                  type: "number",
                                  unit: "%",
                                  min: 0,
                                  max: 100,
                                  role: "level"
                              });
                              const idDayMonthCount = path + ".Tag.Monat.Anzahl";
                              const idDayMonthPastCount = path + ".Tag.Monat.Vergangenheit.Anzahl";
                              const idDayMonthPastShare = path + ".Tag.Monat.Vergangenheit.Anteil";
                              const idDayMonthFutureCount = path + ".Tag.Monat.Zukunft.Anzahl";
                              const idDayMonthFutureShare = path + ".Tag.Monat.Zukunft.Anteil";
                              const idDayMonthNumber = path + ".Tag.Monat.Nummer";
                              const idDayMonthEven = path + ".Tag.Monat.gerade";
                              createState(idDayMonthCount, 0, fC, {
                                  name: "Kalender - Tage im Monat - Anzahl Tage im Monat",
                                  type: "number",
                                  min: 28,
                                  max: 31,
                                  role: "level"
                              }); 
                              createState(idDayMonthPastCount, 0, fC, {
                                  name: "Kalender - Tage im Monat - Anzahl vergangene Tage im Monat",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 31
                              });
                              createState(idDayMonthPastShare, 0, fC, {
                                  name: "Kalender - Tage im Monat - Anteil vergangene Tage im Monat",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              createState(idDayMonthFutureCount, 0, fC, {
                                  name: "Kalender - Tage im Monat - Anzahl kommender Tage im Monat",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 31
                              });
                              createState(idDayMonthFutureShare, 0, fC, {
                                  name: "Kalender - Tage im Monat - Anteil kommender Tage im Monat",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              }); 
                              createState(idDayMonthNumber, 0, fC, {
                                  name: "Kalender - Tage im Monat - Nummer",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 31
                              }); 
                              createState(idDayMonthEven, false, fC, {
                                  name: "Kalender - Tage im Monat - Nummer gerade",
                                  type: "boolean",
                                  role: "indicator"
                              }); 
                              const idDayYearPastCount = path + ".Tag.Jahr.Vergangenheit.Anzahl";
                              const idDayYearPastShare = path + ".Tag.Jahr.Vergangenheit.Anteil";
                              const idDayYearFutureCount = path + ".Tag.Jahr.Zukunft.Anzahl";
                              const idDayYearFutureShare = path + ".Tag.Jahr.Zukunft.Anteil";
                              const idDayYearNumber = path + ".Tag.Jahr.Nummer";
                              const idDayYearEven = path + ".Tag.Jahr.gerade";
                              const idDayYearCount = path + ".Tag.Jahr.Anzahl";
                              createState(idDayYearPastCount, 0, fC, {
                                  name: "Kalender - Tage im Jahr - Anzahl vergangene Tage im Jahr",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 366
                              });
                              createState(idDayYearPastShare, 0, fC, {
                                  name: "Kalender - Tage im Jahr - Anteil vergangene Tage im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              });
                              createState(idDayYearFutureCount, 0, fC, {
                                  name: "Kalender - Tage im Jahr - Anzahl kommender Tage im Jahr",
                                  type: "number",
                                  role: "level",
                                  min: 0,
                                  max: 366
                              });
                              createState(idDayYearFutureShare, 0, fC, {
                                  name: "Kalender - Tage im Jahr - Anteil kommender Tage im Jahr",
                                  type: "number",
                                  unit: "%",
                                  role: "level",
                                  min: 0,
                                  max: 100
                              }); 
                              createState(idDayYearNumber, 1, fC, {
                                  name: "Kalender - Tage im Jahr - Nummer",
                                  type: "number",
                                  role: "level",
                                  min: 1,
                                  max: 366
                              }); 
                              createState(idDayYearEven, false, fC, {
                                  name: "Kalender - Tage im Jahr - Nummer gerade",
                                  type: "boolean",
                                  role: "indicator"
                              }); 
                              createState(idDayYearCount, 365, fC, {
                                  name: "Kalender - Tage im Jahr - Anzahl",
                                  desc: "Anzahl der Tage im Jahr ist abhängig vom Schaltjahr",
                                  type: "number",
                                  role: "level",
                                  min: 365,
                                  max: 366
                              }); 
                              /*
                              Datum
                              datuminfo.0.de.datum.sehrkurz (28.4.16)
                              datuminfo.0.de.datum.kurz (28.04.2016)
                              datuminfo.0.de.datum.monattext (28\. April 2016)
                              datuminfo.0.de.datum.tagmonattext (Donnerstag, 28\. April 2016)
                              datuminfo.0.de.datum.tagdermonattext (Donnerstag, der 28\. April 2016)
                              */
                              const idDateVeryShort = path + ".Datum.sehrkurz";
                              const idDateShort = path + ".Datum.kurz";
                              const idDateMonthText = path + ".Datum.monattext";
                              const idDateDayMonthText = path + ".Datum.tagmonattext";
                              const idDateDayMonthArtikelText = path + ".Datum.tagdermonattext";
                              createState(idDateVeryShort, "", fC, {
                                  name: "Kalender - Datum als sehr kurzer Text",
                                  desc: "DD.M.JJ",
                                  type: "string",
                                  role: "text"
                              }); 
                              createState(idDateShort, "", fC, {
                                  name: "Kalender - Datum als kurzer Text",
                                  desc: "DD.MM.JJJJ",
                                  type: "string",
                                  role: "text"
                              }); 
                              createState(idDateMonthText, "", fC, {
                                  name: "Kalender - Datum als Text mit Monatsname",
                                  desc: "DD. Monat JJJJ",
                                  type: "string",
                                  role: "text"
                              }); 
                              createState(idDateDayMonthText, "", fC, {
                                  name: "Kalender - Datum als Text mit Wochentag und Monatsname",
                                  desc: "Wochentag, DD. Monat JJJJ",
                                  type: "string",
                                  role: "text"
                              }); 
                              createState(idDateDayMonthArtikelText, "", fC, {
                                  name: "Kalender - Datum als Text mit Wochentag, Artikel und Monatsname",
                                  desc: "Wochentag, der DD. Monat JJJJ",
                                  type: "string",
                                  role: "text"
                              }); 
                              // LOGIK ++++++++++++++++++
                              function zeit(time) {
                                  // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
                                  let jetzt = new Date(time);
                                  let jahr       = jetzt.getFullYear();
                                  let monat      = (jetzt.getMonth()+1 < 10) ? "0" + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                                  let tag        = jetzt.getDate();
                                  let tag_lang   = (jetzt.getDate() < 10) ? "0" + jetzt.getDate() : jetzt.getDate();
                                  let wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
                                  let stunde     = (jetzt.getHours() < 10) ? "0" + jetzt.getHours() : jetzt.getHours();
                                  let minute     = (jetzt.getMinutes() < 10) ? "0" + jetzt.getMinutes() : jetzt.getMinutes();
                                  let sekunde    = (jetzt.getSeconds() < 10) ? "0" + jetzt.getSeconds() : jetzt.getSeconds();
                                  return {
                                      "Jahr"         : jahr,
                                      "Monat"        : monat,
                                      "Monat_gerade" : (monat%2 === 0) ? true : false,
                                      "Tag"          : tag,
                                      "Tag_lang"     : tag_lang,
                                      "Wochentag"    : wochentag,
                                      "Stunde"       : stunde,
                                      "Minute"       : minute,
                                      "Sekunde"      : sekunde
                                  };
                              }
                              function ermittleQuartal(time) {
                                  //let z = new Date (time);
                                  let y = time.getMonth(); // Monat 0 - 11
                                  let q = 0;
                                  switch (y) {
                                      case 0: // Jan
                                      case 1:
                                      case 2: 
                                          q = 1;
                                          break;
                                      case 3: // Apr
                                      case 4:
                                      case 5: 
                                          q = 2;
                                          break;
                                      case 6: // Jul
                                      case 7:
                                      case 8: 
                                          q = 3;
                                          break;
                                      case 9: // Okt
                                      case 10:
                                      case 11: 
                                          q = 4;
                                          break;
                                      default: 
                                          q = 0;
                                          break;
                                  }
                              
                                  return({
                                      "count": q,
                                      "even" : (q%2 === 0) ? true : false
                                  });
                              }
                              function ermittleTagDesJahres (time) {
                                  var heutestart = new Date(time.setHours(0,0,0,0));
                                  var Jahr = heutestart.getFullYear();
                                  var neujahr = new Date(Jahr,0,1);
                                  var difftage = (heutestart - neujahr) / (24*60*60*1000) + 1;
                                  var tag = Math.ceil(difftage);
                                  return(tag);
                              }
                              function ermittleKW(time) { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
                                  // Woche, die den ersten Donnerstag enthält https://de.wikipedia.org/wiki/Woche
                                  var KWDatum = new Date(time);
                                  var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
                                  var KWJahr = DonnerstagDat.getFullYear();
                                  var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
                                  var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
                                  var kalenderwoche = (parseInt(KW,10) < 10) ? "0" + KW : KW;
                                  return({
                                      "kalenderwocheStr" : kalenderwoche,   // ggf. führende 0
                                      "kalenderwocheInt" : parseInt(KW,10), // Zahl
                                      "even"             : (parseInt(KW,10)%2 === 0) ? true: false
                                  });
                              }
                              function leseDatum () {
                                  let jetzt = new Date();
                              
                                  // ### Jahr
                                  let jjjj = zeit(jetzt).Jahr;
                                  let sj = (jjjj % 4 === 0) ? true : false;
                                  if (logging) {
                                      log("Jahr: " + jjjj);
                                      log("Schaltjahr: " + sj);
                                  }
                                  setState(idYearLeap, sj, true);
                                  setState(idYear, jjjj, true);
                              
                                  // ### Quartal
                                  let quartal = ermittleQuartal(jetzt).count;
                                  setState(idQuart, quartal, true);
                                  setState(idQuartEven, ermittleQuartal(jetzt).even, true);
                                  setState(idQuartPastCount, quartal, true);
                                  setState(idQuartPastShare, parseFloat((quartal * 100 / 4).toFixed(dezimals)), true);
                                  setState(idQuartFutureCount, 4 - quartal, true);
                                  setState(idQuartFutureShare, parseFloat(((4-quartal) * 100 / 4).toFixed(dezimals)), true);
                              
                                  // ### Monat
                                  //setState("Kalender.Datuminfo.de.Monat.Jahr.Anzahl", {val: 12, ack: true}); // steht fest und wird oben angelegt
                                  let mon_vergangen = parseInt(zeit(jetzt).Monat, 10);
                                  let monat_gerade = zeit(jetzt).Monat_gerade;
                                  setState(idMonthNameShort, monthNameShort[mon_vergangen-1], true); 
                                  setState(idMonthNameLong, monthNameLong[mon_vergangen-1], true);
                                  setState(idMonthNumberCount, mon_vergangen, true);
                                  setState(idMonthNumberEven, monat_gerade, true);
                                  // Monat im Jahr
                                  setState(idMonthYearPastCount, mon_vergangen, true);
                                  setState(idMonthYearPastShare, parseFloat((mon_vergangen * 100 / 12).toFixed(dezimals)), true);
                                  setState(idMonthYearFutureCount, 12 - mon_vergangen, true);
                                  setState(idMonthYearFutureShare, parseFloat(((12-mon_vergangen) * 100 / 12).toFixed(dezimals)), true);
                              
                                  // ### Woche
                                  // setState("Kalender.Datuminfo.de.Woche.Jahr.Anzahl", {val: 52, ack: true});
                                  let kw = ermittleKW(jetzt).kalenderwocheInt;
                                  let silvester = new Date(zeit(jetzt).Jahr, 11, 31, 23, 59, 59, 0); // 31.12.JAHR 23:59:59:0000 Uhr aktuelles Jahr Silvester
                                  let lastkw = ermittleKW(silvester).kalenderwocheInt;
                                  if (logging) log("KW an Silvester: " + lastkw);
                                  setState(idWeekYearNumberCount, kw, true);
                                  setState(idWeekYearNumberEven, ermittleKW(jetzt).even, true);
                              
                                  // Woche im Jahr
                                  setState(idWeekYearPastCount, kw, true);
                                  setState(idWeekYearPastShare, parseFloat(((kw * 100) / 52).toFixed(dezimals)), true);
                                  let x_kw = (lastkw != 1 ? lastkw : 52); // 52 oder 53 ----- einfach Wert zum weiteren Rechnen
                                  let futurekw = x_kw - kw; // wenn letzte KW des Jahres 1 ist, dann von 52 abziehen (können auch mal 53KW sein)
                                  setState(idWeekYearFutureCount, futurekw, true); 
                                  setState(idWeekYearFutureShare, parseFloat(((x_kw - kw) * 100 / x_kw).toFixed(dezimals)), true);
                              
                                  // ### Tag
                                  // Tag in Woche
                                  let wochentag = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7; Mo = 1, ..., So = 7
                                  setState(idDayWeekNameLong, dayWeekNameLong[wochentag], true);
                                  setState(idDayWeekNameShort, dayWeekNameShort[wochentag], true);
                                  if (logging) log("Wochentag:" + wochentag);
                                  setState(idDayWeekNumber, wochentag, true);
                                  setState(idDayWeekPastCount, wochentag, true);
                                  setState(idDayWeekPastShare, parseFloat((wochentag * 100 / 7).toFixed(dezimals)), true);
                                  setState(idDayWeekFutureCount, 7 - wochentag, true);
                                  setState(idDayWeekFutureShare, parseFloat(((7 - wochentag) * 100 / 7).toFixed(dezimals)), true);
                                  // Tag im Monat
                                  let schaltfeb = (sj) ? 29 : 28;
                                  let monatslaenge = [31,schaltfeb,31,30,31,30,31,31,30,31,30,31];
                                  let tage_im_monat = parseInt(monatslaenge[mon_vergangen-1],10);
                                  setState(idDayMonthCount, tage_im_monat, true);
                                  let tage_im_monat_vergangen = zeit(jetzt).Tag;
                                  setState(idDayMonthPastCount, tage_im_monat_vergangen, true);
                                  setState(idDayMonthPastShare, parseFloat(((tage_im_monat_vergangen * 100) / tage_im_monat).toFixed(dezimals)), true);
                                  setState(idDayMonthFutureCount, tage_im_monat- tage_im_monat_vergangen, true);
                                  setState(idDayMonthFutureShare, parseFloat(((tage_im_monat - tage_im_monat_vergangen) * 100 / tage_im_monat).toFixed(dezimals)), true);
                                  setState(idDayMonthNumber, tage_im_monat_vergangen, true);
                                  let tage_im_monat_vergangen_gerade = (tage_im_monat_vergangen % 2 === 0) ? true : false;
                                  setState(idDayMonthEven, tage_im_monat_vergangen_gerade, true);
                                  // Tag im Jahr
                                  let tage_im_jahr_vergangen = ermittleTagDesJahres(jetzt);
                                  setState(idDayYearNumber, tage_im_jahr_vergangen, true);
                                  let tage_im_jahr_vergangen_gerade = (tage_im_jahr_vergangen % 2 === 0) ? true : false;
                                  setState(idDayYearEven, tage_im_jahr_vergangen_gerade, true);
                                  let tage_im_jahr = (sj) ? 366 : 365;
                                  setState(idDayYearCount, tage_im_jahr, true);
                                  setState(idDayYearPastCount, tage_im_jahr_vergangen, true);
                                  setState(idDayYearPastShare, parseFloat((tage_im_jahr_vergangen * 100 / tage_im_jahr).toFixed(dezimals)), true);
                                  setState(idDayYearFutureCount, tage_im_jahr - tage_im_jahr_vergangen, true);
                                  setState(idDayYearFutureShare, parseFloat(((tage_im_jahr - tage_im_jahr_vergangen) * 100 / tage_im_jahr).toFixed(dezimals)), true);
                              
                                  // heute Feiertag
                                  let name_des_tages = "";
                                  let istFeiertag = false;
                                  if (feiertag) {
                                      name_des_tages = getState(idHolidayTodayName).val;
                                      istFeiertag = getState(idHolidayToday).val;
                                  }
                                  setState(idDayName, name_des_tages, true);
                                  setState(idDayHoliday, istFeiertag, true);
                              
                                  // ### Ausgabe + Allgemein
                                  // D.M.YY
                                  let jj = jjjj - 2000;
                                  setState(idDateVeryShort, tage_im_monat_vergangen + "." + mon_vergangen + "." + jj, true);
                                  // DD.MM.YYYY
                                  let dd = (tage_im_monat_vergangen < 10) ? "0" + tage_im_monat_vergangen : tage_im_monat_vergangen;
                                  let mm = (mon_vergangen < 10) ? "0" + mon_vergangen : mon_vergangen;
                                  setState(idDateShort, dd + "." + mm + "." + jjjj, true);
                                  // D. Monat JJJJ
                                  setState(idDateMonthText, tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                                  // Wochentag, DD. Monat JJJJ
                                  setState(idDateDayMonthText, dayWeekNameLong[wochentag] + ", " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                                  // Wochentag, der DD. Monat JJJJ
                                  setState(idDateDayMonthArtikelText, dayWeekNameLong[wochentag] + ", der " + tage_im_monat_vergangen + ". " + monthNameLong[mon_vergangen-1] + " " + jjjj, true);
                                  log("Kalenderinformation zum heutigen Datum angelegt", "debug");
                              }   
                              setTimeout(leseDatum, 2500);
                              schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups
                              

                              Hier die Widgets (beziehen sich auch auf die Javascript Instanz 0

                              [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.Kalender_Zeit.Zeit_Datum_Script_für_Widget","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"2px","top":"427px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"207px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"730px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"<div style=\"float: left; width: 62%;\">\n <p style='margin: 0; padding: 10px 7px 7px 7px; '>Datum</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%; \">{javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}</p>\n</div>\n<div style=\"float: left; width: 12%;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Schaltjahr</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}</p>\n</div>\n<div style=\"float: left; width: 10%; \">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Quartal</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Quartal.Nummer}<span style=\"font-size: 40%\"> / 4</span></p>\n</div>\n<div style=\"float: left; width: 10%; overflow: hidden;\">\n <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">KW</p>\n <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer}<span style=\"font-size: 40%\"> / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}</span></p>\n</div>","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"111px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"729px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"23px","top":"244px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"483px","top":"385px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go ","html_append":" Tage"},"style":{"left":"485px","top":"271px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"25px","top":"386px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"24px","top":"272px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"25px","top":"218px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"21px","top":"358px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"23px","top":"332px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"23px","top":"57px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"}]
                              
                              efxzE Offline
                              efxzE Offline
                              efxz
                              schrieb am zuletzt editiert von
                              #16

                              @pix

                              der Import des widgets geht leider nicht.

                              38f251e1-4440-4f4c-b29c-ea4494eaf13e-grafik.png

                              Dein Kalender-Script ist super.

                              FredFF 1 Antwort Letzte Antwort
                              0
                              • efxzE efxz

                                @pix

                                der Import des widgets geht leider nicht.

                                38f251e1-4440-4f4c-b29c-ea4494eaf13e-grafik.png

                                Dein Kalender-Script ist super.

                                FredFF Offline
                                FredFF Offline
                                FredF
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #17

                                @efxz
                                Bei der Umstellung des Forums wurden ältere Beiträge teilweise nicht richtig übernommen. Du kannst melden über die drei Punkte im Beitrag, dann wird das aktualisiert.
                                Ich habe das für dich schon gemacht...
                                Beitrag melden.png

                                F 1 Antwort Letzte Antwort
                                1
                                • FredFF FredF

                                  @efxz
                                  Bei der Umstellung des Forums wurden ältere Beiträge teilweise nicht richtig übernommen. Du kannst melden über die drei Punkte im Beitrag, dann wird das aktualisiert.
                                  Ich habe das für dich schon gemacht...
                                  Beitrag melden.png

                                  F Offline
                                  F Offline
                                  FabianHM
                                  schrieb am zuletzt editiert von
                                  #18

                                  @FredF
                                  Danke für die Anpassung des alten Beitrags. Leider funktioniert der Import des Widgets von @pix bei mir immer noch nicht, es erscheint die Fehlermeldung:
                                  19522b2d-29cb-4b42-a106-9f73dbb2a1a5-grafik.png

                                  Hat jemand eine Idee was hier falsch läuft?

                                  GlasfaserG 1 Antwort Letzte Antwort
                                  0
                                  • F FabianHM

                                    @FredF
                                    Danke für die Anpassung des alten Beitrags. Leider funktioniert der Import des Widgets von @pix bei mir immer noch nicht, es erscheint die Fehlermeldung:
                                    19522b2d-29cb-4b42-a106-9f73dbb2a1a5-grafik.png

                                    Hat jemand eine Idee was hier falsch läuft?

                                    GlasfaserG Offline
                                    GlasfaserG Offline
                                    Glasfaser
                                    schrieb am zuletzt editiert von Glasfaser
                                    #19

                                    @FabianHM

                                    Hier das Widget :

                                    1.JPG

                                    [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.Kalender_Zeit.Zeit_Datum_Script_für_Widget","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"2px","top":"427px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"207px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"730px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"<div style=\"float: left; width: 62%;\">\n    <p style='margin: 0; padding: 10px 7px 7px 7px; '>Datum</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%; \">{javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}</p>\n</div>\n<div style=\"float: left; width: 12%;\">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Schaltjahr</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}</p>\n</div>\n<div style=\"float: left; width: 10%; \">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Quartal</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Quartal.Nummer}<span style=\"font-size: 40%\"> / 4</span></p>\n</div>\n<div style=\"float: left; width: 10%; overflow: hidden;\">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">KW</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer}<span style=\"font-size: 40%\"> / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}</span></p>\n</div>","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"111px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"729px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"23px","top":"244px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go  ","html_append":" Tage"},"style":{"left":"483px","top":"385px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go  ","html_append":" Tage"},"style":{"left":"485px","top":"271px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"25px","top":"386px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"24px","top":"272px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"25px","top":"218px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"21px","top":"358px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"23px","top":"332px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"23px","top":"57px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"}]
                                    

                                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                    FredFF M 2 Antworten Letzte Antwort
                                    0
                                    • GlasfaserG Glasfaser

                                      @FabianHM

                                      Hier das Widget :

                                      1.JPG

                                      [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"bg-transparent","bg_class_false":"bg-red","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Skript ein","label_false":"Skript aus","toggle_oid":"javascript.0.Optin_OWL_Lowbat_Sayit","name":"Datuminfo Skript aktivieren/deaktivieren","oid":"javascript.0.scriptEnabled.Kalender_Zeit.Zeit_Datum_Script_für_Widget","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"comment":"Achtung! auf Skriptnamen, Pfad und Instanz achten","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"2px","top":"427px","width":"137px","height":"30px","font-family":"","z-index":"20","cursor":"pointer"},"widgetSet":"metro"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"207px","z-index":"9","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"730px","height":"215px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":"true","refreshInterval":"0","name":"Hintergrund Zusammenfassung ","html":"<div style=\"float: left; width: 62%;\">\n    <p style='margin: 0; padding: 10px 7px 7px 7px; '>Datum</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%; \">{javascript.0.Kalender.Datuminfo.de.Datum.tagmonattext}</p>\n</div>\n<div style=\"float: left; width: 12%;\">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Schaltjahr</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Jahr.Schaltjahr}</p>\n</div>\n<div style=\"float: left; width: 10%; \">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">Quartal</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Quartal.Nummer}<span style=\"font-size: 40%\"> / 4</span></p>\n</div>\n<div style=\"float: left; width: 10%; overflow: hidden;\">\n    <p style=\"margin: 0; padding: 10px 7px 3px 7px;\">KW</p>\n    <p style=\"margin: 0; padding: 7px 7px 3px 7px; font-size: 200%\">{javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer}<span style=\"font-size: 40%\"> / {javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Anzahl}</span></p>\n</div>","label_true":"Optin<br><br>Daten einlesen aktiviert<br><br><span style=\"font-size: 80%\">Parsen von track'n'trace-Daten eingeschaltet</span>","gestures-offsetX":0,"gestures-offsetY":0,"visibility-oid":"javascript.0.scriptEnabled.common.System.Kalender.System_Datuminfo","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"5px","top":"111px","z-index":"10","color":"rgba(250,250,250,1);","background-color":"rgba(200,0,0,0.5);","border-radius":"","width":"729px","height":"90px","font-size":"16px","font-family":"","text-align":"left","padding-top":"","padding-bottom":"","padding":"","padding-left":""},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Jahresfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"23px","top":"244px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go  ","html_append":" Tage"},"style":{"left":"483px","top":"385px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Zukunft.Anzahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Jahresfortschritt togo","html_prepend":"to go  ","html_append":" Tage"},"style":{"left":"485px","top":"271px","z-index":"30","width":"109px","height":"20px","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"25px","top":"386px","width":"471px","height":"20px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anteil","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","is_comma":"true","factor":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_append_singular":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_append_plural":"% oder {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Vergangenheit.Anzahl} / {javascript.0.Kalender.Datuminfo.de.Tag.Jahr.Anzahl} Tagen vorbei","html_prepend":"","name":"Jahresfortschritt vergangen"},"style":{"left":"24px","top":"272px","width":"454px","height":"18px","z-index":"30"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Jahr.Zahl","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Jahresfortschritt ","name":"Jahresfortschritt Überschrift"},"style":{"left":"25px","top":"218px","z-index":"30","width":"215px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueFloatBar","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Tag.Monat.Nummer","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","min":"1","max":"{javascript.0.Kalender.Datuminfo.de.Tag.Monat.Anzahl}","orientation":"horizontal","color":"#a23f64","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"reverse":false,"name":"Monatsfortschritt Balken","html":"{javascript.2.Paket.trackntrace.Tabelle}"},"style":{"left":"21px","top":"358px","z-index":"30","width":"571px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.Kalender.Datuminfo.de.Monat.Name.lang","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Monatsfortschritt ","name":"Monatsfortschritt Überschrift"},"style":{"left":"23px","top":"332px","z-index":"30","width":"256px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"Nachrichten | Kalender","name":"Überschrift","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"23px","top":"57px","z-index":"25","width":"auto","height":"30px","font-size":"25px"},"widgetSet":"basic"}]
                                      

                                      FredFF Offline
                                      FredFF Offline
                                      FredF
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von
                                      #20

                                      @Glasfaser
                                      Danke da warst du schneller

                                      GlasfaserG 1 Antwort Letzte Antwort
                                      0
                                      • FredFF FredF

                                        @Glasfaser
                                        Danke da warst du schneller

                                        GlasfaserG Offline
                                        GlasfaserG Offline
                                        Glasfaser
                                        schrieb am zuletzt editiert von Glasfaser
                                        #21

                                        @FredF

                                        Nee ..
                                        @Negalein war schon im Beitrag .... das Widget ist weiter defekt ( zerstückelt ) !!

                                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                        FredFF NegaleinN 2 Antworten Letzte Antwort
                                        0
                                        • GlasfaserG Glasfaser

                                          @FredF

                                          Nee ..
                                          @Negalein war schon im Beitrag .... das Widget ist weiter defekt ( zerstückelt ) !!

                                          FredFF Offline
                                          FredFF Offline
                                          FredF
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von
                                          #22

                                          @Glasfaser Ich meinte du hast es schneller gesendet, wollte ich auch gerade machen...

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          818

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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