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

      Bei mir funktionieren im vis modul die verschiedenen Slider nicht. Sie lassen sich zwar bewegen, liefern jedoch keine Daten. In legacy funktionieren sie.

      Ist dieses Verhalten nur auf meine Installation beschränkt, oder kann das jemand bestätigen?

      Gruß

      Martin

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

        Ich habe jedes Widget in vis unter die Lupe genommen, übersetzt und ergänzt. Um welche Slider genau geht es? Womit hast du die verbunden?

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

          Hi.

          Aufgefallen ist mir dies bei dem Slider im Widget ctrl - Tile Heating. Verbunden hab ich ihn mit: SET_TEMPERATURE eines hm-cc-rt-dn.

          Ich hab dann mal einen: ctrl - slider horizontal mit SET_TEMPERATURE verbunden.

          In beiden fällen wird die Soll-Temperatur nicht verändert.

          Ändere ich jedoch SET_TEMPERATURE in admin bzw.

          über das ensprechende widget in legacy funktioniert es.

          Mach ich was falsch?

          Gruß

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

            Kleines Update:

            Firebug sagt beim bewegen des Sliders:

            ReferenceError: id is not defined

            var src = srcArr[val];

            Wenn jemand n Tipp hat….

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

              Ich habe gerade mal versucht das nachzustellen.

              Leider habe ich irgend welche Darstellungsprobleme und kann nicht so richtig auswählen:
              144_iobroker_vis_heating.jpg
              Ich nehme an, du meinst dieses widget, aus dem widget set METRO???

              Leider habe ich keine Heizung mit Ventilen, lediglich ein paar Raumthermostate als Temp/Feuchte-Sensoren.

              Damit kann ich das Widget leider nicht verbinden, oder doch?

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

                Ja, richtig. Ich beziehe mich auf die widgets aus dem set metro. Ich weiss nicht was du für thermostate hast, aber wenn du keine soll temperatur setzen kannst, weil nichts geregelt wird, kannst du das widget nicht sinnvoll verwenden. Du könntest damit die Temeperatur darstellen, aber dafür reicht im zweifel ein val - number widget aus dem basic set. 🙂

                Hast du evt. einen Dimmer? Mich würde interessieren ob die slider damit funktionieren. Oder irgendwas anderes was numeriche Werte entgegen nimmt…

                Gruß

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

                  @ruhigundrelaxed:

                  Ich weiss nicht was du für thermostate hast `
                  HM-TC-IT-WM-W-EU

                  @ruhigundrelaxed:

                  aber wenn du keine soll temperatur setzen kannst, `
                  doch, kann ich, geht aber nicht.

                  kann aber daran liegen, dass das Widget nicht dafür gemacht ist. Zeigt schließlich auch die Ventilstellung an, die hat der Wandthermostat naturgemäß nicht 😉

                  Dann wird es auch nicht mit einem Dimmer funktionieren, weil die Datenpunktstruktur eine ganz andere ist.

                  EDIT:

                  habe gerade eine Beobachtung gemacht.

                  manuelle Änderung am Raumthermostat der Solltemperatur und Änderung der Isttemperatur wird erst nach refresh (F5) in ioBroker übernommen.

                  Änderungen in ioBroker werden nicht im Raumthermostat übernommen - ich habe da eine Idee…..

                  Gruß

                  Rainer
                  703_npm-debug.log

                  1 Reply Last reply Reply Quote 0
                  • 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

                                  marsLGman created this issue in olton/Metro-UI-CSS

                                  closed slider bug on touch screen #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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            800
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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