Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Ergebnis eines Javascripts in Widget darstellen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Ergebnis eines Javascripts in Widget darstellen

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

      Hallo,
      ich habe jetzt einen alternativen weg gefunden:

      Ich nehme ein normales dummes HTML Widget, das über CSS schon wie ein Bargraph aussieht, und rufe ein Javascript wie folgt im HTML teil auf:

      {n:ble.0.4c:65:a8:dc:63:b8.rssi;createBarGraph(n)}
      

      Das Script ruft dann die üblichen Unterscripte auf und gibt fertigen HTML Code zurück:

      function qualityToPercent(i)
      {
          var percent = 0;
          if (i==0)i=1;
          percent = Math.log2(i)*12.5;
          return percent.toFixed(0);
      }
      function createBarGraph(i)
      {
          var percent = 0;
          var color = "ffffff";
          
          percent = qualityToPercent(i);
          color = numberToRgbColor(percent);
          return '<div style="height:100%; width:'+percent+'%; background:'+color+'"></div>'
      }
      

      So bekomme ich aus der Exponentiellen Darstellung der Link Quality eine sehr genaue Prozentdarstellung der Signalstärke aller Zigbee Geräte.
      Das Eignet sich prinzipiell dafür, jede Menge coole sachen über standardHTML Widgets zu machen ohne auf igrendwelche anderen zurückzugreifen, ist aber eher was für frickler.

      Nils

      sigi234 1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @jmeister79 last edited by sigi234

        @jmeister79

        Hallo, irgendwie begreife ich es nicht . Wie wird dann der Bargraph dargestellt?

        ich habe für alle meine Zigbee Geräte ja die "Link Quality" jetzt möchte ich diese in einem Balken darstellen.

        Ok, habe diesen nicht , aber ich möchte zB. ein Volume Wert darstellen.

        jmeister79 1 Reply Last reply Reply Quote 0
        • jmeister79
          jmeister79 @sigi234 last edited by

          @sigi234
          ich nutze CSS Klassen die den Rest darstellen und klären, dann färbe ich nur noch % davon ein.

          In diesem Fall die mdui-h-bargraph und mdui-segment-10 vom material design paket von @Uhula

          zu finden unter
          https://github.com/Uhula/ioBroker-Material-Design-Style

          Nils

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @jmeister79 last edited by

            @jmeister79 sagte in [gelöst] Ergebnis eines Javascripts in Widget darstellen:

            @sigi234
            ich nutze CSS Klassen die den Rest darstellen und klären, dann färbe ich nur noch % davon ein.

            In diesem Fall die mdui-h-bargraph und mdui-segment-10 vom material design paket von @Uhula

            zu finden unter
            https://github.com/Uhula/ioBroker-Material-Design-Style

            Nils

            Danke, das kenne ich...............kannst du mal einen Screenshot einstellen?

            jmeister79 1 Reply Last reply Reply Quote 0
            • jmeister79
              jmeister79 @sigi234 last edited by

              @sigi234 zigbee.PNG

              hiervon oder willst du konkreten code?

              sigi234 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @jmeister79 last edited by

                @jmeister79

                Danke, hab es so:

                Screenshot (3395).png

                jmeister79 1 Reply Last reply Reply Quote 0
                • jmeister79
                  jmeister79 @sigi234 last edited by

                  @sigi234 sieht gut aus, hattest du auch das problem mit exponentiellem verlauf?

                  sigi234 1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @jmeister79 last edited by

                    @jmeister79 sagte in [gelöst] Ergebnis eines Javascripts in Widget darstellen:

                    @sigi234 sieht gut aus, hattest du auch das problem mit exponentiellem verlauf?

                    Meinst du den Farbverlauf?

                    1 Reply Last reply Reply Quote 0
                    • D
                      dos1973 last edited by dos1973

                      Das gefällt mit echt gut, aber irgendwie kann ich euch nicht folgen...

                      @sigi234
                      Hast du den gleichen Weg angewendet?

                      sigi234 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @dos1973 last edited by sigi234

                        @dos1973 sagte in [gelöst] Ergebnis eines Javascripts in Widget darstellen:

                        Hast du den gleichen Weg angewendet?

                        Nein,

                        hier mal 3 verschiedene Widget mit Balkenverlauf. Könnt Ihr anpassen. ( @Uhula material design )

                        Screenshot (3397).png

                        Widget_Farbverlauf_Set.txt

                        1 Reply Last reply Reply Quote 0
                        • D
                          dos1973 last edited by

                          da fehlen dann noch die css, der blau mit den "Kästchen" interessiert mich
                          mdui-h-bargraph mdui-segment-10

                          sigi234 1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active @dos1973 last edited by sigi234

                            @dos1973 sagte in [gelöst] Ergebnis eines Javascripts in Widget darstellen:

                            da fehlen dann noch die css

                            Ja, Voraussetzung ist ccs von @Uhula material design!

                            https://github.com/Uhula/ioBroker-Material-Design-Style

                            1. Installation
                              Keine. Die CSS Anweisungen müssen lediglich in einem ioBroker.vis Projekt unter "CSS / Projekt" eingefügt werden, die paar Zeilen Script unter "Skript". Beides am besten aus dem [Demo-Projekt]("ioBroker projects/MD_Demo.zip") entnehmen.
                            1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 last edited by

                              das ist mir zu mächtig 😉
                              da muss ich bestimmt wieder alles umbauen, dann ohne Kästchen...

                              jmeister79 1 Reply Last reply Reply Quote 0
                              • jmeister79
                                jmeister79 @dos1973 last edited by

                                @dos1973
                                dann kopier dir doch die entsprechenden css klassen raus.

                                meine Lösung nutzt ja nur die von @Uhula erzeugte klasse und missbraucht sie ein wenig.
                                Du müsstest selbst bei Übernahme der ganzen CSS Datei nichts umbauen, das ist ja das tolle an @Uhula s Lösung. die kannst Du einfach auf dein vorhandenes Projekt aufsetzen und die CSS klassen nach Bedarf nutzen.
                                So hab ich es anfangs auch gemacht, später hab ich mir dann aber das ganze layout genommen, da es so wunderbar dynamisch ist.

                                Hauptmotivation war bei mir ja, dass man in einem widget nicht so einfach komplexe Berechnungen anstellen konnte. Und ich wollte zusätzliche Objekte für die Umwandlung durch Logarithmus vermeiden.

                                Nils

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                643
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                vis
                                3
                                16
                                822
                                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