Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Material Design Widgets v0.2.x

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Test Adapter Material Design Widgets v0.2.x

Scheduled Pinned Locked Moved Tester
visadapatervisualizationmaterialwidget
902 Posts 77 Posters 246.9k Views 79 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • KLVNK KLVN

    Hi,
    ich bin gerade dabei etwas zum Repo beizutragen und wollte fragen, wie man seine eigenen Änderungen im ioBroker testet? Pushe ich die Änderungen erst in meinen Fork und installiere diesen dann mit ioBroker?
    Und wie fasse ich die ganzen einzelnen .js-Dateien zu widgets.min.js zusammen? :thinking_face:

    Edit: verschoben, da Frage Fehlerbehbung betrifft und nicht Widget Einstellung

    ScroungerS Offline
    ScroungerS Offline
    Scrounger
    Developer
    wrote on last edited by
    #854

    @KLVN sagte in Test Adapter Material Design Widgets v0.2.x:

    Und wie fasse ich die ganzen einzelnen .js-Dateien zu widgets.min.js zusammen? :thinking_face:

    Lass die Daten am besten raus, das führe ich dann zusammen.

    KLVNK 1 Reply Last reply
    0
    • ScroungerS Scrounger

      @KLVN sagte in Test Adapter Material Design Widgets v0.2.x:

      Und wie fasse ich die ganzen einzelnen .js-Dateien zu widgets.min.js zusammen? :thinking_face:

      Lass die Daten am besten raus, das führe ich dann zusammen.

      KLVNK Offline
      KLVNK Offline
      KLVN
      wrote on last edited by
      #855

      @Scrounger Danke, habe deine Anmerkungen gerade ausgebessert.
      Wie kann ich meine Änderungen vorher testen? Ich weiß nicht, wie man die ganzen .min-Files erstellt und dabei sind es genau die, die ich beim Testen brauche. Die erste Änderung mit dem Tippfehler konnte ich noch auf unschöne Art in der .min fixen, aber eine weitere Sache, die ich gerne implementieren würde, hat auf diese Weise nicht so gefruchtet.

      ScroungerS 1 Reply Last reply
      0
      • KLVNK KLVN

        @Scrounger Danke, habe deine Anmerkungen gerade ausgebessert.
        Wie kann ich meine Änderungen vorher testen? Ich weiß nicht, wie man die ganzen .min-Files erstellt und dabei sind es genau die, die ich beim Testen brauche. Die erste Änderung mit dem Tippfehler konnte ich noch auf unschöne Art in der .min fixen, aber eine weitere Sache, die ich gerne implementieren würde, hat auf diese Weise nicht so gefruchtet.

        ScroungerS Offline
        ScroungerS Offline
        Scrounger
        Developer
        wrote on last edited by
        #856

        @KLVN

        Zu erst die .min. Dateien dürfen nicht manuell bearbeitet werden!
        Ich verwende VS Code mit dem Plugin Minify, dass jedesmal nach dem speichern die *.min Dateien automatisch aus allen Dateien des Ordners erzeugt.
        Alternativ kannst du auch in der *.html Datei die Verweise auf die *.js Dateien setzten - ist für den Beginn sicher einfacher. Wichtig Reihenfolge beachten, die helper .js dateinen müssen als erstes importiert werden.

        Wie man die Änderungen testen kann ist hier beschrieben:
        https://github.com/ioBroker/ioBroker.docs/blob/master/docs/de/dev/adaptervis.md

        1 Reply Last reply
        1
        • MicM Mic

          @Scrounger sagte in Test Adapter Material Design Widgets v0.2.x:

          Hab ein neues Widget hinzugefügt, JSON Chart.

          Super Sache, vielen Dank hierfür :+1:
          Funktioniert auch soweit gut bei mir.

          Ein paar Vorschläge:

          1. Tippfehler Property line_Thikness, Thikness --> Thickness

          2. y-Achsen-Layout: Wünschenswert wäre noch Option "Achsenberschriftung anzeigen true/false", also wie bei x-Achse. Als Workaround geht aber: Farbe auf transparent setzen.

          3. Würde gerne beim Hochwert (y-Achse) Minimum- und Maximum-Grenzen setzen, damit ich mehreren Linien dieselben Min/Max-Grenzen geben kann.
            Use Case: Ich zeige die nächsten 7 Tage des daswetter-Adapters an. So sollte es etwa aussehen (nur ein Beispiel, Farben nicht gut gewählt usw.):
            xx1.png
            So sieht es aus:
            xx2.png
            D.h. ich möchte beiden Linien dieselben Min/Max-Grenzen für die y-Achse zuordnen, daher wären Properties wie line_boundMin und line_boundMax als JSON-Option sehr nice.
            (die Ermittlung der min/max-Werte mache ich über JS - also kein Thema für das Widget)

          Möchtest du Github-Issues jeweils für diese Punkte, oder passt das hier? Lege ich gerne an im Fall.

          ScroungerS Offline
          ScroungerS Offline
          Scrounger
          Developer
          wrote on last edited by
          #857

          @Mic
          Hab nochmal nen bissle weiter am JSON Chart gebastelt. Jetzt kann man damit auch Farbverläufe für Line und Füllfarbe verwenden.

          Anbei ein Beispiel:
          e85828b0-2aad-469f-8a1c-3aac86b38ab2-grafik.png

          Skript:

          const chromaJs = require("chroma-js")
          
          let chart = {}
          let values = []
          let axisLabels = []
          let colors = [];
          
          let fakeLine = [];
          
          let gradientChartColors = [                                                                           // Gradient Farben für Charts, value = Temperatur
              { value: -20, color: '#5b2c6f' },
              { value: 0, color: '#2874a6' },
              { value: 14, color: '#73c6b6' },
              { value: 22, color: '#008000' },
              { value: 27, color: '#FFA500' },
              { value: 35, color: '#FF0000' }
          ]
          
          let gradientColors = getGradientColors(-20, 40, gradientChartColors);
          
          for (var i = -20; i <= 40; i++) {
              axisLabels.push('');
          
              let val = randomIntFromInterval(-15, 40)
          
              values.push(i);
              colors.push(gradientColors.getColorByValue(i));
          
          
              fakeLine.push(-20);
          }
          
          chart = {
              axisLabels: axisLabels,
              graphs: [
                  {
                      data: values,
                      type: 'line',
                      datalabel_color: 'white',
                      datalabel_backgroundColor: colors,
                      datalabel_offset: -12,
                      // line_PointColor: colors,
                      // line_PointColorBorder: colors,
                      line_pointSize: 0,
                      line_Thickness: 3,
                      datalabel_show: true,
                      datalabel_borderRadius: 15,
                      legendText: 'Temperatur',
                      yAxis_id: 0,
                      yAxis_gridLines_show: true,
                      yAxis_gridLines_border_show: true,
                      yAxis_gridLines_ticks_show: true,
                      yAxis_showTicks: false,
                      yAxis_zeroLineWidth: 0.4,
                      line_UseFillColor: true,
                      datalabel_steps: 3,
                      use_gradient_color: true,
                      gradient_color: gradientChartColors,
                      use_line_gradient_fill_color: true,
                      line_gradient_fill_color: gradientColors.getGradientWithOpacity(60),
                      line_FillBetweenLines: '+1'
                  },
                  {
                      data: fakeLine,
                      type: 'line',
                      datalabel_color: 'transparent',
                      datalabel_backgroundColor: colors,
                      // line_PointColor: colors,
                      // line_PointColorBorder: colors,
                      line_pointSize: 0,
                      line_Thickness: 0,
                      datalabel_borderRadius: 15,
                      yAxis_id: 0,
                      datalabel_show: false,
                  }
              ]
          }
          
          function getGradientColors(min, max, colorValArray) {
              let delta = max - min;
          
              let chromaColors = []
              let chromaDomains = [];
          
              for (const item of colorValArray) {
                  chromaColors.push(item.color);
                  chromaDomains.push(item.value / delta);
              }
              let chroma = chromaJs.scale(chromaColors).domain(chromaDomains);
          
              return {
                  getColorByValue: function (val) {
                      if (val > max) {
                          return chroma(1).hex();
                      } else if (val < min) {
                          return chroma(0).hex();
                      } else {
                          return chroma(val / delta).hex();
                      }
                  },
                  getGradientWithOpacity: function (opacity) {
                      colorValArray.forEach(item => {
                          item.color = chromaJs(item.color).alpha(opacity / 100).hex();
                      });
                      return colorValArray;
                  }
              }
          }
          
          function randomIntFromInterval(min, max) { // min and max included 
              return Math.floor(Math.random() * (max - min + 1) + min);
          }
          
          setState('0_userdata.0.chart.tempColors', JSON.stringify(chart), true);
          

          Funktioniert mit der aktuellen master von git -> v0.2.74

          Weiter kann man jetzt auf Füllfarbe zwischen zwei Linien realisieren, sieht dann z.B. so aus.
          0f86ff4a-c454-426d-ba95-2098d7e7d924-grafik.png

          Ein Beispiel dazu ist auch im obigen Skript - property line_FillBetweenLines

          D 1 Reply Last reply
          4
          • ScroungerS Scrounger

            @Mic
            Hab nochmal nen bissle weiter am JSON Chart gebastelt. Jetzt kann man damit auch Farbverläufe für Line und Füllfarbe verwenden.

            Anbei ein Beispiel:
            e85828b0-2aad-469f-8a1c-3aac86b38ab2-grafik.png

            Skript:

            const chromaJs = require("chroma-js")
            
            let chart = {}
            let values = []
            let axisLabels = []
            let colors = [];
            
            let fakeLine = [];
            
            let gradientChartColors = [                                                                           // Gradient Farben für Charts, value = Temperatur
                { value: -20, color: '#5b2c6f' },
                { value: 0, color: '#2874a6' },
                { value: 14, color: '#73c6b6' },
                { value: 22, color: '#008000' },
                { value: 27, color: '#FFA500' },
                { value: 35, color: '#FF0000' }
            ]
            
            let gradientColors = getGradientColors(-20, 40, gradientChartColors);
            
            for (var i = -20; i <= 40; i++) {
                axisLabels.push('');
            
                let val = randomIntFromInterval(-15, 40)
            
                values.push(i);
                colors.push(gradientColors.getColorByValue(i));
            
            
                fakeLine.push(-20);
            }
            
            chart = {
                axisLabels: axisLabels,
                graphs: [
                    {
                        data: values,
                        type: 'line',
                        datalabel_color: 'white',
                        datalabel_backgroundColor: colors,
                        datalabel_offset: -12,
                        // line_PointColor: colors,
                        // line_PointColorBorder: colors,
                        line_pointSize: 0,
                        line_Thickness: 3,
                        datalabel_show: true,
                        datalabel_borderRadius: 15,
                        legendText: 'Temperatur',
                        yAxis_id: 0,
                        yAxis_gridLines_show: true,
                        yAxis_gridLines_border_show: true,
                        yAxis_gridLines_ticks_show: true,
                        yAxis_showTicks: false,
                        yAxis_zeroLineWidth: 0.4,
                        line_UseFillColor: true,
                        datalabel_steps: 3,
                        use_gradient_color: true,
                        gradient_color: gradientChartColors,
                        use_line_gradient_fill_color: true,
                        line_gradient_fill_color: gradientColors.getGradientWithOpacity(60),
                        line_FillBetweenLines: '+1'
                    },
                    {
                        data: fakeLine,
                        type: 'line',
                        datalabel_color: 'transparent',
                        datalabel_backgroundColor: colors,
                        // line_PointColor: colors,
                        // line_PointColorBorder: colors,
                        line_pointSize: 0,
                        line_Thickness: 0,
                        datalabel_borderRadius: 15,
                        yAxis_id: 0,
                        datalabel_show: false,
                    }
                ]
            }
            
            function getGradientColors(min, max, colorValArray) {
                let delta = max - min;
            
                let chromaColors = []
                let chromaDomains = [];
            
                for (const item of colorValArray) {
                    chromaColors.push(item.color);
                    chromaDomains.push(item.value / delta);
                }
                let chroma = chromaJs.scale(chromaColors).domain(chromaDomains);
            
                return {
                    getColorByValue: function (val) {
                        if (val > max) {
                            return chroma(1).hex();
                        } else if (val < min) {
                            return chroma(0).hex();
                        } else {
                            return chroma(val / delta).hex();
                        }
                    },
                    getGradientWithOpacity: function (opacity) {
                        colorValArray.forEach(item => {
                            item.color = chromaJs(item.color).alpha(opacity / 100).hex();
                        });
                        return colorValArray;
                    }
                }
            }
            
            function randomIntFromInterval(min, max) { // min and max included 
                return Math.floor(Math.random() * (max - min + 1) + min);
            }
            
            setState('0_userdata.0.chart.tempColors', JSON.stringify(chart), true);
            

            Funktioniert mit der aktuellen master von git -> v0.2.74

            Weiter kann man jetzt auf Füllfarbe zwischen zwei Linien realisieren, sieht dann z.B. so aus.
            0f86ff4a-c454-426d-ba95-2098d7e7d924-grafik.png

            Ein Beispiel dazu ist auch im obigen Skript - property line_FillBetweenLines

            D Offline
            D Offline
            darkiop
            Most Active
            wrote on last edited by
            #858

            @Scrounger Sieht Spannend aus. Hast du schon ein Beispiel wie man aus einem DP mit SQL Historie das neue Chart befüllen kann?

            Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

            ScroungerS 1 Reply Last reply
            0
            • D darkiop

              @Scrounger Sieht Spannend aus. Hast du schon ein Beispiel wie man aus einem DP mit SQL Historie das neue Chart befüllen kann?

              ScroungerS Offline
              ScroungerS Offline
              Scrounger
              Developer
              wrote on last edited by Scrounger
              #859

              @darkiop
              Nein hab bis jetzt dafür noch keinen UseCase.
              Grundsätzlich kann man wie hier beschrieben vorgehen:
              https://forum.iobroker.net/topic/2344/script-um-sql-auszulesen

              Und Daten muss man danach nur noch richtig formatieren und an den JSON Chart übergeben.
              So mal die Theorie ;-)

              Hätte auch den Vorteil ggü. dem Line Chart, dass die ganze Datenaufbereitung serverseitg dann läuft - mhh vielleicht doch grad ein UseCase gefunden :grin:

              1 Reply Last reply
              0
              • S Offline
                S Offline
                stockics6
                wrote on last edited by
                #860

                Hi,

                ich versuche den "Line History Chart" einzubinden und stoße dabei auf folgendes Probelem:

                • Obwohl beide Datenpunkte meiner Meinung nach richtig angelegt sind, wird mir nur einer angezeigt

                31e7db00-f2c2-4e58-b001-05675b0914a1-grafik.png
                34fe0c92-4a38-41d6-884b-fef867ba4ecf-grafik.png 5ebf8ade-7f7d-4121-b780-2270da7f61bc-grafik.png

                Hat jemand einen Rat?

                sigi234S 1 Reply Last reply
                0
                • S stockics6

                  Hi,

                  ich versuche den "Line History Chart" einzubinden und stoße dabei auf folgendes Probelem:

                  • Obwohl beide Datenpunkte meiner Meinung nach richtig angelegt sind, wird mir nur einer angezeigt

                  31e7db00-f2c2-4e58-b001-05675b0914a1-grafik.png
                  34fe0c92-4a38-41d6-884b-fef867ba4ecf-grafik.png 5ebf8ade-7f7d-4121-b780-2270da7f61bc-grafik.png

                  Hat jemand einen Rat?

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  wrote on last edited by
                  #861

                  @stockics6

                  Anzahl der Datensätze 1

                  0 wird auch mitgezählt!

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

                  S 1 Reply Last reply
                  0
                  • sigi234S sigi234

                    @stockics6

                    Anzahl der Datensätze 1

                    0 wird auch mitgezählt!

                    S Offline
                    S Offline
                    stockics6
                    wrote on last edited by
                    #862

                    @sigi234

                    ouh man wie dumm :D, vielen Dank :)

                    1 Reply Last reply
                    0
                    • C Offline
                      C Offline
                      Coffeelover
                      wrote on last edited by
                      #863

                      Hallo zusammen,
                      habe mir ein Bar-Chart erstellt. Leider bekomme ich die Werte bei den größten Datensätzen nicht angezeigt, da sie die Breite des Widgets überschreiten. Gibt es dazu einen Tipp oder ist das ein Bug?
                      Es geht um die abgeschnittenen Werte "Gesamt". Ein Überlagern durch andere Widgets kann ausgeschlossen werden.
                      81865ad2-7134-41ce-9efe-9b38fbff3c56-grafik.png
                      VG

                      ScroungerS 1 Reply Last reply
                      0
                      • C Coffeelover

                        Hallo zusammen,
                        habe mir ein Bar-Chart erstellt. Leider bekomme ich die Werte bei den größten Datensätzen nicht angezeigt, da sie die Breite des Widgets überschreiten. Gibt es dazu einen Tipp oder ist das ein Bug?
                        Es geht um die abgeschnittenen Werte "Gesamt". Ein Überlagern durch andere Widgets kann ausgeschlossen werden.
                        81865ad2-7134-41ce-9efe-9b38fbff3c56-grafik.png
                        VG

                        ScroungerS Offline
                        ScroungerS Offline
                        Scrounger
                        Developer
                        wrote on last edited by
                        #864

                        @Coffeelover
                        Abstand von rechts anpassen:
                        4d3fde49-e0c6-446a-9f05-e7d78e02397d-grafik.png

                        1 Reply Last reply
                        1
                        • S Offline
                          S Offline
                          sveni_lee
                          wrote on last edited by
                          #865

                          hallo @Scrounger

                          kann man den minimal bzw maximal Wert auch mit gebrochenen Zahlen festlegen?
                          Für dieselpreise würde ich gern min. 0,95 und max 1,30 angeben. Mit ganzen Zahlen lässt es sich grafisch nicht ganz so schön darstellen.

                          ScroungerS 1 Reply Last reply
                          0
                          • S sveni_lee

                            hallo @Scrounger

                            kann man den minimal bzw maximal Wert auch mit gebrochenen Zahlen festlegen?
                            Für dieselpreise würde ich gern min. 0,95 und max 1,30 angeben. Mit ganzen Zahlen lässt es sich grafisch nicht ganz so schön darstellen.

                            ScroungerS Offline
                            ScroungerS Offline
                            Scrounger
                            Developer
                            wrote on last edited by
                            #866

                            @sveni_lee
                            Welches Widget? Wo willst du was eingeben?
                            Sorry aber ich versteh die Frage nicht.

                            S 1 Reply Last reply
                            0
                            • ScroungerS Scrounger

                              @sveni_lee
                              Welches Widget? Wo willst du was eingeben?
                              Sorry aber ich versteh die Frage nicht.

                              S Offline
                              S Offline
                              sveni_lee
                              wrote on last edited by
                              #867

                              In den History Charts Y-Achsen-Layout für Datensatz(x), kann ich doch einen Wertebereich min und max eingeben aber eben nur ganze Zahlen. Meine Frage ist ob man auch irgendwie gebrochene Zahlen also mit Nachmommastellen angeben kann.

                              ScroungerS 1 Reply Last reply
                              0
                              • S sveni_lee

                                In den History Charts Y-Achsen-Layout für Datensatz(x), kann ich doch einen Wertebereich min und max eingeben aber eben nur ganze Zahlen. Meine Frage ist ob man auch irgendwie gebrochene Zahlen also mit Nachmommastellen angeben kann.

                                ScroungerS Offline
                                ScroungerS Offline
                                Scrounger
                                Developer
                                wrote on last edited by
                                #868

                                @sveni_lee
                                Ne das geht nicht, Bau ich aber ein.
                                Wir in deinem Fall nur bedingt helfen wichtig ist hier die Formatierung der Nachkommastellen. Das gibt's aktuell auch nicht, Werd ich auch noch einbauen.

                                1 Reply Last reply
                                0
                                • J Offline
                                  J Offline
                                  jerzimeik
                                  wrote on last edited by
                                  #869

                                  Hallo zusammen,

                                  kann es sein, dass sowohl im fully-Browser als auch in der iobroker.vis App unter Android die Widgets nicht mit angezeigt werden?

                                  Bei mir kommt zumindest nichts.

                                  C 1 Reply Last reply
                                  0
                                  • J jerzimeik

                                    Hallo zusammen,

                                    kann es sein, dass sowohl im fully-Browser als auch in der iobroker.vis App unter Android die Widgets nicht mit angezeigt werden?

                                    Bei mir kommt zumindest nichts.

                                    C Offline
                                    C Offline
                                    Coffeelover
                                    wrote on last edited by
                                    #870

                                    @jerzimeik Grundsätzlich werden die Widgets schon im Fully-Browser angezeigt. Hast du darauf geachtet, dass der Z-Index sie nicht in den Hintergrund schiebt?

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      mrMuppet
                                      wrote on last edited by
                                      #871

                                      Gibt es eigentlich einen Plan, wann diese Widget stable wird? Bluefox will das Nutzung in der vis-App ja erst ermöglichen wenn das Widget stable wird und da warte ich jetzt schon etliche Wochen in denen ich meine neue Visualisierung nicht nutzen kann.

                                      ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                      Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                      ScroungerS 1 Reply Last reply
                                      1
                                      • M Offline
                                        M Offline
                                        mrMuppet
                                        wrote on last edited by
                                        #872

                                        btw. bei den alten Plugins gibts ein Typo: richtig"deprecated" - bei dir steht an einigen Stellen "decrepated"... siehe "deprecated"

                                        ioBroker auf NUC (Celeron mit Ubuntu-Server)

                                        Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                                        1 Reply Last reply
                                        0
                                        • M mrMuppet

                                          Gibt es eigentlich einen Plan, wann diese Widget stable wird? Bluefox will das Nutzung in der vis-App ja erst ermöglichen wenn das Widget stable wird und da warte ich jetzt schon etliche Wochen in denen ich meine neue Visualisierung nicht nutzen kann.

                                          ScroungerS Offline
                                          ScroungerS Offline
                                          Scrounger
                                          Developer
                                          wrote on last edited by
                                          #873

                                          @mrMuppet sagte in Test Adapter Material Design Widgets v0.2.x:

                                          Gibt es eigentlich einen Plan, wann diese Widget stable wird?

                                          Sobald ich der Meinung bin, das es stable ist, das wird aber sicher noch ein ganze Weile dauern, weil ich noch immer einige Fehler entdecke und features integriere, die mir beim parallelen erstellen meiner VIS auffallen.

                                          Bluefox will das Nutzung in der vis-App ja erst ermöglichen wenn das Widget stable wird und da warte ich jetzt schon etliche Wochen in denen ich meine neue Visualisierung nicht nutzen kann.

                                          Ist bereits in der aktuellen Beta 2.0.0 integriert, siehe
                                          https://github.com/ioBroker/ioBroker.vis.cordova/blob/0a71c6297a529cf0f91960394e385fb63fd406d8/package.json#L77.
                                          Die ist auch shcon im Play Store.

                                          M 1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          734

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe