Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.0.0 - just another remarkable vis

NEWS

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

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

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

jarvis v3.0.0 - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
4.5k Beiträge 254 Kommentatoren 2.7m Aufrufe 209 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.
  • C Offline
    C Offline
    cr4y-z1
    schrieb am zuletzt editiert von
    #2290

    Hallo zusammen,

    seit gestern Abend habe ich mal wieder Probleme mit dem Calendar-Widget unter v3.0.11. Nachdem ich den Cache meines Browsers gelöscht hatte, werden keine Daten mehr im Calendar-Grid und auch nicht in der Listen-übersicht angezeigt.

    Die Java-Konsole meldet folgendes:
    Bildschirmfoto 2022-03-17 um 13.51.37.png

    Vielen Dank schon einmal für eure Hilfe.

    VG
    cr4y-z1

    1 Antwort Letzte Antwort
    0
    • M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2291

      @cr4y-z1 Passwort geändert? Nochmal eingeben?

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      C 2 Antworten Letzte Antwort
      0
      • M MCU

        @cr4y-z1 Passwort geändert? Nochmal eingeben?

        C Offline
        C Offline
        cr4y-z1
        schrieb am zuletzt editiert von
        #2292

        @mcu dabei handelt es sich um einen öffentlichen iCal Kalender über die iCloud.
        Bisher habe ich hier noch nie einen Login benötigt.

        M 1 Antwort Letzte Antwort
        0
        • C cr4y-z1

          @mcu dabei handelt es sich um einen öffentlichen iCal Kalender über die iCloud.
          Bisher habe ich hier noch nie einen Login benötigt.

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von
          #2293

          @cr4y-z1 Dann ist der nicht mehr erreichbar?
          Zeig mal die Einstellungen vom Calendar Widget.

          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          1 Antwort Letzte Antwort
          0
          • M MCU

            @cr4y-z1 Passwort geändert? Nochmal eingeben?

            C Offline
            C Offline
            cr4y-z1
            schrieb am zuletzt editiert von
            #2294

            @mcu Danke, habe das Problem lösen können. Ich hatte versucht den Link des Kalenders via Browser aufzurufen, dieses führte im Chrome ebenfalls zum Fehler mit den Redirects. Habe dann die Kalenderfreigabe beendet und anschließend erneut veröffentlicht. Jetzt geht es wieder.

            VG
            cr4y-z1

            1 Antwort Letzte Antwort
            0
            • SKBS Offline
              SKBS Offline
              SKB
              Developer Most Active
              schrieb am zuletzt editiert von
              #2295

              Hallo,
              ich habe nun auch mal auf die V3 upgedatet. Läuft bisher ganz gut - nur bezahlen kann man irgendwie nicht. Schaue ich mir nochmal an.

              Ich suche noch nach einer Gruppe für die Jalousien, damit die auch alle herunterfahren kann.

              Aktuell muss ich jede Rollade einzeln antippen, damit sie fährt.
              Verbaut sind Shelly 2.5.

              Jemand eine Idee? Ich finde in der Gruppe auch nicht die Option "BlindLevelAction".

              Danke!

              ... wer nicht mit der Zeit geht, geht mit der Zeit ...

              Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

              M 1 Antwort Letzte Antwort
              0
              • SKBS SKB

                Hallo,
                ich habe nun auch mal auf die V3 upgedatet. Läuft bisher ganz gut - nur bezahlen kann man irgendwie nicht. Schaue ich mir nochmal an.

                Ich suche noch nach einer Gruppe für die Jalousien, damit die auch alle herunterfahren kann.

                Aktuell muss ich jede Rollade einzeln antippen, damit sie fährt.
                Verbaut sind Shelly 2.5.

                Jemand eine Idee? Ich finde in der Gruppe auch nicht die Option "BlindLevelAction".

                Danke!

                M Online
                M Online
                MCU
                schrieb am zuletzt editiert von
                #2296

                @skb
                Dazu gibt es bereits einen Feature Request
                https://github.com/Zefau/ioBroker.jarvis/issues/1416

                Solange es nicht umgesetzt wurde, es gibt als Zusatzprogramm eine Möglichkeit:
                https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./shutterposition

                NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                1 Antwort Letzte Antwort
                0
                • M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von MCU
                  #2297

                  BlindLevelAction mal anders:
                  BlindLevelUniqueLampen.gif

                  Farben angeglichen:
                  55ee4203-c0ba-499e-a1ff-b311dbff80d9-image.png

                  Mit Zustands-Icon:
                  BlindLevelUniqueLampenMitIcon.gif

                  NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  L 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    BlindLevelAction mal anders:
                    BlindLevelUniqueLampen.gif

                    Farben angeglichen:
                    55ee4203-c0ba-499e-a1ff-b311dbff80d9-image.png

                    Mit Zustands-Icon:
                    BlindLevelUniqueLampenMitIcon.gif

                    L Offline
                    L Offline
                    LoDDl
                    schrieb am zuletzt editiert von
                    #2298

                    @mcu mega, packst du das noch in deine Doku? 🙂

                    M 1 Antwort Letzte Antwort
                    0
                    • L LoDDl

                      @mcu mega, packst du das noch in deine Doku? 🙂

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von
                      #2299

                      @loddl Man kann sich schon etwas einlesen:
                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./blindlevelbuttons

                      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @flo-xxx
                        Man muss anscheinend bei den Breakpoints 1080 eintragen.
                        Doch nicht.
                        Welche Werte (Bildschirmgröße html) haben denn das Smartphone und das Tablet?

                        Flo XXXF Offline
                        Flo XXXF Offline
                        Flo XXX
                        schrieb am zuletzt editiert von
                        #2300

                        @mcu

                        Hallo,

                        derzeit hab ich bei small 413 und bei medium 1000 eingestellt...
                        So funktioniert es wie gewünscht für das default layout... ipad Ansicht ist ident mit dem NB (3 Spalten) und iphone Ansicht ist auf eine Spalte reduziert..

                        mfg
                        Flo

                        Stephan SchleichS 1 Antwort Letzte Antwort
                        1
                        • Flo XXXF Flo XXX

                          @mcu

                          Hallo,

                          derzeit hab ich bei small 413 und bei medium 1000 eingestellt...
                          So funktioniert es wie gewünscht für das default layout... ipad Ansicht ist ident mit dem NB (3 Spalten) und iphone Ansicht ist auf eine Spalte reduziert..

                          mfg
                          Flo

                          Stephan SchleichS Offline
                          Stephan SchleichS Offline
                          Stephan Schleich
                          schrieb am zuletzt editiert von Stephan Schleich
                          #2301

                          Was macht ihr bei nem iframe mit selfsign https cert? Bei mir wird nichts angezeigt bis ich es einmal manuell öffne und vertraue, gibts da einen workaround außer n echtes cert anzulegen?

                          91097de7-5389-4dd7-8dd8-85f19884de6c-image.png
                          e418b275-ee40-4d01-8f1c-2b412d6a5da0-image.png

                          1 Antwort Letzte Antwort
                          0
                          • SKBS Offline
                            SKBS Offline
                            SKB
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #2302

                            Gibt es eigentlich auch eine Möglichkeit,
                            Werte umzurechnen bzw. die Einheit zu ändern?

                            Ich habe Datenpunkte meiner PV-Anlage in Watt (aktuelle Leistung bzw. komplette Produktion am Tag).

                            Gerne würde ich hier, wenn es unter 1000 Watt sind, auch die 900 Watt darstellen - jedoch wenn es über 1000 Watt sind, diese dann in 1.x kW.

                            Danke 🙂

                            ... wer nicht mit der Zeit geht, geht mit der Zeit ...

                            Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

                            M 1 Antwort Letzte Antwort
                            0
                            • SKBS SKB

                              Gibt es eigentlich auch eine Möglichkeit,
                              Werte umzurechnen bzw. die Einheit zu ändern?

                              Ich habe Datenpunkte meiner PV-Anlage in Watt (aktuelle Leistung bzw. komplette Produktion am Tag).

                              Gerne würde ich hier, wenn es unter 1000 Watt sind, auch die 900 Watt darstellen - jedoch wenn es über 1000 Watt sind, diese dann in 1.x kW.

                              Danke 🙂

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von MCU
                              #2303

                              @skb https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert

                              https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/nachkommastellen-auto

                              NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              SKBS 1 Antwort Letzte Antwort
                              1
                              • M MCU

                                @skb https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert

                                https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/nachkommastellen-auto

                                SKBS Offline
                                SKBS Offline
                                SKB
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #2304

                                @mcu said in jarvis v3.0.0 - just another remarkable vis:

                                @skb https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert

                                https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/nachkommastellen-auto

                                Falls dies noch jemand sucht:

                                Einheit anhand DP-Wertt ändern:

                                {
                                  ">1000": "kWh",
                                  "<1000": "Wh"
                                }
                                

                                Berechnung des Wertes von W in kW, wenn über 1000 Watt. Datenpunkt Eigenschaften:

                                {
                                  "value": "val => val > 1000 ? parseFloat(val/1000).toFixed(2) : val"
                                }
                                

                                ... wer nicht mit der Zeit geht, geht mit der Zeit ...

                                Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

                                Stephan SchleichS M 2 Antworten Letzte Antwort
                                1
                                • SKBS SKB

                                  @mcu said in jarvis v3.0.0 - just another remarkable vis:

                                  @skb https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert

                                  https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/nachkommastellen-auto

                                  Falls dies noch jemand sucht:

                                  Einheit anhand DP-Wertt ändern:

                                  {
                                    ">1000": "kWh",
                                    "<1000": "Wh"
                                  }
                                  

                                  Berechnung des Wertes von W in kW, wenn über 1000 Watt. Datenpunkt Eigenschaften:

                                  {
                                    "value": "val => val > 1000 ? parseFloat(val/1000).toFixed(2) : val"
                                  }
                                  
                                  Stephan SchleichS Offline
                                  Stephan SchleichS Offline
                                  Stephan Schleich
                                  schrieb am zuletzt editiert von
                                  #2305

                                  @skb Wird aber Pro-Version benötigt oder?

                                  SKBS 1 Antwort Letzte Antwort
                                  0
                                  • Stephan SchleichS Stephan Schleich

                                    @skb Wird aber Pro-Version benötigt oder?

                                    SKBS Offline
                                    SKBS Offline
                                    SKB
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #2306

                                    @stephan-schleich said in jarvis v3.0.0 - just another remarkable vis:

                                    @skb Wird aber Pro-Version benötigt oder?

                                    Für (fast) alle Darstellungsänderungen wird die Pro Version benötigt. Und den Euro im Monat kann man verschmerzen 🙂

                                    ... wer nicht mit der Zeit geht, geht mit der Zeit ...

                                    Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

                                    1 Antwort Letzte Antwort
                                    0
                                    • SKBS SKB

                                      @mcu said in jarvis v3.0.0 - just another remarkable vis:

                                      @skb https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert

                                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/nachkommastellen-auto

                                      Falls dies noch jemand sucht:

                                      Einheit anhand DP-Wertt ändern:

                                      {
                                        ">1000": "kWh",
                                        "<1000": "Wh"
                                      }
                                      

                                      Berechnung des Wertes von W in kW, wenn über 1000 Watt. Datenpunkt Eigenschaften:

                                      {
                                        "value": "val => val > 1000 ? parseFloat(val/1000).toFixed(2) : val"
                                      }
                                      
                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von MCU
                                      #2307

                                      @skb Hab es in die Doku aufgenommen. =1000 ist bei Dir nicht definiert.
                                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/geraet/datenpunkt-eigenschaft/einheit-groessenabhaengig

                                      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      SKBS 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @skb Hab es in die Doku aufgenommen. =1000 ist bei Dir nicht definiert.
                                        https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/geraet/datenpunkt-eigenschaft/einheit-groessenabhaengig

                                        SKBS Offline
                                        SKBS Offline
                                        SKB
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #2308

                                        @mcu Ich denke, die 999 oder 1001 Watt sind in Sekunden bei einer PV Anlage erreichbar 😉

                                        ... wer nicht mit der Zeit geht, geht mit der Zeit ...

                                        Aktuelle Entwicklung: Energiefluss - erweitert (https://forum.iobroker.net/topic/64734)

                                        1 Antwort Letzte Antwort
                                        0
                                        • M MCU

                                          @sigi234 Ja ich stelle das neue dann in die Doku. Danke für den Hinweis. Bedeutet nur, ich muss alle Scripte umschreiben.
                                          Das wird ein langes Wochenende oder Jahresende.
                                          Insbesondere beim CSSEffects hätte es da richtig oft geknallt.

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

                                          @mcu sagte in jarvis v3.0.0 - just another remarkable vis:

                                          @sigi234 Ja ich stelle das neue dann in die Doku. Danke für den Hinweis. Bedeutet nur, ich muss alle Scripte umschreiben.
                                          Das wird ein langes Wochenende oder Jahresende.
                                          Insbesondere beim CSSEffects hätte es da richtig oft geknallt.

                                          Fehler nach DWD Update:

                                          11:43:00.989 info javascript.0 (14884) Start javascript script.js.Jarvis.DateWeather
                                          11:43:01.021 info javascript.0 (14884) script.js.Jarvis.DateWeather: registered 12 subscriptions and 1 schedule
                                          11:43:05.035 info javascript.0 (14884) script.js.Jarvis.DateWeather: Warnung vorhanden
                                          11:43:05.038 warn javascript.0 (14884) at htmlSet (script.js.Jarvis.DateWeather:339:39)
                                          11:43:05.038 warn javascript.0 (14884) at Object.<anonymous> (script.js.Jarvis.DateWeather:43:9)
                                          11:43:05.039 error javascript.0 (14884) at htmlSet (script.js.Jarvis.DateWeather:346:60)
                                          11:43:05.039 error javascript.0 (14884) at Object.<anonymous> (script.js.Jarvis.DateWeather:43:9)

                                          // ******************************
                                          // DateWeatherDWD v1.0.5
                                          // flexible Einstellungen zum DateWeatherDWD-HTML
                                          // 1.0.1 Warnungen im dwd-Adapter prüfen
                                          // 1.0.2 Wetterdaten nur kurz 1. daswetter, 2. openweather, 3. visualcrossing
                                          // 1.0.3 Aktualisierung geändert statt jede Stunde nur alle 12 Stunden
                                          // 1.0.4 Korrektur String() für tempMin und tempMax
                                          // 1.0.5 Anpassung parse nur bei String-object
                                          // ******************************
                                           
                                           
                                          let jarvisDarkMode = 'jarvis.0.settings.themeDarkMode';
                                          let htmlDP = '0_userdata.0.jarvis.dateTime.html';
                                          let kwbeforeDP = '0_userdata.0.jarvis.dateTime.kwBefore';
                                          let dwdActiveDP = '0_userdata.0.jarvis.dateTime.dwdActive';
                                          let dwdDetailsDP = '0_userdata.0.jarvis.dateTime.dwdDetails';
                                          let showCalIconsDP = '0_userdata.0.jarvis.dateTime.showIcons';
                                          let cssFontsizeDP = '0_userdata.0.jarvis.dateTime.fontSize';
                                          let showWeatherDP = '0_userdata.0.jarvis.dateTime.showWeather';
                                          let weatherSelectDP ='0_userdata.0.jarvis.dateTime.weatherSelect';
                                          let showLongDayDP = '0_userdata.0.jarvis.dateTime.longDay';
                                           
                                          createState(htmlDP, {read: true, write: true, name: "HTML DateTime", type: "string", role: "text", def: "" });
                                          createState(cssFontsizeDP, {read: true, write: true, name: "FontSize gesamt", type: "number", role: "", def: 14 });
                                          createState(kwbeforeDP, {read: true, write: true, name: "KW vorher anzeigen", type: "boolean", role: "", def: false });
                                          createState(dwdActiveDP, {read: true, write: true, name: "DWD Warnungen anzeigen", type: "boolean", role: "", def: false });
                                          createState(dwdDetailsDP, {read: true, write: true, name: "DWD Details anzeigen", type: "boolean", role: "", def: false });
                                          createState(showCalIconsDP, {read: true, write: true, name: "Kalender Icons anzeigen", type: "boolean", role: "", def: true });
                                          createState(showWeatherDP, {read: true, write: true, name: "Wetterdaten anzeigen", type: "boolean", role: "", def: false });
                                          createState(showLongDayDP, {read: true, write: true, name: "Tag ausgeschrieben anzeigen(Fr / Freitag)", type: "boolean", role: "", def: false });
                                           
                                          //let datum = new Date();
                                          //let sunrise = formatDate(getDateObject(getAstroDate("sunrise", )).getTime(),'hh:mm');
                                          //let sunset =  formatDate(getDateObject(getAstroDate("sunset", )).getTime(),'hh:mm');
                                          //let aktTime = formatDate(new Date(),'hh:mm');
                                          //let jetzt = getDateObject(new Date()).getTime();
                                          //let SunSet = getDateObject(sunset).getTime();
                                           
                                           
                                          setTimeout(function(){
                                              weatherDataOK();
                                              setTimeout(function(){
                                                  htmlSet();
                                              },2000);
                                          },2000);
                                           
                                          var schedule1;
                                          (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})();
                                          // Alle 60 Minuten aktualisieren
                                          schedule1 = schedule('0 */12 * * *', async function () {
                                              if (proofDWDinstalled()){
                                                  log('DateWeatherDWD aktualisiert')
                                                  htmlSet();
                                              }
                                          });
                                           
                                          on({id: '0_userdata.0.jarvis.weather.visualCrossing.visualCrossingdata', change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              let weatherSelect = getState(weatherSelectDP).val;
                                              if (visualCrossingInstalled() && (weatherSelect =='VisualCrossing' || weatherSelect == ' ')){
                                                  htmlSet();
                                              }
                                          });
                                           
                                           
                                           
                                          // openweathermap.0.forecast.current.date
                                          on({id: 'openweathermap.0.forecast.current.date', change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              let weatherSelect = getState(weatherSelectDP).val;
                                              if (openweatherInstalled() && (weatherSelect =='OpenWeather' || weatherSelect == ' ')){
                                                  htmlSet();
                                              }
                                          });
                                           
                                          on({id: 'daswetter.0.NextDays.Location_1.Day_1.Tag_value', change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              let weatherSelect = getState(weatherSelectDP).val;
                                              if (daswetterInstalled() && (weatherSelect =='DasWetter' || weatherSelect == ' ')){
                                                  htmlSet();
                                              }
                                          });
                                           
                                           
                                          on({id: jarvisDarkMode, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: cssFontsizeDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: kwbeforeDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: dwdActiveDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                           
                                              if (proofDWDinstalled()){
                                                  htmlSet();
                                              }else{
                                                  log('DWD-Adapter ist nicht installiert','warn');
                                                  setStateDelayed(dwdActiveDP,false,3000,false);
                                              }
                                          });
                                           
                                          on({id: dwdDetailsDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              if (proofDWDinstalled()){
                                                  htmlSet();
                                              }else{
                                                  log('DWD-Adapter ist nicht installiert','warn');
                                                  setStateDelayed(dwdDetailsDP,false,3000,false);
                                              }
                                          });
                                           
                                          on({id: showCalIconsDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: showWeatherDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: showLongDayDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          on({id: weatherSelectDP, change: "any"}, function (obj) {
                                              let value = obj.state.val;
                                              htmlSet();
                                          });
                                           
                                          function kw(timeNow){
                                              // https://www.mediaevent.de/javascript/date-datum-zeit.html
                                              let d = new Date(timeNow);
                                              d.setHours(0,0,0);
                                              d.setDate(d.getDate()+3-(d.getDay()||7)); // geändert +4- -> +3-
                                              let x = d-new Date(d.getFullYear(),0,1);
                                              return Math.ceil((((x)/8.64e7)+1)/7);
                                          }
                                          //weatherDataOK();
                                          function weatherDataOK(){
                                              let activeWeather = {' ':'leer'};
                                              if (openweatherInstalled()){
                                                  activeWeather.OpenWeather= 'OpenWeather';
                                              }
                                              if (daswetterInstalled()){
                                                  activeWeather.DasWetter='DasWetter';
                                              }
                                              if (visualCrossingInstalled()){
                                                  activeWeather.VisualCrossing='VisualCrossing';
                                              }
                                              createState(weatherSelectDP, {read: true, write: true, name: "Wetter Adapter", type: "string", role: "", def: " ",
                                              states: activeWeather});
                                          }
                                           
                                           
                                          function openweatherInstalled(){
                                              if (existsState('openweathermap.0.forecast.current.state')){
                                                  return true;
                                                  
                                              }else{
                                                  return false;
                                              }
                                          }
                                           
                                          function daswetterInstalled(){
                                              if (existsState('0_userdata.0.jarvis.dateTime.showWeather')){
                                                  return true;
                                                  
                                              }else{
                                                  return false;
                                              }
                                          }
                                           
                                          function visualCrossingInstalled(){
                                              if (existsState('0_userdata.0.jarvis.weather.visualCrossing.visualCrossingdata')){
                                                  return true;
                                                  
                                              }else{
                                                  return false;
                                              }
                                          }
                                           
                                          function proofDWDinstalled(){
                                              let adapDWD = 'system.adapter.dwd.0.uptime';
                                              if ( getState(adapDWD).val >0){
                                                  return true;
                                              }else {
                                                  log('htmlDateTime (Jarvis) DWD-Adapter nicht installiert?','warn');
                                                  return false;
                                              }
                                           
                                          }
                                           
                                          function proofDWDWarning(){
                                              let arrWarn = $('dwd.0.*.object');
                                              for(let i=0;i<arrWarn.length;i++){
                                                  if (getState(arrWarn[i]).val != '{}'){
                                                      log('Warnung vorhanden');
                                                      return true;
                                                  }               
                                              }
                                              return false;
                                              }
                                           
                                          function htmlSet(){
                                              let htmlCode = '';
                                              let darkMode = getState(jarvisDarkMode).val;
                                              let kwbefore = getState(kwbeforeDP).val;
                                              let showCalIcons = getState(showCalIconsDP).val;
                                              let dwdActive = getState(dwdActiveDP).val;
                                              let dwdDetails = getState(dwdDetailsDP).val;
                                              let cssFontsize = getState(cssFontsizeDP).val;
                                              let showWeather = getState(showWeatherDP).val;
                                              let showLongDay = getState(showLongDayDP).val;
                                              let weatherSelect = getState(weatherSelectDP).val;
                                              let sunrise = formatDate(getDateObject(getAstroDate("sunrise")).getTime(),'hh:mm');
                                              let sunset =  formatDate(getDateObject(getAstroDate("sunset")).getTime(),'hh:mm');
                                              let jetzt = getDateObject(new Date()).getTime();
                                              
                                              htmlCode += '<!DOCTYPE HTML>';
                                              htmlCode += '<html>';
                                              htmlCode += '<head>';
                                              htmlCode += '<title>';
                                              htmlCode += 'DateTimeFlex';
                                              htmlCode += '</title>';
                                             
                                              htmlCode += '<style>';
                                              if (darkMode){
                                                  htmlCode += 'table { width: 100%; overflow:auto;color:white; } ';
                                              }else{
                                                  htmlCode += 'table { width: 100%; overflow:auto;color:black; } ';
                                              }
                                              htmlCode += '</style>';
                                              htmlCode += '<script src="https://code.iconify.design/2/2.1.0/iconify.min.js"></script>';
                                              htmlCode += '</head>';
                                              htmlCode += '<body style = "text-align:center; align-items:center; overflow:auto;" id = "DateTimeFlex">';
                                              htmlCode += '<table style="font-size:'+ cssFontsize +'px; text-align:center; justify-center:middle; vertical-align:center;" align = "center" id="dateTimetable" border="0" overflow="auto">';
                                              htmlCode += '<tr bgcolor="transparent">';
                                              if (showCalIcons){
                                                  
                                                  htmlCode += '<th><div><span  class="iconify" data-icon="mdi:weather-sunset-up"></span> '+ sunrise +'</div></th>';
                                                  htmlCode += '<th><div><span  class="iconify" data-icon="mdi:weather-sunset-down"></span> '+sunset +'</div></th>';
                                                  if (kwbefore){
                                                      htmlCode += '<th><div><span  class="iconify" data-icon="mdi:calendar-week"></span> KW '+kw(jetzt) +'</div></th>';
                                                  }else{
                                                      htmlCode += '<th><div><span  class="iconify" data-icon="mdi:calendar-week"></span> '+kw(jetzt) +'.KW</div></th>';
                                                  }
                                                  if (showLongDay){
                                                      htmlCode += '<th style="text-align:left;"><div><span  class="iconify" data-icon="mdi:calendar"></span> '+ formatDate(jetzt,"WW")  +'</div></th>';
                                                  }else{
                                                      htmlCode += '<th style="text-align:left;"><div><span  class="iconify" data-icon="mdi:calendar"></span> '+ formatDate(jetzt,"W")  +'</div></th>';
                                                  }
                                              }else{
                                                  
                                                  htmlCode += '<th><div><span  class="iconify" data-icon="mdi:weather-sunset-up"></span>'+ sunrise +'</div></th>';
                                                  htmlCode += '<th><div><span  class="iconify" data-icon="mdi:weather-sunset-down"></span>'+sunset +'</div></th>';
                                                  if (kwbefore){
                                                      htmlCode += '<th><div style="display:block;">KW '+kw(jetzt) +'</div></th>';
                                                  }else{
                                                      htmlCode += '<th><div style="display:block;">'+kw(jetzt) +'.KW</div></th>';
                                                  }
                                                  if (showLongDay){
                                                      htmlCode += '<th style="text-align:left;"><div>'+ formatDate(jetzt,"WW")  +'</div></th>';
                                                  }else{
                                                      htmlCode += '<th style="text-align:left;"><div>'+ formatDate(jetzt,"W")  +'</div></th>';
                                                  }
                                              }
                                              htmlCode += '</tr>';
                                              if (showWeather){
                                                  let tempMin = '';
                                                  let tempMax = '';
                                                  let description = ''; // bedeckt
                                                  if (daswetterInstalled() && (weatherSelect ==='DasWetter'|| weatherSelect===' ')){
                                                      tempMin = getState('daswetter.0.NextDays.Location_1.Day_1.Minimale_Temperatur_value').val;
                                                      tempMax = getState('daswetter.0.NextDays.Location_1.Day_1.Maximale_Temperatur_value').val;
                                                      description = getState('daswetter.0.NextDays.Location_1.Day_1.Wetter_Symbol_value').val + ' (DW)';
                                           
                                                  }else if (openweatherInstalled()&& (weatherSelect ==='OpenWeather' || weatherSelect ===' ')){
                                                      tempMin = getState('openweathermap.0.forecast.day0.temperatureMin').val;
                                                      tempMax = getState('openweathermap.0.forecast.day0.temperatureMax').val;
                                                      description = getState('openweathermap.0.forecast.day0.state').val + ' (OW)';
                                                  }else if (visualCrossingInstalled()&& (weatherSelect ==='VisualCrossing' || weatherSelect ===' ')){
                                                      let weather = getState('0_userdata.0.jarvis.weather.visualCrossing.visualCrossingdata').val;
                                                      if (typeof(weather)=='string'){
                                                          weather = JSON.parse(weather);
                                                      }
                                                      tempMin = weather.days[0].tempmin;
                                                      tempMax = weather.days[0].tempmax;
                                                      description = weather.days[0].conditions +' (VC)';
                                                  }
                                                  if (String(tempMin) !='' && String(tempMax)!='' && String(description)!=''){ 
                                                      htmlCode += '<tr>';
                                                      htmlCode += '<td style="text-align:center; "><span  class="iconify" data-icon="mdi:thermometer-minus"></span> : ';
                                                      htmlCode += tempMin;
                                                      htmlCode += ' °C</td>';
                                                      htmlCode += '<td style="text-align:center; "><span  class="iconify" data-icon="mdi:thermometer-plus"></span> : ';
                                                      htmlCode += tempMax;
                                                      htmlCode += ' °C</td>';
                                                      htmlCode += '<td colspan="2" style="text-align:center; ">';
                                                      htmlCode += description;
                                                      htmlCode += '</td>';
                                                      htmlCode += '</tr>';
                                                  }else{
                                                      log('Es sind keine Wetter-Adapter installiert -> keine Anzeige möglich','warn');
                                                  }
                                              }
                                              if (dwdActive){
                                                  if (proofDWDinstalled()){
                                                      if (proofDWDWarning()){
                                                          htmlCode += '<tr>';
                                                          htmlCode += '<td colspan="4" style="text-align:center; color:grey;">';
                                                          htmlCode += 'DWD - Warnungen vorhanden';
                                                          htmlCode += '</td>';
                                                          htmlCode += '</tr>';
                                                          if (dwdDetails){
                                                              htmlCode += '<tr>';
                                                              htmlCode += '<td style="text-align:center; color:green; ">';
                                                              htmlCode += 'Start';
                                                              htmlCode += '</td>';
                                                              htmlCode += '<td style="text-align:center; color:green;">';
                                                              htmlCode += 'Ende';
                                                              htmlCode += '</td>';
                                                              htmlCode += '<td colspan="2" style="text-align:center; color:green;">';
                                                              htmlCode += 'Event';
                                                              htmlCode += '</td>';
                                                              htmlCode += '</tr>';
                                                              let arrWarn = $('dwd.0.*.object');
                                                              for(let i=0;i<arrWarn.length;i++){
                                                                  let warnObj = getState(arrWarn[i]).val;
                                                                  if (typeof(warnObj) == 'string'){
                                                                          warnObj = JSON.parse(warnObj);
                                                                  }
                                                                  if (JSON.stringify(warnObj) != '{}'){
                                                                      htmlCode += '<tr>';
                                                                      htmlCode += '<td style="text-align:center; ">';
                                                                      htmlCode += formatDate(warnObj.start,'W hh:mm');
                                                                      htmlCode += '</td>';
                                                                      htmlCode += '<td style="text-align:center; ">';
                                                                      htmlCode += formatDate(warnObj.end,'W hh:mm');
                                                                      htmlCode += '</td>';
                                                                      htmlCode += '<td colspan="2" style="text-align:center; ">';
                                                                      htmlCode += warnObj.event;
                                                                      htmlCode += '</td>';
                                                                      htmlCode += '</tr>';
                                                                  }
                                                              }
                                                          }
                                                      }
                                                  }
                                              }
                                           
                                              htmlCode += '</table>';
                                              htmlCode += '</body></html>';
                                              setState(htmlDP,htmlCode,false);
                                          }
                                           
                                          
                                          

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

                                          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

                                          629

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe