Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Showcase] Jarvis - just another remarkable vis

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Showcase] Jarvis - just another remarkable vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      frajop @JayR last edited by

      @jayr nicht besonders elegant, geht aber .....
      Ich habe in Jarvis ein Gerät 'DWD' mit den Datenpunkten angelegt, diese können dann als CustomHtml angezeigt werden

      // Meldungen von DWD Adapter in HTML formatieren für jarvis - Anzeige
      
      // Datenpunkte 
      createState('0_userdata.0.DWD.headline' , "-", { read: true, write: true, type: 'string', name: 'DWDheadline' });
      createState('0_userdata.0.DWD.zeitraum' , "-", { read: true, write: true, type: 'string', name: 'DWDzeitraum' });
      createState('0_userdata.0.DWD.text', "-",      { read: true, write: true, type: 'string', name: 'DWDtext' });
      createState('0_userdata.0.DWD.headline1', " ", { read: true, write: true, type: 'string', name: 'DWDheadline' });
      createState('0_userdata.0.DWD.zeitraum1', " ", { read: true, write: true, type: 'string', name: 'DWDzeitraum' });
      createState('0_userdata.0.DWD.text1', " ",     { read: true, write: true, type: 'string', name: 'DWDtext' });
      createState('0_userdata.0.DWD.headline2', " ", { read: true, write: true, type: 'string', name: 'DWDheadline' });
      createState('0_userdata.0.DWD.zeitraum2', " ", { read: true, write: true, type: 'string', name: 'DWDzeitraum' });
      createState('0_userdata.0.DWD.text2', " ",     { read: true, write: true, type: 'string', name: 'DWDtext' });
      
      //--------------------------------------------------------------------------------------
      var f_begin = " ";
      var f_end = " ";
      var headline = " ";
      var zeitraum = " ";
      var text = " ";
      var level = " ";
      
      schedule('*/5 * * * *', function () {        // alle 5 min
      
         //***** Erste Warnung ****************************************************
         var begin = getState('dwd.0.warning.begin').val;      
         var end   = getState('dwd.0.warning.end').val;
         if ((begin === null) && (end === null)) {
             // keine Meldungen aktiv
             log ("DWD - Keine Warnungen");
             headline = '<b>Keine Warnungen</b>';
             zeitraum = " ";
             text = " ";
             level = " ";
             setState('0_userdata.0.DWD.headline', headline);
             setState('0_userdata.0.DWD.zeitraum', zeitraum);
             setState('0_userdata.0.DWD.text', text);
         }
         else {
             // Meldungen vorhanden
             log("DWD - Warnungen aktiv");
      
             // date/time formatieren
             if (begin != null) {
                 if (end != null) {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr bis ');
                 } else {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr');
                 }
             } else {
                 f_begin = " ";
             }
             if (end != null) {
                 f_end = (formatDate(end, "WW TT.MM.JJJJ S") + ' Uhr');
             } else {
                 f_end = " ";
             }
      
             // LEVEL
             level = ' (Stufe ' + getState('dwd.0.warning.severity').val + ')';
             // Headline bold
             headline = '<b>' + getState('dwd.0.warning.headline').val + '</b>' + level;
             setState('0_userdata.0.DWD.headline', headline);
             zeitraum = f_begin + f_end; 
             setState('0_userdata.0.DWD.zeitraum', '<i>' + zeitraum + '</i>');
             text = getState('dwd.0.warning.description').val;
             setState('0_userdata.0.DWD.text', text + '<br>&nbsp;<hr>');
         }
      
         //***** Nächste Warnung ****************************************************
         begin = getState('dwd.0.warning1.begin').val;      
         end   = getState('dwd.0.warning1.end').val;
         if ((begin === null) && (end === null)) {
             // keine Meldungen aktiv
             log ("keine 2te Warnung");
             headline = " ";
             zeitraum = " ";
             text = " ";
             level = " ";
             setState('0_userdata.0.DWD.headline1', headline);
             setState('0_userdata.0.DWD.zeitraum1', zeitraum);
             setState('0_userdata.0.DWD.text1', text);
         }
         else {
             // Meldungen vorhanden
             log("DWD - 2te Warnung aktiv");
             // date/time formatieren
             if (begin != null) {
                 if (end != null) {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr bis ');
                 } else {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr');
                 }
             } else {
                 f_begin = " ";
             }
             if (end != null) {
                 f_end = (formatDate(end, "WW TT.MM.JJJJ S") + ' Uhr');
             } else {
                 f_end = " ";
             }
             // LEVEL
             level = ' (Stufe ' + getState('dwd.0.warning1.severity').val + ')';
             // Headline bold
             headline = '<b>' + getState('dwd.0.warning1.headline').val + '</b>' + level;
             setState('0_userdata.0.DWD.headline1', headline);
             zeitraum = f_begin + f_end;
             setState('0_userdata.0.DWD.zeitraum1', '<i>' + zeitraum + '</i>');
             text = getState('dwd.0.warning1.description').val;
             setState('0_userdata.0.DWD.text1', text + '<br>&nbsp;<hr>');
         }
      
         //***** Übernächste Warnung ****************************************************
         begin = getState('dwd.0.warning2.begin').val;      
         end   = getState('dwd.0.warning2.end').val;
         if ((begin === null) && (end === null)) {
             // keine Meldungen aktiv
             log ("keine 3te Warnung");
             headline = " ";
             zeitraum = " ";
             text = " ";
             level = " ";
             setState('0_userdata.0.DWD.headline2', headline);
             setState('0_userdata.0.DWD.zeitraum2', zeitraum);
             setState('0_userdata.0.DWD.text2', text);
         }
         else {
             // Meldungen vorhanden
             log("DWD - 3te Warnung aktiv");
             // date/time formatieren
             if (begin != null) {
                 if (end != null) {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr bis ');
                 } else {
                     f_begin = (formatDate(begin, "WW TT.MM.JJJJ S") + ' Uhr');
                 }
             } else {
                 f_begin = " ";
             }
             if (end != null) {
                 f_end = (formatDate(end, "WW TT.MM.JJJJ S") + ' Uhr');
             } else {
                 f_end = " ";
             }
             // LEVEL
             level = ' (Stufe ' + getState('dwd.0.warning2.severity').val + ')';
             // Headline bold
             headline = '<b>' + getState('dwd.0.warning2.headline').val + '</b>' + level;
             setState('0_userdata.0.DWD.headline2', headline);
             zeitraum = f_begin + f_end;
             setState('0_userdata.0.DWD.zeitraum2', '<i>' + zeitraum + '</i>');
             text = getState('dwd.0.warning2.description').val;
             setState('0_userdata.0.DWD.text2', text + '<br>&nbsp;<hr>');
         }
      });
      
      

      C M 2 Replies Last reply Reply Quote 1
      • Zefau
        Zefau @ChrisPrefect last edited by

        @chrisprefect sagte in [Showcase] Jarvis - just another remarkable vis:

        UPDATE: OK, ich habe den Expertenmodus gefunden und die Konfiguration der Geräte gelöscht. Das hat zwar korrekt alle Geräte entfernt, jedoch kommt jetzt nur noch ein Error wenn ich aus dem Expertenmodus zurückschalten will.

        Schau mal in jarvis.0.devices. Das ist das, was du bearbeitet hast. Schau mal in https://jsonformatter.curiousconcept.com/, ob es valides json ist.

        ChrisPrefect 1 Reply Last reply Reply Quote 0
        • smile
          smile last edited by

          @zefau Es ist mir nicht gelungen einen ganzen Tab z.B. bei einem true oder false Wert komplett andersfarbig darzustellen.
          In HabPanel konnte man das machen, so um z.B. sehr deutlich zu visualisieren dass die Alarmanlage scharf ist (=true) war der komplette Schalter rot gefärbt.

          Zefau 1 Reply Last reply Reply Quote 0
          • Zefau
            Zefau @smile last edited by

            @smile sagte in [Showcase] Jarvis - just another remarkable vis:

            Es ist mir nicht gelungen einen ganzen Tab z.B. bei einem true oder false Wert komplett andersfarbig darzustellen.

            Die einzelnen Tabs der Tab-Leiste können aktuell nicht in Abhängigkeit eines Datenpunktwerts verändert werden (sofern du diese Tabs meinst).

            smile 1 Reply Last reply Reply Quote 0
            • smile
              smile @Zefau last edited by smile

              @zefau Vermutlich meinte ich das, wobei es eher ein einzelnes Gerät in dem Falle wäre, welches unterschiedliche Farben je nach Zustand haben sollte.
              Ich vermute das ist nicht vorgesehen?
              Edit: Hier nochmal zur Verdeutlichung: Dieses Feld sollte nach meiner Vorstellung die Farbe ändern - so ist es in HabPanel möglich
              Snapshot 2021-01-18 22.53.06.png

              Zefau 2 Replies Last reply Reply Quote 0
              • Zefau
                Zefau @smile last edited by

                @smile sagte in [Showcase] Jarvis - just another remarkable vis:

                Vermutlich meinte ich das, wobei es eher ein einzelnes Gerät in dem Falle wäre, welches unterschiedliche Farben je nach Zustand haben sollte.

                Du kannst das Icon und den Datenpunkt-Wert in Abhängigkeit des Wertes stylen. Die Beschriftung selbst (noch) nicht.

                smile 1 Reply Last reply Reply Quote 0
                • Zefau
                  Zefau @smile last edited by

                  @smile sagte in [Showcase] Jarvis - just another remarkable vis:

                  Edit: Hier nochmal zur Verdeutlichung: Dieses Feld sollte nach meiner Vorstellung die Farbe ändern - so ist es in HabPanel möglich

                  Kann ich gerne aufnehmen.

                  1 Reply Last reply Reply Quote 1
                  • smile
                    smile @Zefau last edited by

                    @zefau Ok danke.

                    Hier nochmal das Beispiel Aus Habpanel, zur Verdeutlichung.
                    HABPanel - Mozilla Firefox 2021-01-18 22.54.31.png

                    1 Reply Last reply Reply Quote 0
                    • JayR
                      JayR @JayR last edited by JayR

                      @frajop said in [Showcase] Jarvis - just another remarkable vis:

                      nicht besonders elegant, geht aber .....
                      Ich habe in Jarvis ein Gerät 'DWD' mit den Datenpunkten angelegt, diese können dann als CustomHtml angezeigt werden

                      @frajop : Richtig cool vielen Dank!

                      1 Reply Last reply Reply Quote 0
                      • H
                        Hohenbostler last edited by

                        Hi zusammen. Hat jemand schon was schönes grafisches mit dem Heatingcontrol Adapter umgesetzt ?

                        Stephan Schleich 1 Reply Last reply Reply Quote 0
                        • Stephan Schleich
                          Stephan Schleich @Hohenbostler last edited by Stephan Schleich

                          @hohenbostler Das ist derzeit eigentlich fast unmöglich schön, übersichtlich & Platzsparend zu visualisieren, weil es zu viele infos sind und man keine multiple tiggers machen kann, es gibt aber bereits ein modul request könnt ihr gerne upvoten.

                          https://github.com/Zefau/ioBroker.jarvis/issues/487
                          https://github.com/Zefau/ioBroker.jarvis/issues/486

                          duczz created this issue in Zefau/ioBroker.jarvis

                          closed Mehrere Trigger einem Device zuweisen #487

                          duczz created this issue in Zefau/ioBroker.jarvis

                          open HeatingControl Modul #486

                          1 Reply Last reply Reply Quote 0
                          • F
                            FuXXz2 last edited by

                            Einfach eine vorhandene Heating Control von VIS in jarvis anzeigen lassen. Klappt wunderbar.

                            Was schönes grafisches und iobroker schließt sich aber fast immer aus 🙂

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              Hohenbostler @FuXXz2 last edited by

                              @fuxxz2 sagte in [Showcase] Jarvis - just another remarkable vis:

                              Einfach eine vorhandene Heating Control von VIS in jarvis anzeigen lassen. Klappt wunderbar.

                              Was schönes grafisches und iobroker schließt sich aber fast immer aus 🙂

                              Leider nicht möglich da ich den VIS Adapter nicht installiert habe 😉

                              1 Reply Last reply Reply Quote 0
                              • ChrisPrefect
                                ChrisPrefect @Zefau last edited by

                                @zefau Ja, es ist "" bzw. "{}" 😉 Es sollte ja funktionieren, wenn ich alles rauslösche? Oder was ist der minimal-Datensatz damit keine Fehlermeldung produziert wird?

                                Stephan Schleich 1 Reply Last reply Reply Quote 0
                                • Stephan Schleich
                                  Stephan Schleich @ChrisPrefect last edited by

                                  kann jemand folgenden iframe bug in kombi mit der VIS bestätigen.
                                  Mehrere iframes zur vis mit unterschiedlichen views, diese werden bei Jarvis Tab wechsel auf ein anderen in jarvis hinterlegten iframe link zurückgesetzt

                                  Zefau 1 Reply Last reply Reply Quote 0
                                  • Zefau
                                    Zefau @Stephan Schleich last edited by

                                    @stephan-schleich sagte in [Showcase] Jarvis - just another remarkable vis:

                                    Mehrere iframes zur vis mit unterschiedlichen views, diese werden bei Jarvis Tab wechsel auf ein anderen in jarvis hinterlegten iframe link zurückgesetzt

                                    https://github.com/Zefau/ioBroker.jarvis/issues/558

                                    duczz created this issue in Zefau/ioBroker.jarvis

                                    closed iframe #558

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      groxxi last edited by

                                      Hi, erstmal ein großes Lob, selbst ich als Anfänger konnte in kurzer Zeit schon einiges in Jarvis realisieren. Ich bin gerade dabei den Müllkalender zu integrieren und würde gerne den Wert daysLeft vom trashshedule Adapter formatieren.
                                      Aus der Zahl die der Datenpunkt liefert z.B. 7 würde ich gerne "in 7 Tagen" machen.
                                      Und bei einer 1 "wird morgen abgeholt".

                                      Dazu müsste ich den Datenpunkt daysLeft in der Formatierung mit angeben können, geht das?

                                      {"1":"Wird morgen abgeholt","default":"in %daysLeft% Tagen"}
                                      So habe ich es versucht, klappt leider nicht, der Fall 1 wird wohl gehen aber die default Formatierung passt nicht.

                                      Hier zu sehen beim Gerät Biomüll habe ich die obige JSON Formatierung eingetragen.
                                      02b1899f-a3eb-435d-bc5c-574f501df6e9-image.png

                                      M F 2 Replies Last reply Reply Quote 0
                                      • M
                                        MCU @groxxi last edited by MCU

                                        @groxxi Du kannst ja eine Einheit "Tage" festlegen.
                                        8f898c2b-7eeb-4d2d-8ade-825ba6a8fffc-image.png
                                        Für Dich musst du dann halt die "1" noch definieren.

                                        c9815e53-a0b7-46a0-abd2-aebbb7082b73-image.png

                                        G 1 Reply Last reply Reply Quote 1
                                        • G
                                          groxxi @MCU last edited by

                                          @mcu
                                          Danke auf die Idee bin ich nicht gekommen, ist zwar nicht zu 100% das was ich wollte "in X Tagen" fände ich etwas schöner aber so ist es auch in Ordnung.

                                          Sieht dann so aus bei mir:
                                          8fb66a4b-2425-4370-a8f1-ed76b2fd9e4f-image.png

                                          9eacbf4a-e58b-414d-aba6-20ac8b54f664-image.png

                                          Auch die Formatierung der 1 mit "wird morgen abgeholt" in Rot funktioniert so.
                                          Hab ich ausprobiert.

                                          K 1 Reply Last reply Reply Quote 1
                                          • F
                                            frajop @groxxi last edited by

                                            @groxxi sagte in [Showcase] Jarvis - just another remarkable vis:

                                            Aus der Zahl die der Datenpunkt liefert z.B. 7 würde ich gerne "in 7 Tagen" machen.
                                            Und bei einer 1 "wird morgen abgeholt".

                                            Für den Datenpunkt trägst du für Anzeigevariante ein:

                                            {"0":"heute","1":"morgen"}
                                            

                                            und für Einheit:

                                            {"default":"Tage","=1":"","=0":""}
                                            

                                            Dann wird heute, morgen, in xx Tagen anzeigt

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            81
                                            453
                                            92315
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo