Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. HowTo: Zusatz-Programme fuer jarvis v3

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HowTo: Zusatz-Programme fuer jarvis v3

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

      Hi @MCU,

      ich nutze dein Script "widgetDisplay" um ein paar Widgets nur auf Knopfdruck zu aktivieren.
      Im Jarvis Thread habe ich gelesen, dass zum neu anordnen der Widgets (um den leeren Raum aufzufüllen), das ganze Grid neu berechnet werden muss.

      Wie ist da denn der aktuelle Stand? Ich habe im Script nämlich diese Variablen gesehen:
      a1e65297-893c-489c-bbf3-14f6ff3f3ff7-grafik.png

      Das hört sich für mich danach an, konnte dazu allerdings nichts in deiner Dokumentation finden konnte und weiß daher nicht wie man das nutzen kann.

      Danke für deine Arbeit!

      M 1 Reply Last reply Reply Quote 1
      • M
        MCU @MichiC00 last edited by MCU

        @michic00 Da gibt es noch keinen neuen Stand. Ich bin zurzeit mit Kontrolle der Updates von jarvis beschäftigt.
        Eigentlich muss das vom Standard her kommen, da wenn ich da "nachträglich" im Grid fummle, es immer unschön aussieht.
        Sieht man ein bisschen bei masterIconButtons.

        -> da bleibt momentan nicht viel Spielraum.

        Es sind noch so viele andere Themen die bearbeiten werden müssen.

        • Die Neuerungen müssen alle in die Doku.
        • tibberHTML muss weiterentwickelt usw. -> Klick auf Balken / Stunde um Aufgabe zuzuordnen, usw. automatische Zuordnung ab unter Wert X
        • Forum betreuen, Fragen beantworten.
        • Themes für v3.2.x - Farbgestaltung mit festgelegten Themes, einfacher Austausch von selbsterstellen Themes.
        • Ex-/Import für v3.2x - Austausch von Widgets, Tabs, Geräten
        • Automatische Generierung von Tabs -> Abstimmen mit Community -> Jarvis komplettes Dashboard für entsprechende Adapter in 5 Minuten.

        ...

        M 1 Reply Last reply Reply Quote 1
        • M
          MichiC00 @MCU last edited by

          @mcu
          Alles gut, kann verstehen das es dort Themen mit höherer Priorität gibt, dachte nur aufgrund der Variablen das es schon möglich sein könnte.

          Aber wäre natürlich schön, wenn da standardmäßig etwas für eingebaut wird.
          Habe gerade auch gesehen das der Punkt schon auf der Roadmap steht, deswegen werde ich wohl einfach darauf warten.

          1 Reply Last reply Reply Quote 1
          • M
            MCU @Meikie last edited by

            @meikie Bitte mal in den nächsten Tagen neue Tibber-Daten reinstellen. Danke.

            M 1 Reply Last reply Reply Quote 0
            • M
              Meikie @MCU last edited by

              @mcu Hey, was meinst du damit? Was soll ich reinstellen? Liebe Grüße

              M 1 Reply Last reply Reply Quote 0
              • M
                MCU @Meikie last edited by

                @meikie Ein Export von tibberlink. Im Export die ID ersetzen durch xyz.
                142c42f1-d5b5-4556-a435-a1e5e2932832-image.png

                M 1 Reply Last reply Reply Quote 0
                • M
                  Meikie @MCU last edited by

                  @mcu Sorry wenn ich dumm Frage. Export als Json Format?
                  Oder ein Screenshot?

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MCU @Meikie last edited by

                    @meikie JSON-Format. Danke.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      Meikie @MCU last edited by

                      @mcu: sind zu viele Zeichen.

                      tibberlink.json

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @Meikie last edited by

                        @meikie Danke.

                        1 Reply Last reply Reply Quote 0
                        • P
                          pingo last edited by

                          Ich habe versucht das TibberHTML in Jarvis zu implementieren und mich bemüht exakt nach der Anleitung vorzugehen.

                          Nun bleiben beide Widgets leider leer:
                          Bildschirmfoto 2024-02-04 um 13.12.59.jpg

                          Eine Kleinigkeit fehlt wohl noch. Habt Ihr vielleicht eine Idee?

                          Danke

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            Meikie @pingo last edited by

                            @pingo welchen TibberAdapter nutzt du?
                            Es geht nur mit Tibberlink (im Beta-Modus) verfügbar.
                            Das war auch bei mir der Fehler damals.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              pingo @Meikie last edited by pingo

                              @meikie ja tibberlink 2.1.1 mit dem Javascript TibberHTML
                              Bildschirmfoto 2024-02-04 um 14.19.17.jpg

                              die Objekt sehen noch komisch aus

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @pingo last edited by MCU

                                @pingo Zeig mal die Geräte Einstellungen und die Widget Einstellungen in jarvis zum HTMLToday.
                                F12 Fehlermeldungen?
                                Im Graphtyp wurde was falsches eingetragen? -> bar oder line auswählen
                                cffe99a5-9d5b-4c37-b8e8-73a9ebc75209-image.png

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  pingo @MCU last edited by

                                  @mcu ok. Ich habe "bar" eingestellt. Keine Änderung.

                                  Bildschirmfoto 2024-02-04 um 16.09.34.jpg Bildschirmfoto 2024-02-04 um 16.09.10.jpg Bildschirmfoto 2024-02-04 um 16.09.00.jpg Bildschirmfoto 2024-02-04 um 16.08.48.jpg Bildschirmfoto 2024-02-04 um 16.08.30.jpg Bildschirmfoto 2024-02-04 um 16.08.18.jpg Bildschirmfoto 2024-02-04 um 16.08.08.jpg Bildschirmfoto 2024-02-04 um 16.07.59.jpg Bildschirmfoto 2024-02-04 um 16.07.48.jpg Bildschirmfoto 2024-02-04 um 16.07.38.jpg Bildschirmfoto 2024-02-04 um 16.07.19.jpg Bildschirmfoto 2024-02-04 um 16.06.51.jpg

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @pingo last edited by MCU

                                    @pingo Du hst bei htmlToday Anzeigevariante eingetragen. Die muss raus.
                                    16413118-d42b-484e-8000-9806ea32a347-image.png
                                    Tomorrow müsste er aber anzeigen.
                                    Oder hats du bei Widget Tomorrow auch den htmlToday drin?

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      pingo @MCU last edited by

                                      @mcu ist raus. weiter keine Graphen

                                      Bildschirmfoto 2024-02-04 um 16.14.19.jpg

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @pingo last edited by MCU

                                        @pingo Klick mal auf dem htmlToday -Wert
                                        57633be6-ca2b-4c64-9fe1-17386f9c4a56-image.png

                                        05fc502b-0222-41a9-be57-da0455f0a9ff-image.png

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          pingo @MCU last edited by

                                          @mcu
                                          Bildschirmfoto 2024-02-04 um 16.18.27.jpg Bildschirmfoto 2024-02-04 um 16.16.52.jpg Bildschirmfoto 2024-02-04 um 16.16.46.jpg

                                          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Tibber-Tageswert</title><script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script></head><body><div id="chart-container" style="width: 100%; height:400px;"></div><script>    var data = [{"time":1707001200000,"value":0.2198,"tax":0.1845,"energy":0.0353,"level":"CHEAP"},{"time":1707004800000,"value":0.1897,"tax":0.1797,"energy":0.01,"level":"CHEAP"},{"time":1707008400000,"value":0.1816,"tax":0.1784,"energy":0.0032,"level":"CHEAP"},{"time":1707012000000,"value":0.1786,"tax":0.1779,"energy":0.0007,"level":"CHEAP"},{"time":1707015600000,"value":0.1778,"tax":0.1778,"energy":0,"level":"CHEAP"},{"time":1707019200000,"value":0.1778,"tax":0.1778,"energy":0,"level":"CHEAP"},{"time":1707022800000,"value":0.1778,"tax":0.1778,"energy":0,"level":"CHEAP"},{"time":1707026400000,"value":0.179,"tax":0.178,"energy":0.001,"level":"CHEAP"},{"time":1707030000000,"value":0.1884,"tax":0.1795,"energy":0.0089,"level":"CHEAP"},{"time":1707033600000,"value":0.1895,"tax":0.1797,"energy":0.0098,"level":"CHEAP"},{"time":1707037200000,"value":0.1907,"tax":0.1798,"energy":0.0109,"level":"CHEAP"},{"time":1707040800000,"value":0.193,"tax":0.1802,"energy":0.0128,"level":"CHEAP"},{"time":1707044400000,"value":0.1942,"tax":0.1804,"energy":0.0138,"level":"CHEAP"},{"time":1707048000000,"value":0.1833,"tax":0.1787,"energy":0.0046,"level":"CHEAP"},{"time":1707051600000,"value":0.1894,"tax":0.1797,"energy":0.0097,"level":"CHEAP"},{"time":1707055200000,"value":0.1965,"tax":0.1808,"energy":0.0157,"level":"CHEAP"},{"time":1707058800000,"value":0.1997,"tax":0.1813,"energy":0.0184,"level":"CHEAP"},{"time":1707062400000,"value":0.2241,"tax":0.1852,"energy":0.0389,"level":"NORMAL"},{"time":1707066000000,"value":0.2325,"tax":0.1865,"energy":0.046,"level":"NORMAL"},{"time":1707069600000,"value":0.2208,"tax":0.1846,"energy":0.0362,"level":"NORMAL"},{"time":1707073200000,"value":0.2124,"tax":0.1834,"energy":0.029,"level":"NORMAL"},{"time":1707076800000,"value":0.207,"tax":0.1825,"energy":0.0245,"level":"NORMAL"},{"time":1707080400000,"value":0.2069,"tax":0.1825,"energy":0.0244,"level":"NORMAL"},{"time":1707084000000,"value":0.1785,"tax":0.1779,"energy":0.0006,"level":"CHEAP"}];    var chartContainer = document.getElementById("chart-container");    var myChart = echarts.init(chartContainer);    function formatTime(time) {        return moment(time).format("HH");    }    function calculateArrowPosition(hour){       return (hour / 24) * 100 +1 + "%";    }    function updateChart() {        var minValue = Math.min.apply(null, data.map(function (item) {          return item.value;        }));        var yAxisMin = 0.16;        var maxValue = 0.233;        let avgValue = 0.195;        var visualMapPieces =[{"gt":0,"lte":0.15,"color":"lightgreen"},{"gt":0.15,"lte":0.22,"color":"green"},{"gt":0.22,"lte":0.29,"color":"yellow"},{"gt":0.29,"lte":0.35,"color":"orange"},{"gt":0.35,"color":"red"}];        var values = data.map(item => (item.value-minValue).toFixed(2));        var maxLineValue = Math.max.apply(null, values);        var maxLineIndex = values.indexOf(maxLineValue);        var maxLineData = {time:1707066000000,value:0.233};        var currentHour = new Date().getHours() ;        var colorStops = [];        visualMapPieces.map(piece => {          if(piece["lte"] >=yAxisMin && piece["gt"]<=maxValue){             if(piece["gt"]>=yAxisMin){             colorStops.push({              offset:  ((piece["gt"]-yAxisMin)/(maxValue-yAxisMin)),              color: piece.color             });            }            if(piece["lte"]<=maxValue){             colorStops.push({              offset:  ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)),              color: piece.color             });            }            if(piece["lte"]>maxValue ){            colorStops.push({              offset:  1,              color: piece.color             });           };          }else{           if(piece["lte"]>=maxValue && piece["gt"]<=maxValue ){            colorStops.push({              offset:  ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)),              color: piece.color            });           }else if(piece["lte"]>=maxValue && piece["gt"] <= maxValue){            colorStops.push({              offset:  ((piece["lte"]-yAxisMin)/(maxValue-yAxisMin)),              color: piece.color            });           }          };         });        colorStops.push({            offset: 1,            color: colorStops[colorStops.length-1].color        });        colorStops.splice(0, 0, {offset: 0,color:colorStops[0].color});        myChart.setOption({            title: {                text: "Today-Tageswerte",                show: false            },            visualMap: {              type: "piecewise",              pieces: visualMapPieces,              dimension: 1,              showLabel: true,              precision: 2,              itemWidth: 6,              orient: "horizontal",              left: "center", calculable: true,selectedMode: "multiple",              bottom: 10,              text: ["High", "Low"],              textStyle: {                color: "black"              },            },            grid: {              right: 10,              left: 10,              containLabel: true            },            areaStyle: {              color: colorStops            },            toolbox: {              feature: {                saveAsImage: {                   backgroundColor: "rgba(38, 37, 37, 1)",                   title: "Speichern",                   name: "TibberHTML Today 04.02.2024"                },                magicType: {                  type: ["line", "bar"],                  title:{                     line: "Line-Chart",                     bar: "Bar-Chart",                  }                },                dataView: {                  title: "Daten aus der Serie",                  lang: ["Daten der Kurve", "Schließen", "Aktualisieren"],                  optionToContent: function (opt) {                      var table = '<table style="width:100%;"><tbody><tr style="text-align: left;"><th>Stunde</th><th>Wert</th><th>Energie</th><th>Steuer</th><th>Level</th></tr>';                      for (var i = 0; i< opt.series[0].data.length;i++) {                          table += "<tr>";                         for(let x =0; x < opt.series[0].data[i].value.length; x++){                            if(x==0){                               table +=  "<td>" + ("0"+new Date(opt.series[0].data[i].value[x]).getHours()).slice(-2) + "</td>";                            }else{                               table +=  "<td>" + opt.series[0].data[i].value[x] + "</td>";                            }                          }                           table += "</tr>";                      }                      table += "</tbody></table>";                      return table;                  },                  readOnly: true                },              }            },            xAxis: {                type: "time",                axisLabel: {                    show: true,                    formatter: function (value) {                        return formatTime(value);                    }                },                splitNumber: 10,            },            yAxis: {                type: "value",                axisLabel: {                  formatter: function (value) {                     return value.toFixed(3) + " €";                  }                },               min: 0.16,               max: 0.27,            },            series: [{                data: data.map(function (item) {                    var hour = new Date(item.time).getHours();                    return {                       value: [item.time, item.value, item.energy, item.tax, item.level],                        symbol: "circle",                    symbolSize: hour === currentHour ? 10:null,                     itemStyle: {                           borderColor: hour === currentHour ? "grey":null,                           shadowColor: hour === currentHour ? "grey":null,                           borderWidth: hour === currentHour ? 1:null,                           shadowBlur: hour === currentHour ? 10:null,                     },                        emphasis: {                          itemStyle: {                            color: "white"                           },                          label: {                            show: true,                            formatter: function (params) {                               return params.data.value[1].toFixed(3) + " €";                            },                            color: "black",                            fontWeight: "bold",                             backgroundColor: "white"                          }                        }                     }                 }),                type: "bar",            }],            tooltip: {              trigger: "axis",              axisPointer: {               type: "shadow"              },              textStyle: {                fontFamily: "Courier",                fontWeight: "bold"              },              formatter: function (params) {                let time = "Start ab: "+ moment(params[0].axisValue).format("HH:mm")+ " Uhr";                let value = "Preis:&nbsp&nbsp&nbsp&nbsp"+params[0].value[1].toFixed(4) + " €";            let energy = "Energie:&nbsp&nbsp"+params[0].value[2].toFixed(4) + " €";            let tax    = "Steuer:&nbsp&nbsp&nbsp"+params[0].value[3].toFixed(4) + " €";            let lev    = "Level:&nbsp&nbsp&nbsp&nbsp"+ params[0].value[4];            return  `${time}<br/>${value}<br/>${energy}<br/>${tax}<br/>${lev}` ;              }            },        })     }    updateChart();      var updateInterval = setInterval(updateChart, 3600000);</script></body></html>
                                          
                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @pingo last edited by MCU

                                            @pingo Daten sind da, Adapter wurde erkannt.
                                            Muss angezeigt werden.
                                            83f55866-9472-4c8a-b51b-5f866f681343-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            754
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            30
                                            858
                                            150386
                                            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