Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Fragen zu "vis"

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Fragen zu "vis"

    This topic has been deleted. Only users with topic management privileges can see it.
    • ruhigundrelaxed
      ruhigundrelaxed last edited by

      Naja. Ich habe mal einen einfachen horizontal slider aus dem metro set genommen und ihn auf eine knx gruppenadresse schreiben lassen. Gleicher effekt. Nix kommt durch. Gleicher Fehler:

      ReferenceError: id is not defined

      Ich werde mich morgen nochmal durch den code quälen und vieleicht werde ich ja schlauer. Verstehe muss ich den Krempel eh, wenn ich irgendwann mal selber ein widget bauen will. 8-)

      Gruß

      Martin

      1 Reply Last reply Reply Quote 0
      • ruhigundrelaxed
        ruhigundrelaxed last edited by

        Ok. Ich bin ein wenig weiter gekommen.

        In der metro.html steht in Zeile 193:

        > vis.setValue(id, (parseFloat(val) / factor) + min);

        funktionieren tut aber nur wenn da:

        > vis.setValue(****oid****, (parseFloat(val) / factor) + min);

        steht.

        Gruß

        Martin

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @ruhigundrelaxed:

          Ok. Ich bin ein wenig weiter gekommen.

          In der metro.html steht in Zeile 193:

          > vis.setValue(id, (parseFloat(val) / factor) + min);

          funktionieren tut aber nur wenn da:

          > vis.setValue(****oid****, (parseFloat(val) / factor) + min);

          steht.

          Gruß

          Martin `
          Super. Vielen Dank.

          1 Reply Last reply Reply Quote 0
          • ruhigundrelaxed
            ruhigundrelaxed last edited by

            Ja, aber warte bitte noch mit der Änderung. Da ist noch der Wurm drin. Ich habe Widgetübergreifende Seiteneffekte. Z.b. Wenn ich, nachdem ich den Slider benutzt habe einen Schalter bediene, geht der Slider auf 100%. Ist mir erst Gestern Abend aufgefallen. Ich melde mich wenn ich ne Lösung habe. Gruß

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators last edited by

              Das kann ich bestätigen. Als ich für dich den slider getestet habe ist mir das auch passiert.

              Kann aber sein, dass ich den gleichen Datenpunkt in beiden widgets hatte. Dann muss das so sein.

              an der Wand getippt auf meinem 21" Riesentablet

              1 Reply Last reply Reply Quote 0
              • ruhigundrelaxed
                ruhigundrelaxed last edited by

                Ok, das Problem mit den Crossactions der Widgets scheint Browserspezifisch zu sein.

                Bei mir ist es unter iOS Safari aufgetreten. Andere Browser zeigten dieses Verhalten bisher nicht. Ich teste aber noch.

                Gruß

                1 Reply Last reply Reply Quote 0
                • ruhigundrelaxed
                  ruhigundrelaxed last edited by

                  Neue Informationen:

                  Das Eingangs geschilderte Problem mit den "crossactions" der Widgets besteht weiterhin. Ich konnte es allerdings näher eingrenzen.

                  1.) Das Problem tritt nur bei "Touchdevices" auf. Reproduzieren konnte ich es auf einem Ipad sowie auf zwei Android devices.

                  2.) Das Problem tritt nur dann auf, wenn ich direkt nach Benutzung des sliders ein anderes widget z.b. einen Schalter nutze. Wenn ich jedoch zwischendrin irgendwo ins nirgendwo touche, ist alles ok.

                  Es hat also irgendwas mit den "touch" events zu tun.

                  Hat jemand einen Tipp?

                  Nutzt niemand die metro widgets?

                  Gruß

                  Martin

                  1 Reply Last reply Reply Quote 0
                  • Jey Cee
                    Jey Cee Developer last edited by

                    Beide Probleme mit dem Slider sind auch mir vorhanden. "oid" eingetragen und der Slider geht.

                    Auf einem Tablet mit Win 7 kommt Chrome zum Einsatz. Hier der gleiche Effekt das der Slider einfach so fährt.

                    Für mich sieht es so aus als ob der Slider betätigt bleibt bis man wo anders hinklickt, dabei fährt er aber in die Richtung in der geklickt wird.

                    So jetzt hab ich den Slider mal am PC mit der Maus getestet, ebenfalls Chrome. Parallel dazu war die Seite auch auf dem Tablet offen, beim ändern ist der Slider wieder auf den Ausgangswert zurück gesprungen.

                    Nachdem ich die Seite am Tablet geschlossen hab, ging es normal.

                    Das Stützt meine Theorie das der Slider auf dem Touch gerät festgehalten wird. Technisch liegt es wohl daran das es auf dem Touch Gerät das "Links-klick-halten" & "Ziehen" Ereignis nicht beendet wird wenn man den Finger vom Display nimmt.

                    Da es vom Browser unabhängig zu sein scheint, dürfte es am Slider liegen.

                    Ich hab kein Plan von js oder css, aber eine Idee wie man das problem evtl. lösen kann wenn es wirklich daran liegt dass das "Links-klick-halten" & "Ziehen" Ereignis nicht beendet wird.

                    Einfach ein Timeout im ms bereich einbauen.

                    EDIT: Ich bin auf folgenden Artikel gestoßen: http://www.mediaevent.de/javascript/touch-events.html

                    Und auf das hier: http://www.html5rocks.com/en/mobile/tou … _locale=de

                    Viel kann ich damit nicht anfangen, hab aber die Funktion ".click" im code der Widgets entdeckt, also ist es Maus optimiert. Wir bräuchten dann wohl Touch optimiert.

                    EDIT 2: In der Datei "Metro.js" steht gleich am Anfang die Erkennung ob Touch oder Maus Steuerung.

                    Ab der Zeile 439 findet sich dieser code:

                    /* To add touch support for element need create listeners for component dom element
                     if (hasTouch)
                     {
                     element.addEventListener("touchstart", touch2Mouse, true);
                     element.addEventListener("touchmove", touch2Mouse, true);
                     element.addEventListener("touchend", touch2Mouse, true);
                     }*/
                    

                    Ich hatte in Testhalber mal von seiner Auskommentierung befreit, das hat bei mir jedoch nichts geändert. Gleich danach steht der Code(die Klasse) für die Slider.

                    EDIT 3: Hier ist der selbe Fehler beschrieben: https://github.com/olton/Metro-UI-CSS/issues/651

                    1 Reply Last reply Reply Quote 0
                    • Jey Cee
                      Jey Cee Developer last edited by

                      So lange rum gespielt und getestet. Ich glaub jetzt gehts, wäre gut wenn das noch jemand anders Testen kann.

                      Auf einem Android 4.2 Tablet mit standard Browser geht es.

                      Dazu folgenden Code in die Metro.js, nach zeile 548 einfügen:

                                  $(document).on('touchend.metroSlider', function () {
                      				$(document).off('mousemove.metroSlider');
                      				$(document).off('mouseup.metroSlider');
                      				element.data('value', that.options.position);
                      				element.trigger('changed', that.options.position);
                      				o.changed(that.options.position, element);
                      				if (!element.hasClass('permanent-hint')) {
                      					hint.css('display', 'none');
                                      }
                                  });
                      

                      Gruß

                      Jey Cee

                      1 Reply Last reply Reply Quote 0
                      • Bluefox
                        Bluefox last edited by

                        @Jey Cee:

                        So lange rum gespielt und getestet. Ich glaub jetzt gehts, wäre gut wenn das noch jemand anders Testen kann.

                        Auf einem Android 4.2 Tablet mit standard Browser geht es.

                        Dazu folgenden Code in die Metro.js, nach zeile 548 einfügen:

                                    $(document).on('touchend.metroSlider', function () {
                        				$(document).off('mousemove.metroSlider');
                        				$(document).off('mouseup.metroSlider');
                        				element.data('value', that.options.position);
                        				element.trigger('changed', that.options.position);
                        				o.changed(that.options.position, element);
                        				if (!element.hasClass('permanent-hint')) {
                        					hint.css('display', 'none');
                                        }
                                    });
                        

                        Gruß

                        Jey Cee `
                        Kann nicht finden, wo das eingefügt sein sollte, kannst ganze geänderte Datei hier posten?

                        1 Reply Last reply Reply Quote 0
                        • Jey Cee
                          Jey Cee Developer last edited by

                          Klar kein Problem.

                          Wer ein Desktop Betriebssystem und Chrome einsetzt kann unter about://flags die Touch Events aktivieren. Damit geht es bei mir auf dem Tablet.
                          282_metro.js

                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            @Jey Cee:

                            Klar kein Problem.

                            Wer ein Desktop Betriebssystem und Chrome einsetzt kann unter about://flags die Touch Events aktivieren. Damit geht es bei mir auf dem Tablet. `
                            Danke, werde heute eine Version machen.
                            305_betriebsstundenzaehler_095.txt

                            1 Reply Last reply Reply Quote 0
                            • Jey Cee
                              Jey Cee Developer last edited by

                              Ich hab für die Metro Widgets noch eine Schönheitskorrektur: Bei Widgets wie "nav - Tile Navigation" oder "Tile Bool" kann man eine Ikonenklasse wählen, dadurch wird ein ein Icon in der Mitte des Tiles angezeigt.

                              Wenn man ein eigenes möchte kann man das auch über eine URL benutzen. Leider wird dieses dann immer ganz Links oben angezeigt (siehe Bild, das obere Tile ist mit Ikonenklasse das untere mit eigener Ikone).

                              282_unbenannt1.png

                              Damit die eigene Ikone ebenfalls so angezeigt werden kann, habe ich eine Dummy Ikonenklasse namens icon-myown angelegt. Bei dieser Klasse wird kein icon aus dem bestehenden Set verwendet sondern lediglich die Style Informationen.

                              Um die Änderungen nach zu rüsten muss iconFont.min.css nach "\widgets\metro\css" und metro.html nach "\widgets" sowohl in den Ordner "ioBroker\node_modules\iobroker.vis\www" als auch in "ioBroker\data\files\vis" kopiert werden.

                              @Bluefox: Die Angehängten Dateien sind aus der vis 0.1.0. Es würde mich freuen wenn die Änderung im nächsten Update dabei ist.

                              Danke für den neuen Editor der ist wirklich gelungen.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                Im Moment exportiere ich meine views aus ccu.io und importiere die bei ioBroker.

                                Was passiert jetzt mit den Widgets, die in ioBroker (noch) nicht vorhanden sind?

                                Von update zu update tauchten immer mal wieder welche auf.

                                Stören die nicht vorhandenen widgets beim rendern? Kosten solche "Leichen" unnötig Rechenpower?

                                …wenn ja, wie könnte man sie einfach löschen? Man sieht sie ja nicht.

                                Gesendet von meinem Cynus T7 mit Tapatalk

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  @Homoran:

                                  Stören die nicht vorhandenen widgets beim rendern? Kosten solche "Leichen" unnötig Rechenpower?

                                  …wenn ja, wie könnte man sie einfach löschen? Man sieht sie ja nicht. `
                                  Eigentlich kosten die kein Rechenpower.

                                  Die müssen trotzdem in Select-Auswahl da sein.
                                  48_auswahl.png
                                  Man kann die selktieren und löschen

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators last edited by

                                    Danke, hab ich noch nicht gesehen.

                                    Hab immer nur auf dem dashboard gesucht.

                                    Gesendet von meinem Cynus T7 mit Tapatalk

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bku last edited by

                                      Brauche dann mal Hilfe von euch, hab schon alle Widgets durch, aber nix passendes gefunden:

                                      Möchte im vis einen Text sichtbar machen (z.B. nach einem Bewegungsmelder-Event) der aber sichtbar bleibt, bis er durch einen Button "bestätigt" und dadurch wieder unsichtbar wird.

                                      Wie stell ich das an?

                                      Gruß Bernd

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

                                        Hallo,

                                        Hab nun auch wieder eine Frage …

                                        Es gibt jetzt zu meiner Freude auch wieder die jqui-mfd widgets mit den HUE Widgets.

                                        Leider funktionieren gerade die HUE Widgets nicht.

                                        Überhaupt dürfte beim HUE Adapter schon was nicht stimmen, der steigt bei jedem Update des js-controllers aus und muss immer neu installiert werden..., bei mir zumindest.

                                        lg

                                        Hannes

                                        1 Reply Last reply Reply Quote 0
                                        • Bluefox
                                          Bluefox last edited by

                                          @bku:

                                          Brauche dann mal Hilfe von euch, hab schon alle Widgets durch, aber nix passendes gefunden:

                                          Möchte im vis einen Text sichtbar machen (z.B. nach einem Bewegungsmelder-Event) der aber sichtbar bleibt, bis er durch einen Button "bestätigt" und dadurch wieder unsichtbar wird.

                                          Wie stell ich das an?

                                          Gruß Bernd `
                                          Das geht mit dem Javascript (oder node-red). Ich zeige mit JS. (Achtung es geht nur die neueste Version von heute)

                                          Javascript Adapter installieren.
                                          48_js.png
                                          Folgendes Skript erzeugen (Daunten gibt es kelines "plus").

                                          // Erzeuge die Variable "Bewegung", falls die nicht existiert.
                                          createState('bewegung', 0);
                                          
                                          on("hm-rpc.0.deinBewegungsMelder.1.STATE", function (obj) {
                                              log('Value: ' + obj.newState.val);
                                              // Setze meine Variable "Bewegung" auf 1 falls Bewegung erkannt
                                              if (obj.newState.val) setState('bewegung', 1, true);
                                          });
                                          

                                          48_js2.png

                                          Nicht vergessen Adapter Javascript selbst aktivieren.

                                          Danach in "vis" Zwei Widgets kreieren:

                                          • Basic - Hide on 0/false
                                            48_vis1.png
                                          • jqui - Button State
                                            48_vis2.png
                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            Hallo bluefox, Hallo Smiling_Jack,

                                            ich bin endlich mal dazu gekommen mich etwas intensiver mit .vis zu beschäftigen.

                                            Meine alten dashui views füllen sich mehr und mehr - SUPER!

                                            Jetzt sind auch die Thermometer und die gauge Basic mit drin.

                                            Bei den Thermometern gibt es noch das alte Problem, dass die Beschriftung der Skalierung abgeschnitten wird. Wenn ich das Widget breiter mache, wird auch das Thermometer breiter und die Schrift wird trotzdem abgeschnitten
                                            144_iobroker_thermometer.jpg

                                            Außerdem habe ich es nicht geschafft, einen neuen (zusätzlichen) View anzulegen mit einem anderen Theme.

                                            Wenn ich bei css - view ein theme auswähle passiert gar nichts, wähle ich unter SETUP - Thema ein Thema aus, ändert sich die Anzeige auf dem Bildschirm. Aber nach Speichern und öffnen des views mit index.html#viewname ist nicht das andere Theme zu sehen.

                                            iCal und DWD laufen spitzenmäßig.

                                            Danke dafür (und für alles andere)

                                            Gruß

                                            Rainer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            53
                                            10367
                                            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