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 @Jason last edited by

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

      Habe mir eine Unwetterwarnung angelegt! Funktioniert soweit auch....nur wie bekomme ich das richtige Zeitformat hin?
      Im Moment Zeit er mir z.B. :
      Beginn: 1610841600000
      Wie bekomme ich das richtig formatiert? Geht das mit JSON?

      Ich habe mir mit einem script geholfen, welches die Daten vom DWD Adapter einsammelt, formatiert und in Datenpunkte schreibt. Angezeigt werden sie dann als CustomHtml.

      Wetterwarnungen-2021-01-18 12_06_30-Window.png

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

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

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

        Habe mir eine Unwetterwarnung angelegt! Funktioniert soweit auch....nur wie bekomme ich das richtige Zeitformat hin?
        Im Moment Zeit er mir z.B. :
        Beginn: 1610841600000
        Wie bekomme ich das richtig formatiert? Geht das mit JSON?

        Ich habe mir mit einem script geholfen, welches die Daten vom DWD Adapter einsammelt, formatiert und in Datenpunkte schreibt. Angezeigt werden sie dann als CustomHtml.

        Wetterwarnungen-2021-01-18 12_06_30-Window.png

        @frajop : Sehr cool. Kannst du das Script mit uns teilen

        F JayR 2 Replies Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            483
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            81
                                            453
                                            92247
                                            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