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

  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.3k

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

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

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 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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        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 ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                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
                                    • K Offline
                                      K Offline
                                      KaWe
                                      schrieb am zuletzt editiert von
                                      #2310

                                      Hallo zusammen,

                                      am Wochenende habe ich mal den HistoryGraph -Adapter getestet. Aber... ich habe einen Aussentemperaturwert, dieser wird angezeigt. 2 weitere Werte aber nicht, auch nicht auf einem extra-Widget einzeln. Im normalen Float bekomme ich es aber angezeigt, die Einrichtung ist wie beid er Aussentemperatur, lediglich die Quelle unterscheidet sich: Aussentemperatur = openweathermap (openweathermap.0.forecast.current.temperature), die andere beiden Werte kommen aus Homematic (Wandthermostat Kinderzimmer:1.TEMPERATURE). Hat irgendeiner eine Idee an was das liegen könnte?

                                      35c9c19c-5b9b-496b-8ffe-7c96ddb1747d-image.png

                                      a6c08458-c7cb-4908-bbcd-16dd391333a8-image.png

                                      23f12bc1-0caa-45ff-9d09-ee1f94a60a33-image.png

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • K KaWe

                                        Hallo zusammen,

                                        am Wochenende habe ich mal den HistoryGraph -Adapter getestet. Aber... ich habe einen Aussentemperaturwert, dieser wird angezeigt. 2 weitere Werte aber nicht, auch nicht auf einem extra-Widget einzeln. Im normalen Float bekomme ich es aber angezeigt, die Einrichtung ist wie beid er Aussentemperatur, lediglich die Quelle unterscheidet sich: Aussentemperatur = openweathermap (openweathermap.0.forecast.current.temperature), die andere beiden Werte kommen aus Homematic (Wandthermostat Kinderzimmer:1.TEMPERATURE). Hat irgendeiner eine Idee an was das liegen könnte?

                                        35c9c19c-5b9b-496b-8ffe-7c96ddb1747d-image.png

                                        a6c08458-c7cb-4908-bbcd-16dd391333a8-image.png

                                        23f12bc1-0caa-45ff-9d09-ee1f94a60a33-image.png

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

                                        @kawe Zeig mal bitte die Einträge von den 3 Temperaturen und die dazugehörigen Jarvis-Geräte:
                                        7f53a53a-d871-4ff8-ac70-3bdca117b909-image.png

                                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • M MCU

                                          @kawe Zeig mal bitte die Einträge von den 3 Temperaturen und die dazugehörigen Jarvis-Geräte:
                                          7f53a53a-d871-4ff8-ac70-3bdca117b909-image.png

                                          K Offline
                                          K Offline
                                          KaWe
                                          schrieb am zuletzt editiert von
                                          #2312

                                          @mcu

                                          5b178111-a8d6-4d13-8814-5631a93b6070-image.png

                                          Aussentemperatur:
                                          b2de0992-e283-4412-85bc-6d2a54926494-image.png

                                          Temperatur Hauptbad:
                                          b9e50d01-5b99-4aba-887e-240ef43751d4-image.png

                                          Testweise habe ich jetzt bei einem Wert mal einen anderen Datenpunkt genommen, wobei es ja eigentlich egal ist solange da der richtige Wert drinsteht, oder?

                                          Habe es auch mal als einzelne Geräte angelegt, vorher in einem Gerät zusammengepackt. Das funktioniert bei einem anderen Graph (Up-, Downloadspeed) ja auch.

                                          M 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

                                          309

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