Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v3.0.0 - just another remarkable vis

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    jarvis v3.0.0 - just another remarkable vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @Fefi last edited by MCU

      @fefi Das scheint ein Problem vom Browser zu sein. Nimm mal einen anderen oder lösch mal die Daten im Browser.

      1 Reply Last reply Reply Quote 0
      • Dominik F.
        Dominik F. @MCU last edited by

        @mcu

        Unbenannt.PNG

        Gestern hatte ich ja gefragt, ob ich den LastChangeBody von einem anderen Datenpunkt nehmen kann. Du meinstest, dass würde nur als Secondary-DP gehen, da für LastChangeBody das Binding fehlt.

        Mir ist dann eingefallen, dass es in der Anzeigevariante die Möglichkeit von Bindings gibt. Mit Hilfe habe ich es nun geschafft, einen Datenpunkt zu erstellen, der mir den LastChangeBody von einem ausgewählten Datenpunkt gibt. Ich dachte nun, es wäre dann eine Möglichkeit, wenn ich anstatt "an" dann den Inhalt vom Datenpunkt mit dem LastChange nehmen könnte.
        Dann hätte ich über Umwege das erreicht, was ich ursprünglich wollte.Ich weiß nur nicht genau, wie das Binding dazu aussehen müsste.

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @Dominik F. last edited by

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

          Mit Hilfe habe ich es nun geschafft, einen Datenpunkt zu erstellen, der mir den LastChangeBody von einem ausgewählten Datenpunkt gibt

          Zeig mal bitte.

          Dominik F. 2 Replies Last reply Reply Quote 0
          • Dominik F.
            Dominik F. @MCU last edited by Dominik F.

            @mcu

            Unbenannt.PNG

            Unbenannt1.PNG

            Und den Inhalt des Datenpunktes würde ich gerne anstatt "an" oder "aus" anzeigen lassen

            1 Reply Last reply Reply Quote 0
            • Nico 0
              Nico 0 @MCU last edited by

              @mcu Hi, danke für den Link. Hat leider nicht funktioniert. Habe die aktuelle Android WebView + Google Chrome installiert, aber die Anzeige ist weiterhin fehlerhaft. In Chrome wird aber alles ordnungsgemäß angezeigt. In FireOS ist die aktuelle Version von WebView mit 70.x hinterlegt.

              1 Reply Last reply Reply Quote 0
              • M
                MCU last edited by MCU

                @nico-0 Erstmaliger Verbindungsaufbau?
                https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/allgemein/verbindungsaufbau
                Cache im Fully gelöscht?
                Tablet neu gestartet?

                Nico 0 1 Reply Last reply Reply Quote 0
                • C
                  cromagnon last edited by

                  Bei den Charts kann man nur aus

                  • Bar-Chart
                  • Pie-Chart
                  • Circle-Chart
                    auswählen.
                    Gibt es den Line Chart noch nicht?
                  U 1 Reply Last reply Reply Quote 0
                  • U
                    uwe72 @cromagnon last edited by uwe72

                    @MCU

                    Du hattest mal danach gefragt gehabt. Ich arbeite mit diesen Umrechenscripte zwischen dem XY-Farbmodus und dem CIE (Hue)-Farbmodus:

                    function convertXY2HSL(x,y){
                        var bri = 254;
                        let xy = {
                            x: x,
                            y: y
                        };
                    
                        let z = 1.0 - xy.x - xy.y;
                        let Y = bri / 255;
                        let X = (Y / xy.y) * xy.x;
                        let Z = (Y / xy.y) * z;
                        var r = X * 1.656492 - Y * 0.354851 - Z * 0.255038;
                        var g = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
                        var b =  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
                    
                        r = r <= 0.0031308 ? 12.92 * r : (1.0 + 0.055) * Math.pow(r, (1.0 / 2.4)) - 0.055;
                        g = g <= 0.0031308 ? 12.92 * g : (1.0 + 0.055) * Math.pow(g, (1.0 / 2.4)) - 0.055;
                        b = b <= 0.0031308 ? 12.92 * b : (1.0 + 0.055) * Math.pow(b, (1.0 / 2.4)) - 0.055;
                    
                        var r_new = (r*255).toString();
                        var g_new = (g*255).toString();
                        var b_new = (b*255).toString();
                    
                        let red = parseInt(r_new) > 255 ? 255: parseInt(r_new);
                        let green = parseInt(g_new) > 255 ? 255: parseInt(g_new);
                        let blue = parseInt(b_new) > 255 ? 255: parseInt(b_new);
                    
                        red = Math.abs(red);
                        green = Math.abs(green);
                        blue = Math.abs(blue);
                        var
                            min = Math.min(r, g, b),
                            max = Math.max(r, g, b),
                            delta = max - min,
                            h, s, v = max;
                    
                        v = Math.floor(max / 255 * 100);
                        if ( max != 0 )
                            s = Math.floor(delta / max * 100);
                        else {
                            // black
                            return [0, 0, 0];
                        }
                    
                        if( r == max )
                            h = ( g - b ) / delta;         // between yellow & magenta
                        else if( g == max )
                            h = 2 + ( b - r ) / delta;     // between cyan & yellow
                        else
                            h = 4 + ( r - g ) / delta;     // between magenta & cyan
                    
                        h = Math.floor(h * 60);            // degrees
                        if( h < 0 ) h += 360;
                    
                        return [h, s, v];
                    }
                    
                    function convertHSL2XY(h,s) {
                      var l = 50;
                      // Must be fractions of 1
                      s /= 100;
                      l /= 100;
                    
                      let c = (1 - Math.abs(2 * l - 1)) * s,
                          x = c * (1 - Math.abs((h / 60) % 2 - 1)),
                          m = l - c/2,
                          r = 0,
                          g = 0,
                          b = 0;
                    
                      if (0 <= h && h < 60) {
                        r = c; g = x; b = 0;  
                      } else if (60 <= h && h < 120) {
                        r = x; g = c; b = 0;
                      } else if (120 <= h && h < 180) {
                        r = 0; g = c; b = x;
                      } else if (180 <= h && h < 240) {
                        r = 0; g = x; b = c;
                      } else if (240 <= h && h < 300) {
                        r = x; g = 0; b = c;
                      } else if (300 <= h && h < 360) {
                        r = c; g = 0; b = x;
                      }
                      r = Math.round((r + m) * 255);
                      g = Math.round((g + m) * 255);
                      b = Math.round((b + m) * 255);
                    
                      let red = r;
                      let green = g;
                      let blue = b;
                    
                    if (red > 0.04045) red = Math.pow((red + 0.055) / (1.0 + 0.055), 2.4)
                      else red = red / 12.92;
                    
                      if (green > 0.04045) green = Math.pow((green + 0.055) / (1.0 + 0.055), 2.4)
                      else green = green / 12.92;
                    
                      if (blue > 0.04045) blue = Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4)
                      else blue = blue / 12.92;
                    
                      const X = red * 0.664511 + green * 0.154324 + blue * 0.162028;
                      const Y = red * 0.283881 + green * 0.668433 + blue * 0.047685;
                      const Z = red * 0.000088 + green * 0.07231 + blue * 0.986039;
                      
                      const x2 = X / (X + Y + Z);
                      const y2 = Y / (X + Y + Z);
                      
                      return new Array(x2, y2);
                    }
                    

                    Bin insgesamt nun recht zufrieden mit der Farbsteuerung.

                    Aus Jarvis-Sicht wäre der Bugfix noch wichtig:
                    https://github.com/Zefau/ioBroker.jarvis/issues/1434

                    Und richtig cool wäre es noch im Popup Reiter (Tabs) haben zu haben, so dann man sauber trennen könnte zwischen dem Farbschema RGB und Weiß, analog den nativen Apps. Feature-Request habe ich erstellt.

                    1ba44d8f-c14c-4751-a9ef-e3f7f641a046-image.png

                    810bf4a8-2b3a-411f-8b12-ff4b7df1bfa6-image.png

                    RkcCorian created this issue in Zefau/ioBroker.jarvis

                    closed Binding are not up-to-date after "some time" #1434

                    1 Reply Last reply Reply Quote 1
                    • Dominik F.
                      Dominik F. @MCU last edited by

                      @mcu

                      Und hast du eine Idee zu dem Binding in der Anzeigevariante?

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @Dominik F. last edited by MCU

                        @dominik-f Nein. Momentan nur Secondary Wert unter dem Schalter.

                        Dominik F. 1 Reply Last reply Reply Quote 0
                        • Dominik F.
                          Dominik F. @MCU last edited by

                          @mcu

                          Dann werde ich das wohl als seperaten State machen müssen

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Dominik F. last edited by

                            @dominik-f https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/styles/statelist-1/statewert-ersetzen

                            Dominik F. 1 Reply Last reply Reply Quote 0
                            • Nico 0
                              Nico 0 @MCU last edited by Nico 0

                              @mcu Hi, vielen Dank für die weiteren Tipps. Mittlerweile konnte ich das Problem lösen: Nach gefühlt hunderten Updates von FireOS wurde schlussendlich auch WebView auf Version 98.x angehoben, wodurch sich das Problem gelöst hat. Ein manuelles Installieren von Android WebView und Chrome hat hier nicht zum Erfolg geführt, da Amazon in FireOS ihre eigene WebView-Version nutzen (com.amazon.webview.chromium) und ein manueller Wechsel von WebView nicht möglich ist.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @Nico 0 last edited by

                                @nico-0 Hab es in die Doku aufgenommen. Danke.

                                Flo XXX 1 Reply Last reply Reply Quote 0
                                • Flo XXX
                                  Flo XXX @MCU last edited by

                                  Hallo,

                                  Ich hätte mal eine Frage bezüglich StateList Horizontal....
                                  Am MacBook bzw am iphone werden die Icons unter die darunter liegende Schrift zentriert angezeigt... so wie es auch unter V2 war... nur bei meinem Ipad ist das leider nicht (mehr) der Fall... die Icons sind zu weit links... hat noch jemand dieses Problem oder lieget es an meinem ipad (ist nicht mehr das neueste muss ich gestehen)

                                  Vielen Dank!

                                  1 Reply Last reply Reply Quote 0
                                  • U
                                    uwe72 last edited by

                                    @MCU

                                    https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/v3-fuer-einsteiger/konfigurations-tabs/geraete/geraete-dp#dropdownaction

                                    Kriegt man die Liste, welche in der Dropdown angezeigt werden auch dynamisch hin, per binding.

                                    Möchte in meinem Popup wo ich die RGB-Farbe steuere eine Dropdown aufnehmen wo ich alle für die Lampe hinterlegten Szenen zur Auswahl anbiete. Die Liste möchte ich generisch in JS erzeugen und über binding die Dropdown befüllen

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @uwe72 last edited by MCU

                                      @uwe72 Nein. Schau mal in die Doku vielleicht hilft dir das setDropDown.

                                      U 1 Reply Last reply Reply Quote 0
                                      • U
                                        uwe72 @MCU last edited by

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

                                        setDropDown

                                        Kurze Frage: Irgendwann habe ich mal gesehen, dass man auch per JavaScript, die Jarvis-Datenpunkte (d.h. Geräte, Layout, ...) komplett verändern kann? Ggf. ich in Jarvis nur "Platzhalter" definieren und diese mit JS verändern.

                                        Wenn gar nichts geht muss ich eben die Szenen von Hand in Jarvis eintragen - statisch.

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @uwe72 last edited by

                                          @uwe72 Also mit Platzhaltern geht sowas nicht, man kann nur direkt ersetzen oder hinzufügen. Ist quasi so, als wenn jarvis das selbst machen würde.

                                          U 1 Reply Last reply Reply Quote 0
                                          • U
                                            uwe72 @MCU last edited by

                                            @mcu

                                            Aber ich könnte doch in Jarvis so was hinterlegen:

                                            {
                                              "0": "Scene0",
                                              "1": "Scene1",
                                              "2": "Scene2"
                                            }
                                            

                                            Mit JavaScript würde ich dann z.B. "Scene0" mit "Tropisches Licht" ersetzen, "Scene1" mit "Kaltweiss 80%",...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            685
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            252
                                            4481
                                            1983684
                                            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