Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v2.2.0 - just another remarkable vis

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    jarvis v2.2.0 - just another remarkable vis

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

      @oliwit82 sagte in jarvis v2.2.0 - just another remarkable vis:

      Meinst du hier? Oder muss ich das wo anders einstellen?

      Genau das. Geht trotzdem nicht? Hast du einen Fehler in der Browser Konsole via F12?

      O 1 Reply Last reply Reply Quote 0
      • O
        OliWit82 @Zefau last edited by

        @zefau

        Das kommt da
        jarvis_sql_1.png

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

          @stephan1827 Mit einer JSONtable.

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

            @schuetzeschulz
            Funktioniert grundsätzlich noch nicht.

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

              @mcu sagte in jarvis v2.2.0 - just another remarkable vis:

              @stephan1827 Mit einer JSONtable.

              Gibt es dazu irgendwo Doku oder Beispiele? Für Jarvis finde ich nur ein bisschen Doku wie man die Kopfzeile definiert und dann Werte hinzufügt.

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

                @stephan1827 Ich mache Dir gerade ein Beispiel fertig. Mit Javascript kennst du dich etwas aus?
                SO?
                f43dae58-d951-40a7-a06b-ccc0c8bd2f69-image.png
                Durch was werden die Werte verändert?
                Wie oft ändern sich die Werte?
                Welche Objekte werden aktualisiert?
                Reicht es wenn die Tabelle alle 10 Minuten aktualisiert wird?

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

                  @mcu das wäre super, wenn ich ein Beispiel habe komme ich klar. Die Werte existieren als Datenpunkte in Jarvis
                  Bildschirmfoto 2021-11-01 um 13.10.52.png

                  Die meisten Werte ändern sich nur alle paar Minuten außer die erste Spalte, die ändert sich alle paar Sekunden

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

                    @stephan1827

                    
                    // Beispiel um eine JSONtable zu erstellen
                    // https://forum.iobroker.net/topic/30668/jarvis-v2-2-0-just-another-remarkable-vis/5637
                    //
                    let pvDP ='0_userdata.0.jarvis.pv.json';
                    let aktDP ='0_userdata.0.jarvis.pv.setJSON';
                    let schedDP = '0_userdata.0.jarvis.pv.setSchedule';
                    createState(pvDP, {read: true, write: true, name: "PV Daten", type: "string", role: "text", def: "" });
                    createState(aktDP, {read: true, write: true, name: "Daten aktualisieren", type: "boolean", role: "text", def: false });
                    createState(schedDP, {read: true, write: true, name: "Scheduler setzen", type: "boolean", role: "text", def: false });
                    
                    let arrDP =''; // ArrayDP für PV
                    let schedulePattern = '*/1 * * * *'; // alle x Minuten aktualisieren
                    
                    
                    var schedule1;
                    if (getState(schedDP).val){
                       // Direkt neue Pattern wirken lassen, aber nur wenn aktiviert
                       (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})();
                       schedule1 = schedule(schedulePattern, async function () {
                           tableJSONSet();
                       });
                    }
                    
                    on({id: schedDP, change: "any"}, function (obj) {
                       let value = obj.state.val;
                       if (value){
                           (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})();
                           schedule1 = schedule(schedulePattern, async function () {
                               tableJSONSet();
                           });
                           
                       }else{
                           (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})();
                       }
                    });
                    
                    on({id: aktDP, change: "any"}, function (obj) {
                       let value = obj.state.val;
                       if (value){
                           tableJSONSet();
                           setTimeout(function(){
                               setStateDelayed(aktDP,false,3000,false);
                           },2000);
                           
                       }
                    });
                    
                    
                    
                    
                    function tableJSONSet(){
                       let jsonArr=[];
                       // 1.Reihe
                       /*
                       let json = {};
                       json.Title ="Titel";
                       json.Aktuell = "Aktuell";
                       json.Tag = "Tag";
                       json.Woche = "Woche";
                       json.Monat = "Monat";
                       json.Jahr = "Jahr";
                       jsonArr.push(json);
                       */
                       let json1= {};
                       json1.Title ="Verbrauch";
                       json1.Aktuell = getState('0_userdata.0.testwert').val;
                       json1.Tag = "";
                       json1.Woche = "";
                       json1.Monat = "";
                       json1.Jahr = "";
                       jsonArr.push(json1);
                       
                       let json2 = {};
                       json2.Title ="PV";
                       json2.Aktuell = getState('0_userdata.0.testwert').val;
                       json2.Tag = "";
                       json2.Woche = "";
                       json2.Monat = "";
                       json2.Jahr = "";
                       jsonArr.push(json2);
                       
                       let json3 = {};
                       json3.Title ="Laden";
                       json3.Aktuell = getState('0_userdata.0.testwert').val;
                       json3.Tag = "";
                       json3.Woche = "";
                       json3.Monat = "";
                       json3.Jahr = "";
                       jsonArr.push(json3);
                       
                       let json4 = {};
                       json4.Title ="Entladen";
                       json4.Aktuell = getState('0_userdata.0.testwert').val;
                       json4.Tag = "";
                       json4.Woche = "";
                       json4.Monat = "";
                       json4.Jahr = "";
                       jsonArr.push(json4);
                       
                       let json5 = {};
                       json5.Title ="Zukauf";
                       json5.Aktuell = getState('0_userdata.0.testwert').val;
                       json5.Tag = "";
                       json5.Woche = "";
                       json5.Monat = "";
                       json5.Jahr = "";
                       jsonArr.push(json5);
                       
                       let json6 = {};
                       json6.Title ="Verkauf";
                       json6.Aktuell = getState('0_userdata.0.testwert').val;
                       json6.Tag = "";
                       json6.Woche = "";
                       json6.Monat = "";
                       json6.Jahr = "";
                       jsonArr.push(json6);
                    
                       let json7 = {};
                       json7.Title ="EURO";
                       json7.Aktuell = getState('0_userdata.0.testwert').val;
                       json7.Tag = "";
                       json7.Woche = "";
                       json7.Monat = "";
                       json7.Jahr = "";
                       jsonArr.push(json7);
                       
                       log(JSON.stringify(jsonArr));
                       
                       setState(pvDP,JSON.stringify(jsonArr),false);
                    }
                    

                    Du musst dann die einzelnen Felder mit Deinen Daten füllen.
                    So wie in dem Beispiel-DP: getState('0_userdata.0.testwert').val;
                    Melde Dich, sobald du damit fertig bist.

                    a9a01ac9-f146-403d-9313-8b35fb014232-image.png
                    Du kannst entweder jederzeit eine neue Tabelle erzeugen mit setJSON->true, oder einen Scheduler laufen lassen. Dieser ist momentan auf 1 Minute eingestellt.

                    stephan1827 1 Reply Last reply Reply Quote 1
                    • stephan1827
                      stephan1827 @MCU last edited by

                      @mcu sagte in jarvis v2.2.0 - just another remarkable vis:

                      // Beispiel um eine JSONtable zu erstellen // https://forum.iobroker.net/topic/30668/jarvis-v2-2-0-just-another-remarkable-vis/5637 // let pvDP ='0_userdata.0.jarvis.pv.json'; let aktDP ='0_userdata.0.jarvis.pv.setJSON'; let schedDP = '0_userdata.0.jarvis.pv.setSchedule'; createState(pvDP, {read: true, write: true, name: "PV Daten", type: "string", role: "text", def: "" }); createState(aktDP, {read: true, write: true, name: "Daten aktualisieren", type: "boolean", role: "text", def: false }); createState(schedDP, {read: true, write: true, name: "Scheduler setzen", type: "boolean", role: "text", def: false }); let arrDP =''; // ArrayDP für PV let schedulePattern = '*/1 * * * '; // alle x Minuten aktualisieren var schedule1; if (getState(schedDP).val){ // Direkt neue Pattern wirken lassen, aber nur wenn aktiviert (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})(); schedule1 = schedule(schedulePattern, async function () { tableJSONSet(); }); } on({id: schedDP, change: "any"}, function (obj) { let value = obj.state.val; if (value){ (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})(); schedule1 = schedule(schedulePattern, async function () { tableJSONSet(); }); }else{ (function () {if (schedule1) {clearSchedule(schedule1); schedule1 = null;}})(); } }); on({id: aktDP, change: "any"}, function (obj) { let value = obj.state.val; if (value){ tableJSONSet(); setTimeout(function(){ setStateDelayed(aktDP,false,3000,false); },2000); } }); function tableJSONSet(){ let jsonArr=[]; // 1.Reihe / let json = {}; json.Title ="Titel"; json.Aktuell = "Aktuell"; json.Tag = "Tag"; json.Woche = "Woche"; json.Monat = "Monat"; json.Jahr = "Jahr"; jsonArr.push(json); */ let json1= {}; json1.Title ="Verbrauch"; json1.Aktuell = getState('0_userdata.0.testwert').val; json1.Tag = ""; json1.Woche = ""; json1.Monat = ""; json1.Jahr = ""; jsonArr.push(json1); let json2 = {}; json2.Title ="PV"; json2.Aktuell = getState('0_userdata.0.testwert').val; json2.Tag = ""; json2.Woche = ""; json2.Monat = ""; json2.Jahr = ""; jsonArr.push(json2); let json3 = {}; json3.Title ="Laden"; json3.Aktuell = getState('0_userdata.0.testwert').val; json3.Tag = ""; json3.Woche = ""; json3.Monat = ""; json3.Jahr = ""; jsonArr.push(json3); let json4 = {}; json4.Title ="Entladen"; json4.Aktuell = getState('0_userdata.0.testwert').val; json4.Tag = ""; json4.Woche = ""; json4.Monat = ""; json4.Jahr = ""; jsonArr.push(json4); let json5 = {}; json5.Title ="Zukauf"; json5.Aktuell = getState('0_userdata.0.testwert').val; json5.Tag = ""; json5.Woche = ""; json5.Monat = ""; json5.Jahr = ""; jsonArr.push(json5); let json6 = {}; json6.Title ="Verkauf"; json6.Aktuell = getState('0_userdata.0.testwert').val; json6.Tag = ""; json6.Woche = ""; json6.Monat = ""; json6.Jahr = ""; jsonArr.push(json6); let json7 = {}; json7.Title ="EURO"; json7.Aktuell = getState('0_userdata.0.testwert').val; json7.Tag = ""; json7.Woche = ""; json7.Monat = ""; json7.Jahr = ""; jsonArr.push(json7); log(JSON.stringify(jsonArr)); setState(pvDP,JSON.stringify(jsonArr),false); }

                      Du musst dann die einzelnen Felder mit Deinen Daten füllen.

                      Danke, das bringt mich erstmal weiter

                      stephan1827 1 Reply Last reply Reply Quote 0
                      • stephan1827
                        stephan1827 @stephan1827 last edited by stephan1827

                        Hier sind noch ein paar Fragen die heute beim Umbau meiner Solarseite aufgelaufen sind.

                        Bildschirmfoto 2021-11-01 um 16.12.43.png

                        Kann man bei dem Circle Chart die Zahl (81) ausblenden?
                        Kann man die Farbe in Abhängigkeit von dem Wert ändern?

                        Bildschirmfoto 2021-11-01 um 16.13.53.png
                        Wie kann man die Reihenfolge der Widgets für das Reponsive Design ändern?
                        Das hat irgendwie mit den Zahlen in den eckigen Klammern zu tun aber finder nirgends wo man die ändern kann.

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

                          @stephan1827 sagte in jarvis v2.2.0 - just another remarkable vis:

                          die Reihenfolge der Widgets für das Reponsive Design ändern?

                          Ist in Planung.

                          Wie kann man beim historischen Charts zwei Y- Achsen definieren?

                          https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/historygraph

                          Bzgl Circle Chart brauch ich eine Info:

                          Zeig mir bitte das Widget mit den Eintragungen.
                          Ich habe keine Möglichkeit gefunden, die Zahl im Circle zu beeinflussen.
                          Im "Chart" fehlt eine Einstellungsmöglichkeit, wie im "HistoryGraph".
                          288c8501-fbe7-44f3-ba44-b109a106737c-image.png
                          Vielleicht kann/möchte @zefau eine Option einbauen: Show Value (on/off)

                          stephan1827 2 Replies Last reply Reply Quote 0
                          • stephan1827
                            stephan1827 @MCU last edited by

                            @mcu sagte in jarvis v2.2.0 - just another remarkable vis:

                            Bzgl Circle Chart brauch ich eine Info:

                            Zeig mir bitte das Widget mit den Eintragungen.
                            Ich habe keine Möglichkeit gefunden, die Zahl im Circle zu beeinflussen.
                            Im "Chart" fehlt eine Einstellungsmöglichkeit, wie im "HistoryGraph".

                            Das Widget sieht so aus
                            Bildschirmfoto 2021-11-01 um 17.20.40.png

                            Man kann zwar die Legende ausblenden aber nicht den Zahlenwert in der Mitte

                            M R 2 Replies Last reply Reply Quote 0
                            • M
                              MCU @stephan1827 last edited by

                              @stephan1827 Wie klappt es mit der Tabelle?

                              stephan1827 1 Reply Last reply Reply Quote 0
                              • R
                                RkcCorian @stephan1827 last edited by RkcCorian

                                @stephan1827 Alternativ Grafana über iFrame einbinden. So mache ich es.

                                Bpsw.
                                d6b4e2ca-c280-479d-ae2f-9ed68f905e59-image.png

                                Oder auch
                                ea975843-3baa-4477-9b02-0cea9c3111e2-image.png

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Alex975 @MCU last edited by

                                  @mcu vpn scheitern leider bei mir an einer nicht vorhandenen öffentlichen IP4 Adresse.. Deswegen nutze ich ja bereits den iobroker cloud pro Zugang um so z.b. das habpanel aufzurufen...

                                  I stephan1827 2 Replies Last reply Reply Quote 0
                                  • I
                                    io_laurent @Alex975 last edited by io_laurent

                                    @alex975 Ich mache das auf einem iPhone mit der iobroker-app (gibts gratis im app-store). Dort bei Adapter-Name Jarvis eintragen, entsprechende ip vergeben und cloud-Zugangsdaten eintragen. Funktioniert.
                                    Für Android gibts sowas sicher auch, kenn ich mich aber nicht aus.

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

                                      @io_laurent Kannst du mal bitte ein paar Bilder der App reinstellen? Danke.
                                      In Android finde ich nur die ioBroker.vis.

                                      I 1 Reply Last reply Reply Quote 0
                                      • stephan1827
                                        stephan1827 @MCU last edited by

                                        @mcu Danke, funktioniert
                                        Bildschirmfoto 2021-11-01 um 19.18.04.png

                                        Schriftgröße muss ich noch anpassen aber das finde ich schon...

                                        M 1 Reply Last reply Reply Quote 0
                                        • stephan1827
                                          stephan1827 @Alex975 last edited by

                                          @alex975 Um eine feste Adresse zu bekommen gibt es mittlerweile viel Möglichkeiten. Worauf läuft denn Dein iobroker?

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

                                            @stephan1827 In der Doku:

                                            d147209d-8024-4269-88fd-c83988ff7b23-image.png
                                            Nee, das war für die Historygraph.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            316
                                            6126
                                            3603029
                                            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