Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v2.2.0 - just another remarkable vis

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

jarvis v2.2.0 - just another remarkable vis

Scheduled Pinned Locked Moved Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
6.1k Posts 316 Posters 4.3m Views 273 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MCU

    @Zefau Wenn dort ein x ist, ist es noch nicht hochgeladen?
    6a029537-5946-410e-862f-bb0f4aeecab0-image.png

    U Offline
    U Offline
    uwe72
    wrote on last edited by uwe72
    #2627

    Erst einmal Danke an @Zefau für die wirklich exzellente Arbeit mit diesem Adapter. Die Visualisierung ist prinzipiell komplett ohne große Kenntnisse zu erstellen, bietet aber insbesondere durch das CustomHTMLWidget viele Möglichkeiten, individuelle Visualisierungen zu erstellen.

    Das einzige was mich stört ist, dass die Topbar, d.h. die Menüleiste in vertikaler Richtung so viel Platz in Anspruch nimmt. Eigentlich besteht doch bei den meisten Visualisierungen Platzmangel. Ich brauche den Platz um noch mehr auf die "erste Seite" zu packen, siehe Screenshot.

    Weiß nicht, ob die Community, d.h. die Anwender dies nicht noch öfters stört? Falls doch, würde ich mir wünschen, dass ihr für den dafür vorgesehenen FeatureRequest "votet", d.h. unterstützt:
    https://github.com/Zefau/ioBroker.jarvis/issues/124

    Danke Euch!

    2020-12-30 12.12.52.jpg

    SlowmanS 1 Reply Last reply
    1
    • ZefauZ Offline
      ZefauZ Offline
      Zefau
      wrote on last edited by Zefau
      #2628

      v2.1.0 nun im Latest (als v2.1.0-rc.1)

      Ankündigung auf Facebook: https://www.facebook.com/groups/440499112958264/permalink/1390299254644907 (gerne liken)

      Ankündigung auf Github: https://github.com/Zefau/ioBroker.jarvis/releases/tag/v2.1.0-rc.1


      NEUE FEATURES:

      • Einführungstutorial mit automatischer Erstellung einer vis, sofern noch keine vorhanden ist! Einfach jarvis öffnen und direkt starten (abhängig genutzter Adapter) [ siehe animiertes gif ]
      • Custom CSS / Eigene Styles mit CSS in jarvis nutzen und dadurch jegliche Komponenten im Stil ändern
      • Support für den Import von ioBroker.mihome-vacuum, ioBroker.knx, ioBroker.nuki-extended und ioBroker.tr-064 sowie mehr Geräte von ioBroker.hm-rpc (nicht vergessen: alles was aktuell nicht importiert wird kann immer auch manuell angelegt werden)
      • Modul StateList: Trigger können nun mit sekundären Datenpunkt-Werten kombiniert werden. Auch kann der primäre Datenpunkt-Wert mit angezeigt werden. Es sind nun viele Kombinationsmöglichkeiten darstellbar
      • Objekt-Explorer zur schnellen Auswahl von Datenpunkten bei manueller Anlage eines Geräts [ siehe Screenshot ]
      • JSON-Editor für alle JSON-Felder, um diese bei der Geräte-Anlage oder -Änderung einfacher bearbeiten zu können [ siehe Screenshot ]
      • Gruppierung für die Geräte-Liste (nach Gewerken oder Herstellern)
      • Filterung / Suche in der Geräte-Liste zum schnellen Auffinden der Geräte anhand verschiedener Felder / Attribute
      • Modul StateList: Geräte in Gruppen können nun dediziert angesteuert (bzw. ausgeschlossen) werden
      • Modul Kalender: Unterstützung von wiederkehrenden Terminen / Terminserien
      • Eckige Widgets (bzw. Auswahl zwischen eckig und rund)
      • neue Komponente CustomTextBody, um individuellen Text (statt letzter Änderung) anzuzeigen
      • Komponente LightColorBody erkennt nun den Farbmodus automatisch

      Meine Adapter: https://zefau.github.io/iobroker/

      Stephan SchleichS 1 Reply Last reply
      3
      • ZefauZ Zefau

        v2.1.0 nun im Latest (als v2.1.0-rc.1)

        Ankündigung auf Facebook: https://www.facebook.com/groups/440499112958264/permalink/1390299254644907 (gerne liken)

        Ankündigung auf Github: https://github.com/Zefau/ioBroker.jarvis/releases/tag/v2.1.0-rc.1


        NEUE FEATURES:

        • Einführungstutorial mit automatischer Erstellung einer vis, sofern noch keine vorhanden ist! Einfach jarvis öffnen und direkt starten (abhängig genutzter Adapter) [ siehe animiertes gif ]
        • Custom CSS / Eigene Styles mit CSS in jarvis nutzen und dadurch jegliche Komponenten im Stil ändern
        • Support für den Import von ioBroker.mihome-vacuum, ioBroker.knx, ioBroker.nuki-extended und ioBroker.tr-064 sowie mehr Geräte von ioBroker.hm-rpc (nicht vergessen: alles was aktuell nicht importiert wird kann immer auch manuell angelegt werden)
        • Modul StateList: Trigger können nun mit sekundären Datenpunkt-Werten kombiniert werden. Auch kann der primäre Datenpunkt-Wert mit angezeigt werden. Es sind nun viele Kombinationsmöglichkeiten darstellbar
        • Objekt-Explorer zur schnellen Auswahl von Datenpunkten bei manueller Anlage eines Geräts [ siehe Screenshot ]
        • JSON-Editor für alle JSON-Felder, um diese bei der Geräte-Anlage oder -Änderung einfacher bearbeiten zu können [ siehe Screenshot ]
        • Gruppierung für die Geräte-Liste (nach Gewerken oder Herstellern)
        • Filterung / Suche in der Geräte-Liste zum schnellen Auffinden der Geräte anhand verschiedener Felder / Attribute
        • Modul StateList: Geräte in Gruppen können nun dediziert angesteuert (bzw. ausgeschlossen) werden
        • Modul Kalender: Unterstützung von wiederkehrenden Terminen / Terminserien
        • Eckige Widgets (bzw. Auswahl zwischen eckig und rund)
        • neue Komponente CustomTextBody, um individuellen Text (statt letzter Änderung) anzuzeigen
        • Komponente LightColorBody erkennt nun den Farbmodus automatisch
        Stephan SchleichS Offline
        Stephan SchleichS Offline
        Stephan Schleich
        wrote on last edited by Stephan Schleich
        #2629

        @Zefau Früher wars doch so das wenn ich den Body Datepunkt geändert habe das sich der primäre Datenpunkt mit auf diesen Werte geändert hat, das geht nun nicht mehr beabsichtigt?

        Des Weiteren wird der Trigger aus dem Device nicht mit ins Layout gezogen.

        1aaea1d9-4300-4bcf-8907-c2a03b5ad342-image.png

        @sigi234 sagte in jarvis v2.1.0 - just another remarkable vis:

        Läuft.

        Screenshot (3013).png

        Also bei mir lässt es sich nicht installieren, bleibt bei Beta 33 stehen

        ZefauZ 2 Replies Last reply
        0
        • Stephan SchleichS Stephan Schleich

          @Zefau Früher wars doch so das wenn ich den Body Datepunkt geändert habe das sich der primäre Datenpunkt mit auf diesen Werte geändert hat, das geht nun nicht mehr beabsichtigt?

          Des Weiteren wird der Trigger aus dem Device nicht mit ins Layout gezogen.

          1aaea1d9-4300-4bcf-8907-c2a03b5ad342-image.png

          @sigi234 sagte in jarvis v2.1.0 - just another remarkable vis:

          Läuft.

          Screenshot (3013).png

          Also bei mir lässt es sich nicht installieren, bleibt bei Beta 33 stehen

          ZefauZ Offline
          ZefauZ Offline
          Zefau
          wrote on last edited by
          #2630

          @Stephan-Schleich sagte in jarvis v2.1.0 - just another remarkable vis:

          Früher wars doch so das wenn ich den Body Datepunkt geändert habe das sich der primäre Datenpunkt mit auf diesen Werte geändert hat, das geht nun nicht mehr beabsichtigt?

          Nein, das war nie so. Früher war es so, dass wenn du den primären Datenpunkt geändert hast, dann hat sich auch der Aktions-Datenpunkt geändert. Aber die Unterscheidung gibt es nicht mehr und ist vereinheitlicht.

          Meine Adapter: https://zefau.github.io/iobroker/

          1 Reply Last reply
          0
          • Stephan SchleichS Stephan Schleich

            @Zefau Früher wars doch so das wenn ich den Body Datepunkt geändert habe das sich der primäre Datenpunkt mit auf diesen Werte geändert hat, das geht nun nicht mehr beabsichtigt?

            Des Weiteren wird der Trigger aus dem Device nicht mit ins Layout gezogen.

            1aaea1d9-4300-4bcf-8907-c2a03b5ad342-image.png

            @sigi234 sagte in jarvis v2.1.0 - just another remarkable vis:

            Läuft.

            Screenshot (3013).png

            Also bei mir lässt es sich nicht installieren, bleibt bei Beta 33 stehen

            ZefauZ Offline
            ZefauZ Offline
            Zefau
            wrote on last edited by
            #2631

            @Stephan-Schleich sagte in jarvis v2.1.0 - just another remarkable vis:

            Des Weiteren wird der Trigger aus dem Device nicht mit ins Layout gezogen.

            Das ist Absicht. Es ist Show State stattdessen angewählt.

            Meine Adapter: https://zefau.github.io/iobroker/

            W 1 Reply Last reply
            0
            • ZefauZ Zefau

              @Stephan-Schleich sagte in jarvis v2.1.0 - just another remarkable vis:

              Des Weiteren wird der Trigger aus dem Device nicht mit ins Layout gezogen.

              Das ist Absicht. Es ist Show State stattdessen angewählt.

              W Offline
              W Offline
              watcherkb
              wrote on last edited by watcherkb
              #2632

              @Zefau mit dem neuen RC1 habe ich Probleme beim Aufrufen der Settings. Ich hatte bereits Einstellungen aus früheren Versionen.

              Edit: getestet mit Edge und Firefox

              Zuerst kommt die Willkommen Box, nach Klick auf "Weiter" sehe ich nur noch "Unknown Error"
              d42b16d9-ec5d-431a-b6f2-91e5c1b283bf-image.png
              c979b0e7-d3b7-45a7-99bf-fdf872a0ca82-image.png

              CC2538+CC2592 PA-Zigbee-Funkmodul

              ZefauZ 1 Reply Last reply
              0
              • W watcherkb

                @Zefau mit dem neuen RC1 habe ich Probleme beim Aufrufen der Settings. Ich hatte bereits Einstellungen aus früheren Versionen.

                Edit: getestet mit Edge und Firefox

                Zuerst kommt die Willkommen Box, nach Klick auf "Weiter" sehe ich nur noch "Unknown Error"
                d42b16d9-ec5d-431a-b6f2-91e5c1b283bf-image.png
                c979b0e7-d3b7-45a7-99bf-fdf872a0ca82-image.png

                ZefauZ Offline
                ZefauZ Offline
                Zefau
                wrote on last edited by
                #2633

                @watcherkb sagte in jarvis v2.1.0 - just another remarkable vis:

                Zuerst kommt die Willkommen Box, nach Klick auf "Weiter" sehe ich nur noch "Unknown Error"

                hm, mist, du hattest wahrscheinlich den Expertenmodus an?

                Meine Adapter: https://zefau.github.io/iobroker/

                W 1 Reply Last reply
                0
                • ZefauZ Zefau

                  @watcherkb sagte in jarvis v2.1.0 - just another remarkable vis:

                  Zuerst kommt die Willkommen Box, nach Klick auf "Weiter" sehe ich nur noch "Unknown Error"

                  hm, mist, du hattest wahrscheinlich den Expertenmodus an?

                  W Offline
                  W Offline
                  watcherkb
                  wrote on last edited by
                  #2634

                  @Zefau jap, habe das vorher an gehabt, das sieht man auch kurz aufpoppen dann kommt der rote Fehler

                  CC2538+CC2592 PA-Zigbee-Funkmodul

                  ZefauZ 1 Reply Last reply
                  0
                  • W watcherkb

                    @Zefau jap, habe das vorher an gehabt, das sieht man auch kurz aufpoppen dann kommt der rote Fehler

                    ZefauZ Offline
                    ZefauZ Offline
                    Zefau
                    wrote on last edited by
                    #2635

                    @watcherkb sagte in jarvis v2.1.0 - just another remarkable vis:

                    jap, habe das vorher an gehabt, das sieht man auch kurz aufpoppen dann kommt der rote Fehler

                    kannst du mal die v2.1.0-rc.2 von Github probieren?

                    Meine Adapter: https://zefau.github.io/iobroker/

                    W 1 Reply Last reply
                    0
                    • ZefauZ Zefau

                      @watcherkb sagte in jarvis v2.1.0 - just another remarkable vis:

                      jap, habe das vorher an gehabt, das sieht man auch kurz aufpoppen dann kommt der rote Fehler

                      kannst du mal die v2.1.0-rc.2 von Github probieren?

                      W Offline
                      W Offline
                      watcherkb
                      wrote on last edited by
                      #2636

                      @Zefau super, Problem behoben. Merci

                      CC2538+CC2592 PA-Zigbee-Funkmodul

                      1 Reply Last reply
                      0
                      • ZefauZ Zefau

                        @emerq sagte in jarvis - just another remarkable vis:

                        Wieso fährt er bei Pfeil nach oben runter und umgekehrt?

                        Ist in KNX andersherum als bei anderen Adaptern und anders als die Logik in jarvis. Mit der aktuellen beta kannst du die Einstellungen diesbzgl. anpassen. Wobei ich hinzufügen muss, dass ich die Art und Weise wie es aktuell umgesetzt ist noch anpassen werde in der beta.

                        Was muss ich tun, damit der Stop Button funktioniert? (Oder geht der gar nicht und ich muss es über den jeweiligen anderen Button lösen)

                        Dazu ein Datenpunkt activity im Geräte anlegen. Als Datenpunkt muss die Aktivität hinterlegt werden und als Trigger der Stop-Button. Sofern es das im KNX gibt, das weiß ich nicht.

                        Welches Objekt aus KNX muss ich wo eintragen für den Status Rollladen geschlossen/offen

                        Hab kein KNX, daher weiß ich das hier leider nicht.

                        F Offline
                        F Offline
                        funky4t
                        wrote on last edited by funky4t
                        #2637

                        (!!gelöst: https://forum.iobroker.net/topic/28073/gelöst-datenpunkt-mit-button/2)
                        und in Jarvis funzt der Stop nun ebenso! :)!!)

                        @Zefau said in jarvis v2.1.0 - just another remarkable vis:

                        @emerq sagte in jarvis - just another remarkable vis:

                        Wieso fährt er bei Pfeil nach oben runter und umgekehrt?

                        Ist in KNX andersherum als bei anderen Adaptern und anders als die Logik in jarvis. Mit der aktuellen beta kannst du die Einstellungen diesbzgl. anpassen. Wobei ich hinzufügen muss, dass ich die Art und Weise wie es aktuell umgesetzt ist noch anpassen werde in der beta.

                        Was muss ich tun, damit der Stop Button funktioniert? (Oder geht der gar nicht und ich muss es über den jeweiligen anderen Button lösen)

                        Dazu ein Datenpunkt activity im Geräte anlegen. Als Datenpunkt muss die Aktivität hinterlegt werden und als Trigger der Stop-Button.


                        Moin Zusammen,
                        ich steh mir selbst heute im Weg....
                        Die Pfeile AUF/AB laufen jetzt nach Umkehrung MIN/MAX top, hatte nur nicht auf dem Schirm, das in LEVEL zu ändern, dachte das käme aus Activity. Jetzt scheitere ich am Stop-BUTTON:

                        Ich hab im ioBroker folgende Aliase für meine Rollos, kommende aus dem Rademacher Homepilot:

                        Alias DP.png

                        Der DP Action würde per Stop ja perfekt laufen, allerdings benötigt Activity hier einen Datenpunkt BUTTON. Jetzt komm ich als Anfänger/Nichtscripter arg ins Nachdenken.

                        Muss ich mir einen Datenpunkt/Button? Stop-Button über eigene Datenpunkte anlegen und ein Blockly-Script erstellen, welches dann jedesmal bei Auslösen den Wert "Stopp" in den Alias Action schreibt?

                        Hab zwar schon erfolgreich einige EIGENE Datenpunkte angelegt, aber einen BUTTON hab ich bisher noch nicht erzeugt, komm da auch irgendwie gedanklich überhaupt nicht weiter...weil ich da auch keine passenden Typ biem Anlegen finde....

                        Screenshot 2020-12-30 184756.png

                        Bin ich da auf dem Holzweg? Und falls ich den Button dann hab, ist der Weg über Blockly/Script überhaupt sinnig oder gibt es einen direkten Weg, den Button mit einer "Funktion" zu versehen?

                        Danke im Voraus für eure Hilfe! :)

                        1 Reply Last reply
                        0
                        • stephan1827S stephan1827

                          Da ich glaube das sich einige mit JSON schwer tun habe ich mal eine Datei erstellt wo ich verschiedene Varianten gemacht habe die ich so verwende. Vielleicht kann sich da der ein oder andere was raus ziehen.

                          // ----------------------------------------------------------------------
                          // Rollo Icon Stil, blau wenn unter 50%, grün wenn über 50%
                          {
                              "default": {
                                  "color": "#4287f5"
                              },
                              ">50": {
                                  "color": "#090"
                              }
                          }
                          // Rollo Anzeigevariante, Zeige Oben bei 100, Unten bei 0, sonst Wert
                          {
                              "0": "Unten",
                              "100": "Oben"
                          }
                          // Rollo Einheit, Zeige Prozent bei Wert zwischen 0 und 100
                          {
                              "0": "",
                              "100": "",
                              "default": "%"
                          }
                          // ----------------------------------------------------------------------
                          // Thermostat Icon Stil, rot wenn über 22° oder unter 15°, sonst grün
                          {
                              "default": {
                                  "color": "#090"
                              },
                              ">22": {
                                  "color": "#8f2e2e"
                              },
                              "<15": {
                                  "color": "#8f2e2e"
                              }
                          }
                          // ----------------------------------------------------------------------
                          // Licht Icon Stil, grün wenn true, sonst blau
                          {
                              "true": {
                                  "color": "#090"
                              },
                              "false": {
                                  "color": "#4287f5"
                              }
                          }
                          // ----------------------------------------------------------------------
                          // Wassermelder Icon, Tropfenalarm wenn true, sonst tropfen
                          {
                              "true": "water-alert",
                              "false": "water"
                          }
                          // Wassermelder Anzeigevariante
                          {
                              "false": "OK",
                              "true": "Alarm"
                          }
                          // ----------------------------------------------------------------------
                          // Fenster Anzeigevariante für HMIP-SWDO
                          {
                              "1": "window#open#true",
                              "0": "window#open#false"
                          }
                          // Fenster Icon
                          {
                              "1": "window-open-variant",
                              "0": "window-closed-variant"
                          }
                          // ----------------------------------------------------------------------
                          // Tür Anzeigevariante für HMIP-SWDO
                          {
                              "true": "door#open#true",
                              "false": "door#open#false"
                          }
                          // Tür Icon
                          {
                              "true": "door-open",
                              "false": "door-closed"
                          }
                          // ----------------------------------------------------------------------
                          // Allgemein Icon Stil, true=green, false=red
                          {
                              "true": {
                                  "color": "#090",
                                  "fontWeight": "normal"
                              },
                              "false": {
                                  "color": "#8f2e2e",
                                  "fontWeight": "bold"
                              }
                          }
                          // Allgemein Icon Stil, true=red, false=green
                          {
                              "true": {
                                  "color": "#8f2e2e",
                                  "fontWeight": "bold"
                              },
                              "false": {
                                  "color": "#090",
                                  "fontWeight": "normal"
                              }
                          }
                          // Allgemein Icon Stil, normal blau, bei <10 rot
                          {
                              "default":{"color": "#4287f5"},
                              "<10":{"color": "#8f2e2e"}
                           }
                          
                          dabbeljuhD Offline
                          dabbeljuhD Offline
                          dabbeljuh
                          wrote on last edited by
                          #2638

                          Hi @stephan1827, gute Idee, hier ein paar Beispiele zu listen. :+1:

                          Ich hätte da noch eine kleine Ergänzung vorzuschlagen, mit der man z.B. beim Unter-/Überschreiten einer Temperaturgrenze die Optik noch etwas wahrnehmbarer gestalten kann.

                          Das hier kommt ins Device:
                          {"<15":"mdi-thermometer blink",">22":"mdi-thermometer blink"}

                          Und das hier in den Bereich "Styles":
                          .blink {
                          animation: blinker 1s linear infinite;
                          }

                          @keyframes blinker {
                          50% { opacity: 0; }
                          }

                          Beste Grüße

                          dabbeljuh

                          ===

                          NUC, Z-Stick Gen5, maxCUL 433, JeeLink/LaCrosse, Zigbee-Stick; Z-Wave Tür-/Fenster u. Steckdosen, max! Tür-/Fenster u. Wandschalter, TX29DTH-IT, HUE, Osram, TP-Link, Xiaomi, IP-Cams, Echo Dot, Sonos, Home mini, Xiaomi Kontakte u. Sensoren

                          B sigi234S DNC74D 3 Replies Last reply
                          5
                          • dabbeljuhD Offline
                            dabbeljuhD Offline
                            dabbeljuh
                            wrote on last edited by
                            #2639

                            Mir ist eben ein kleines Problem mit dem Kalender-Widget aufgefallen. Wenn ich es im Popup-Modus betreibe, lässt sich eben jenes Popup nicht mehr schließen und nur mittels Reload der Seite beheben.

                            (Bin nach Update mit der aktuellen Beta unterwegs, hatte es zuvor aber auch schon in v30.)

                            Kann das jemand nachstellen? Falls ja, eröffne ich gerne ein Ticket in Github.

                            Beste Grüße

                            dabbeljuh

                            ===

                            NUC, Z-Stick Gen5, maxCUL 433, JeeLink/LaCrosse, Zigbee-Stick; Z-Wave Tür-/Fenster u. Steckdosen, max! Tür-/Fenster u. Wandschalter, TX29DTH-IT, HUE, Osram, TP-Link, Xiaomi, IP-Cams, Echo Dot, Sonos, Home mini, Xiaomi Kontakte u. Sensoren

                            ZefauZ 1 Reply Last reply
                            0
                            • U uwe72

                              Erst einmal Danke an @Zefau für die wirklich exzellente Arbeit mit diesem Adapter. Die Visualisierung ist prinzipiell komplett ohne große Kenntnisse zu erstellen, bietet aber insbesondere durch das CustomHTMLWidget viele Möglichkeiten, individuelle Visualisierungen zu erstellen.

                              Das einzige was mich stört ist, dass die Topbar, d.h. die Menüleiste in vertikaler Richtung so viel Platz in Anspruch nimmt. Eigentlich besteht doch bei den meisten Visualisierungen Platzmangel. Ich brauche den Platz um noch mehr auf die "erste Seite" zu packen, siehe Screenshot.

                              Weiß nicht, ob die Community, d.h. die Anwender dies nicht noch öfters stört? Falls doch, würde ich mir wünschen, dass ihr für den dafür vorgesehenen FeatureRequest "votet", d.h. unterstützt:
                              https://github.com/Zefau/ioBroker.jarvis/issues/124

                              Danke Euch!

                              2020-12-30 12.12.52.jpg

                              SlowmanS Offline
                              SlowmanS Offline
                              Slowman
                              wrote on last edited by
                              #2640

                              @uwe72

                              Screenshot_2020-12-30 1609329915900-2020-12-30-12 12 52 jpg (JPEG-Grafik, 1793 × 3146 Pixel).png

                              Wie hast du dies in die Tabelle bekommen?

                              U 1 Reply Last reply
                              1
                              • SlowmanS Slowman

                                @uwe72

                                Screenshot_2020-12-30 1609329915900-2020-12-30-12 12 52 jpg (JPEG-Grafik, 1793 × 3146 Pixel).png

                                Wie hast du dies in die Tabelle bekommen?

                                U Offline
                                U Offline
                                uwe72
                                wrote on last edited by
                                #2641

                                @Slowman Es handelt sich um ein HTML, welches ich in IoBroker mit JavaScript (aus den Datenpunkten des Abfalladapters) erstelle. In Jarvis bindie ich dieses HTML über das CustomHTMLWidget ein. Der Vorteil ist, dass ich es so layouten (und anzeigen) kann wie ich möchte.

                                SlowmanS 1 Reply Last reply
                                1
                                • U uwe72

                                  @Slowman Es handelt sich um ein HTML, welches ich in IoBroker mit JavaScript (aus den Datenpunkten des Abfalladapters) erstelle. In Jarvis bindie ich dieses HTML über das CustomHTMLWidget ein. Der Vorteil ist, dass ich es so layouten (und anzeigen) kann wie ich möchte.

                                  SlowmanS Offline
                                  SlowmanS Offline
                                  Slowman
                                  wrote on last edited by
                                  #2642

                                  @uwe72

                                  stellst du den Script zur Verfügung :face_with_rolling_eyes:

                                  U 1 Reply Last reply
                                  0
                                  • dabbeljuhD dabbeljuh

                                    Mir ist eben ein kleines Problem mit dem Kalender-Widget aufgefallen. Wenn ich es im Popup-Modus betreibe, lässt sich eben jenes Popup nicht mehr schließen und nur mittels Reload der Seite beheben.

                                    (Bin nach Update mit der aktuellen Beta unterwegs, hatte es zuvor aber auch schon in v30.)

                                    Kann das jemand nachstellen? Falls ja, eröffne ich gerne ein Ticket in Github.

                                    ZefauZ Offline
                                    ZefauZ Offline
                                    Zefau
                                    wrote on last edited by
                                    #2643

                                    @dabbeljuh sagte in jarvis v2.1.0 - just another remarkable vis:

                                    Mir ist eben ein kleines Problem mit dem Kalender-Widget aufgefallen. Wenn ich es im Popup-Modus betreibe, lässt sich eben jenes Popup nicht mehr schließen und nur mittels Reload der Seite beheben.

                                    Jo, stimmt. Fixe ich sofort.

                                    Meine Adapter: https://zefau.github.io/iobroker/

                                    M 1 Reply Last reply
                                    1
                                    • SlowmanS Slowman

                                      @uwe72

                                      stellst du den Script zur Verfügung :face_with_rolling_eyes:

                                      U Offline
                                      U Offline
                                      uwe72
                                      wrote on last edited by uwe72
                                      #2644

                                      @Slowman

                                      f4a64377-2d71-4a22-84a7-1298dcfb3bfa-image.png

                                      Voraussetzung:

                                      • Abfallkalender Adapter.
                                      • Die 4 Bilder habe ich auf meinem Webserver abgelegt. Ggf. kannst Du die "Original-Bilder" nehmen vom Abfallkalender. Ich weiß aber nicht wo diese liegen und wie man an diese kommt.

                                      Ergebnis:

                                      • Das HTML wird jede Minute aktualisiert und im Datenpunkt "0_userdata.0.clement.html.abfallkalender" abgespeichert
                                      // Variablen:
                                      var widthHTML = "314px";
                                      var typenUndTermine;
                                      
                                      // Datenpunkt:
                                      var htmlState = "0_userdata.0.clement.html.abfallkalender";
                                      createState(htmlState, "", {
                                          name: htmlState,
                                          desc: htmlState,
                                          type: 'string', 
                                          read: true,
                                          write: true
                                      });
                                      
                                      // Update
                                      createHTML(htmlState)
                                      setInterval(function() { 
                                          createHTML(htmlState);
                                      }, 1000*60*1);   
                                      
                                      
                                      function _getColumnName(columnIndex) {
                                          var rowObject = typenUndTermine[columnIndex];
                                          return rowObject[2];
                                      }
                                      
                                      function _initData() {
                                          var restmuell = getState("trashschedule.0.type.Restmülltonne.daysLeft").val;
                                          var papier = getState("trashschedule.0.type.Papiertonne.daysLeft").val;
                                          var bio = getState("trashschedule.0.type.Biotonne.daysLeft").val;
                                          var gelb = getState("trashschedule.0.type.Gelbe Tonne.daysLeft").val;
                                      
                                          typenUndTermine = [
                                              [restmuell, "trashschedule.0.type.Restmülltonne", "Restm&uuml;ll", "http://192.168.178.110:888/garbage_can_darkgrey.png"],
                                              [papier, "trashschedule.0.type.Papiertonne", "Papier", "http://192.168.178.110:888/garbage_can_blue.png"],
                                              [bio, "trashschedule.0.type.Biotonne", "Biotonne", "http://192.168.178.110:888/garbage_can_lightgrey.png"],
                                              [gelb, "trashschedule.0.type.Gelbe Tonne", "Plastik", "http://192.168.178.110:888/garbage_can_yellow.png"],
                                              ];
                                              
                                          typenUndTermine.sort(function(a, b){
                                              return a[0] - b[0];
                                          });
                                      }
                                      
                                      function _isCellValueHighlighted(rowIndex, columnIndex, cellValue) {
                                          if (columnIndex == 1) { // Spalte "Tage"
                                              if (cellValue < 2 || cellValue == 'Heute' || cellValue == 'Morgen') {
                                                  return true;
                                              }
                                          }
                                          return false;
                                      }
                                      
                                      function _getValueAt(rowIndex, columnIndex) {
                                          var rowObject = typenUndTermine[columnIndex];
                                          if (rowIndex == 0 ){
                                              var val = "<img src=\"" + rowObject[3] + "\" width=35px>";
                                              return val;
                                          } else {
                                              var  val =  rowObject[0] + " Tage";
                                              let weekday = getState(rowObject[1] + ".nextWeekday").val;
                                              let weekdayAsString;
                                              if (weekday == 1) {
                                                  weekdayAsString = "Mo, ";
                                              } else if (weekday == 2) {
                                                  weekdayAsString = "Di, ";
                                              } else if (weekday == 3) {
                                                  weekdayAsString = "Mi, ";
                                              } else if (weekday == 4) {
                                                  weekdayAsString = "Do, ";
                                              } else if (weekday == 5) {
                                                  weekdayAsString = "Fr, ";
                                              } else if (weekday == 6) {
                                                  weekdayAsString = "Sa, ";
                                              } else if (weekday == 7) {
                                                  weekdayAsString = "So, ";
                                              }
                                              val = val + "<br><font size=2  color=\"#999999\">"+ weekdayAsString + getState(rowObject[1] + ".nextDateFormat").val + "</font>";  
                                              val = val.substring(0, val.lastIndexOf('.')+1);
                                              return val;
                                          }
                                      }
                                      
                                      function createHTML(htmlState) {
                                          var html = "";
                                      
                                          html += "<html>                                             \n";
                                          html += "   <head>                                          \n";
                                          html += "       <style>                                     \n";
                                          html += "           table, th, td {                         \n";
                                          html += "               border: 1px solid #595959;          \n";
                                          html += "               border-collapse: collapse;          \n";
                                          html += "               vertical-align: middle;             \n";
                                          html += "           }                                       \n";
                                          html += "           td,th {                                 \n";
                                          html += "               padding: 4px;                       \n";
                                          html += "           }                                       \n";
                                          html += "       </style>                                    \n";
                                          html += "   </head>                                         \n";
                                          html += "   <body>                                          \n";
                                      
                                          html += "       <table width=" + widthHTML + ">                         \n";
                                      
                                          _initData();
                                      
                                          var alignemt = "center";
                                      
                                          // Header:
                                          html += "           <tr>                                    \n";
                                          for (var c = 0; c < 4; c++) {
                                              html += "           <th colspan=\"" + 1 + "\" style=\"text-align:" + alignemt + "\"><font size=2px\">" + _getColumnName(c) + "</th></font>	\n";
                                          }
                                          html += "           </tr>                                   \n";
                                      
                                          // Body:
                                          for (var r = 0; r < 2; r++) {
                                              html += "       <tr>                                    \n";
                                      
                                                  for (var c = 0; c < 4; c++) {
                                                      var cellValue = _getValueAt(r, c);
                                                      var highlighted = _isCellValueHighlighted(r,c,cellValue);
                                      
                                                      if (new Boolean(highlighted) == true) {
                                                          html += "           <td style=\" text-align:" + alignemt + "\"><font color=\"#3379D0\">" + cellValue + "</font></td>";    
                                                      } else {
                                                          html += "           <td style=\" text-align:" + alignemt + "\">" + cellValue + "</td>";    
                                                      }
                                                  }
                                                  
                                              html += "       </tr>                                    \n";        
                                          }
                                      
                                          html +=          "</table>\n";
                                          html +=      "</body>\n";
                                          html +=  "</html>\n";
                                          setState(htmlState, html);
                                      }
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      
                                      1 Reply Last reply
                                      1
                                      • SlowmanS Offline
                                        SlowmanS Offline
                                        Slowman
                                        wrote on last edited by
                                        #2645

                                        Vielen Dank!

                                        1 Reply Last reply
                                        1
                                        • dabbeljuhD dabbeljuh

                                          Hi @stephan1827, gute Idee, hier ein paar Beispiele zu listen. :+1:

                                          Ich hätte da noch eine kleine Ergänzung vorzuschlagen, mit der man z.B. beim Unter-/Überschreiten einer Temperaturgrenze die Optik noch etwas wahrnehmbarer gestalten kann.

                                          Das hier kommt ins Device:
                                          {"<15":"mdi-thermometer blink",">22":"mdi-thermometer blink"}

                                          Und das hier in den Bereich "Styles":
                                          .blink {
                                          animation: blinker 1s linear infinite;
                                          }

                                          @keyframes blinker {
                                          50% { opacity: 0; }
                                          }

                                          B Offline
                                          B Offline
                                          banza
                                          wrote on last edited by
                                          #2646

                                          @stephan1827
                                          Hi, danke für die Beispiele, kurze Frage zu den Farben. Die Farben werden nur übernommen, wenn der Datenpunkt der primäre ist? Sobald der Datenpunkt ein sekundärer ist bleibt die Standardfarbe.


                                          Screenshot 2020-12-30 215312.jpg

                                          @dabbeljuh
                                          bei mir wird das Blinken nicht genommen "falsches json-format".

                                          stephan1827S dabbeljuhD 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          562

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe