Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [gelöst] Ergebnis eines Javascripts in Widget darstellen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    423

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

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

[gelöst] Ergebnis eines Javascripts in Widget darstellen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
16 Beiträge 3 Kommentatoren 950 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • jmeister79J Offline
    jmeister79J Offline
    jmeister79
    schrieb am zuletzt editiert von jmeister79
    #1

    Hi,
    ich habe für alle meine Zigbee Geräte ja die "Link Quality" jetzt möchte ich diese in einem Balken darstellen.
    Leider geht sie ja von 0 bis 256 und das auch noch 2^x. ich muss den wErt des Objects Link Quality also mit einem log umrechnen.

    Der erste Ansatz wäre ja nun für jedes Link Quality Objekt ein neues Objekt Link QualityPPercent per Javscript berechnen zu lassen und dieses per Widget dar zu stellen, das möchte ich aber vermeiden.

    Ich habe mir nun eine Funktion im Vis geschrieben (sowas nutze ich auch um die Farbe des Balkens einzufärben, dort gibt man einfach den Wert des Objekts ein und erhält einen Farbwert zurück) und hatte gehofft das Ergebnis der Funktion in einem normalen Widget ausgeben zu können.
    Irgendwie komme ich aber nicht weiter. Habe es mit dem normalen HTML Widget versucht aber auch divesen simples.
    Stehe etwas auf dem Schlauch un brauch n Schubs

    Hat das jemand schonmal gemacht?

    Nils

    1 Antwort Letzte Antwort
    0
    • jmeister79J Offline
      jmeister79J Offline
      jmeister79
      schrieb am zuletzt editiert von jmeister79
      #2

      Hab rausgekriegt wie man zumindest den Wert schonmal darstellt:

      einfach ein HTML Widget und folgendes rein:

      {n:zigbee.0.00158d00016c10d0.link_quality;qualityToPercent(n)}

      Wird aber im Vis Editor nicht angezeigt. Im Vis aber schon!

      Jetzt muss ich noch versuchen, den errechneten Wert als Input für ein Bar zu übertragen

      Nils

      1 Antwort Letzte Antwort
      0
      • jmeister79J Offline
        jmeister79J Offline
        jmeister79
        schrieb am zuletzt editiert von
        #3

        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

        sigi234S 1 Antwort Letzte Antwort
        0
        • jmeister79J jmeister79

          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

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von sigi234
          #4

          @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.

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          jmeister79J 1 Antwort Letzte Antwort
          0
          • sigi234S 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.

            jmeister79J Offline
            jmeister79J Offline
            jmeister79
            schrieb am zuletzt editiert von
            #5

            @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

            sigi234S 1 Antwort Letzte Antwort
            0
            • jmeister79J jmeister79

              @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

              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @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?

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              jmeister79J 1 Antwort Letzte Antwort
              0
              • sigi234S sigi234

                @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?

                jmeister79J Offline
                jmeister79J Offline
                jmeister79
                schrieb am zuletzt editiert von
                #7

                @sigi234 zigbee.PNG

                hiervon oder willst du konkreten code?

                sigi234S 1 Antwort Letzte Antwort
                0
                • jmeister79J jmeister79

                  @sigi234 zigbee.PNG

                  hiervon oder willst du konkreten code?

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @jmeister79

                  Danke, hab es so:

                  Screenshot (3395).png

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  jmeister79J 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @jmeister79

                    Danke, hab es so:

                    Screenshot (3395).png

                    jmeister79J Offline
                    jmeister79J Offline
                    jmeister79
                    schrieb am zuletzt editiert von
                    #9

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

                    sigi234S 1 Antwort Letzte Antwort
                    0
                    • jmeister79J jmeister79

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

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @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?

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        dos1973
                        schrieb am zuletzt editiert von dos1973
                        #11

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

                        @sigi234
                        Hast du den gleichen Weg angewendet?

                        sigi234S 1 Antwort Letzte Antwort
                        0
                        • D dos1973

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

                          @sigi234
                          Hast du den gleichen Weg angewendet?

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von sigi234
                          #12

                          @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

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            dos1973
                            schrieb am zuletzt editiert von
                            #13

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

                            sigi234S 1 Antwort Letzte Antwort
                            0
                            • D dos1973

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

                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von sigi234
                              #14

                              @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.

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                dos1973
                                schrieb am zuletzt editiert von
                                #15

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

                                jmeister79J 1 Antwort Letzte Antwort
                                0
                                • D dos1973

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

                                  jmeister79J Offline
                                  jmeister79J Offline
                                  jmeister79
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  488

                                  Online

                                  32.7k

                                  Benutzer

                                  82.5k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe