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

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

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

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

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
    #1

    Guten Morgen,

    ich bin auf der Suche nach einem Adapter oder Script, dass mir anzeigt in welcher Kw, Quartal oder Monat wir uns befinden.

    Hintergrund ist, dass im Stromverbrauchsadapter ich neben "diesen Monat" dann auch Oktober, November, der Q2, oder Montag, Sonntag etc. angezeigt haben möchte.

    Gibt es so etwas schon, oder muss ich selbst versuchen so etwas zu schreiben?

    Grüße

    1 Antwort Letzte Antwort
    0
    • sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      viewtopic.php?f=21&t=12272&hilit=verbrauchsz%C3%A4hler

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

      1 Antwort Letzte Antwort
      0
      • 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 Online
                                    FredFF Online
                                    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 Online
                                          FredFF Online
                                          FredF
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von
                                          #20

                                          @Glasfaser
                                          Danke da warst du schneller

                                          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

                                          784

                                          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