Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v2.2.0 - just another remarkable vis

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

jarvis v2.2.0 - just another remarkable vis

Scheduled Pinned Locked Moved Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
6.1k Posts 316 Posters 4.2m Views 273 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.
  • M MCU

    @disaster123 v3. Siehe userinfo mcuiobroker....jarvis-infos
    V3 für Einsteiger
    https://mcuiobroker.gitbook.io/jarvis-infos/v3-fuer-einsteiger/vorwort
    aa3915b1-d14a-461b-8478-bfa468e09fce-image.png

    F Offline
    F Offline
    Flo 0
    wrote on last edited by
    #5629

    Hat jemand mi-vacuum im Einsatz und im jarvis visualisiert? Ich versuche krampfhaft das Map im Jarvis darzustellen und habe es auch soweit geschafft nur leider aktualisiert dieses nicht ^^. Habe einen eigenen Datenpunkt erstellt womit ich das Bild soweit angepasst habe das es übersichtlich im Jarvis erscheint:

    <img src="/mihome-vacuum.admin/actualMap_0.png" 
    	 style="object-fit:fill;
                width:709px;
                height:469px;
                border: solid 1px #CCC;
    	     margin: -110px -50px -50px -88px" />
    

    Leider aktualisiert dieses nicht.

    M DiginixD 2 Replies Last reply
    0
    • F Flo 0

      Hat jemand mi-vacuum im Einsatz und im jarvis visualisiert? Ich versuche krampfhaft das Map im Jarvis darzustellen und habe es auch soweit geschafft nur leider aktualisiert dieses nicht ^^. Habe einen eigenen Datenpunkt erstellt womit ich das Bild soweit angepasst habe das es übersichtlich im Jarvis erscheint:

      <img src="/mihome-vacuum.admin/actualMap_0.png" 
      	 style="object-fit:fill;
                  width:709px;
                  height:469px;
                  border: solid 1px #CCC;
      	     margin: -110px -50px -50px -88px" />
      

      Leider aktualisiert dieses nicht.

      M Online
      M Online
      MCU
      wrote on last edited by MCU
      #5630

      @flo-0 Welche
      Version v2 oder v3?
      v3 -> auf v3-alpha.111 upgraden

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Reply Last reply
      1
      • F Flo 0

        Hat jemand mi-vacuum im Einsatz und im jarvis visualisiert? Ich versuche krampfhaft das Map im Jarvis darzustellen und habe es auch soweit geschafft nur leider aktualisiert dieses nicht ^^. Habe einen eigenen Datenpunkt erstellt womit ich das Bild soweit angepasst habe das es übersichtlich im Jarvis erscheint:

        <img src="/mihome-vacuum.admin/actualMap_0.png" 
        	 style="object-fit:fill;
                    width:709px;
                    height:469px;
                    border: solid 1px #CCC;
        	     margin: -110px -50px -50px -88px" />
        

        Leider aktualisiert dieses nicht.

        DiginixD Offline
        DiginixD Offline
        Diginix
        wrote on last edited by
        #5631

        @flo-0 Hatte ich hier alles vor paar Seiten sehr ausführlich gezeigt.

        ..:: So long! Tom ::..

        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

        F 1 Reply Last reply
        1
        • A Offline
          A Offline
          Alex975
          wrote on last edited by
          #5632

          Hallo, wo muss ich denn eigentlich einstellen dass ich jarvis über die cloud aufrufen kann? Oder ist das noch nicht umgesetzt?

          VG Alex

          M 1 Reply Last reply
          0
          • A Alex975

            Hallo, wo muss ich denn eigentlich einstellen dass ich jarvis über die cloud aufrufen kann? Oder ist das noch nicht umgesetzt?

            VG Alex

            M Online
            M Online
            MCU
            wrote on last edited by
            #5633

            @alex975 VPN nutzen. Bei der FritzBox gibt es z.B. die FritzApp mit der man direkt ein VPN starten kann.

            NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            A 1 Reply Last reply
            0
            • O Offline
              O Offline
              OliWit82
              wrote on last edited by
              #5634

              Guten Morgen,
              ich teste aktuell jarvis v3.0 alpha 112

              Kann das Modul "HistoryGraph" nur die Werte des History Adapters wiedergeben?
              Ich speichere meine Daten in SQL, dies scheint das Modul aber nicht zulesen.

              Vielen Dank
              Gruss

              ZefauZ 1 Reply Last reply
              0
              • O OliWit82

                Guten Morgen,
                ich teste aktuell jarvis v3.0 alpha 112

                Kann das Modul "HistoryGraph" nur die Werte des History Adapters wiedergeben?
                Ich speichere meine Daten in SQL, dies scheint das Modul aber nicht zulesen.

                Vielen Dank
                Gruss

                ZefauZ Offline
                ZefauZ Offline
                Zefau
                wrote on last edited by
                #5635

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

                Ich speichere meine Daten in SQL, dies scheint das Modul aber nicht zulesen.

                Ja das geht. Hast es denn in der Layout Konfiguration auf SQL umgestellt?

                Meine Adapter: https://zefau.github.io/iobroker/

                stephan1827S O 2 Replies Last reply
                0
                • ZefauZ Zefau

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

                  Ich speichere meine Daten in SQL, dies scheint das Modul aber nicht zulesen.

                  Ja das geht. Hast es denn in der Layout Konfiguration auf SQL umgestellt?

                  stephan1827S Offline
                  stephan1827S Offline
                  stephan1827
                  wrote on last edited by
                  #5636

                  Kann man so eine Tabelle in Jarvis darstellen? Ich habe leider wenig Infos zu JSON Tabellen gefunden und für mich sieht das so aus als könnte man damit nur eine Tabelle mit historischen Daten erstellen aber nicht ein zweidimensionales Raster so wie bei mir.

                  Bildschirmfoto 2021-11-01 um 08.41.47.png

                  M 1 Reply Last reply
                  0
                  • ZefauZ Zefau

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

                    Ich speichere meine Daten in SQL, dies scheint das Modul aber nicht zulesen.

                    Ja das geht. Hast es denn in der Layout Konfiguration auf SQL umgestellt?

                    O Offline
                    O Offline
                    OliWit82
                    wrote on last edited by
                    #5637

                    @zefau

                    Danke für deine Antwort.

                    Meinst du hier? Oder muss ich das wo anders einstellen?
                    jarvis_sql.png

                    ZefauZ 1 Reply Last reply
                    0
                    • DiginixD Diginix

                      @flo-0 Hatte ich hier alles vor paar Seiten sehr ausführlich gezeigt.

                      F Offline
                      F Offline
                      Flo 0
                      wrote on last edited by
                      #5638

                      @diginix Vielen Dank. Habe deine Posts gefunden und haben mir geholfen dies zu implementieren. Jetzt läuft es 1A. Die Suche hier im Forum ist leider nicht so das wahre :-)....

                      @MCU verwende noch die Version 2 🙂 bis jetzt bin ich damit super zufrieden. Habe sämtliche für mich notwendigen Datenpunkten manuell in die 2er Version erfasst.

                      Gruss und guten Start in dich Woche.

                      1 Reply Last reply
                      1
                      • M MCU

                        @schuetzeschulz Ja besser. Nur nicht "true" sondern true.
                        Also in Deinem Fall:

                        {"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"was soll dann passieren"}
                        

                        Zum Thema "proaktiv" , ja man muss nachschauen.
                        Du kannst zwar mit "Watch" alle Nachrichten bekommen, was so geschrieben wird, es kommt aber keine Nachricht eine Neue Version ist vorhanden. Nur in der Nachricht selbst steht teilweise drin:"teste mal die neue Version von Zefau"
                        a4250278-6417-4ba6-b2dd-1df8291f9f48-image.png

                        S Online
                        S Online
                        SchuetzeSchulz
                        wrote on last edited by
                        #5639

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

                        {"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"was soll dann passieren"}

                        Habe das gerade nochmal versucht, zwei Datenpunkt zu vereinen für die Anzeige (2 Fenstersensoren für einen Raum):

                        e366a1a4-ff2e-4fc2-a93c-1ed95aac3114-image.png

                        Folgende Einstellung habe ich im Gerät unter "Datenpunkt (Anzeige)":

                        {"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"true"}
                        

                        Habe ich da immer noch ein Denkfehler oder funktioniert es grundsätzlich noch nicht?

                        M 2 Replies Last reply
                        0
                        • O OliWit82

                          @zefau

                          Danke für deine Antwort.

                          Meinst du hier? Oder muss ich das wo anders einstellen?
                          jarvis_sql.png

                          ZefauZ Offline
                          ZefauZ Offline
                          Zefau
                          wrote on last edited by
                          #5640

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

                          Meine Adapter: https://zefau.github.io/iobroker/

                          O 1 Reply Last reply
                          0
                          • ZefauZ Zefau

                            @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 Offline
                            O Offline
                            OliWit82
                            wrote on last edited by
                            #5641

                            @zefau

                            Das kommt da
                            jarvis_sql_1.png

                            ZefauZ 1 Reply Last reply
                            0
                            • stephan1827S stephan1827

                              Kann man so eine Tabelle in Jarvis darstellen? Ich habe leider wenig Infos zu JSON Tabellen gefunden und für mich sieht das so aus als könnte man damit nur eine Tabelle mit historischen Daten erstellen aber nicht ein zweidimensionales Raster so wie bei mir.

                              Bildschirmfoto 2021-11-01 um 08.41.47.png

                              M Online
                              M Online
                              MCU
                              wrote on last edited by
                              #5642

                              @stephan1827 Mit einer JSONtable.

                              NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              stephan1827S 1 Reply Last reply
                              0
                              • S SchuetzeSchulz

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

                                {"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"was soll dann passieren"}

                                Habe das gerade nochmal versucht, zwei Datenpunkt zu vereinen für die Anzeige (2 Fenstersensoren für einen Raum):

                                e366a1a4-ff2e-4fc2-a93c-1ed95aac3114-image.png

                                Folgende Einstellung habe ich im Gerät unter "Datenpunkt (Anzeige)":

                                {"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"true"}
                                

                                Habe ich da immer noch ein Denkfehler oder funktioniert es grundsätzlich noch nicht?

                                M Online
                                M Online
                                MCU
                                wrote on last edited by
                                #5643

                                @schuetzeschulz
                                Funktioniert grundsätzlich noch nicht.

                                NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                1 Reply Last reply
                                0
                                • M MCU

                                  @stephan1827 Mit einer JSONtable.

                                  stephan1827S Offline
                                  stephan1827S Offline
                                  stephan1827
                                  wrote on last edited by
                                  #5644

                                  @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
                                  0
                                  • stephan1827S stephan1827

                                    @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 Online
                                    M Online
                                    MCU
                                    wrote on last edited by MCU
                                    #5645

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

                                    NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                    stephan1827S 1 Reply Last reply
                                    0
                                    • M 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?

                                      stephan1827S Offline
                                      stephan1827S Offline
                                      stephan1827
                                      wrote on last edited by stephan1827
                                      #5646

                                      @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
                                      0
                                      • stephan1827S 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 Online
                                        M Online
                                        MCU
                                        wrote on last edited by MCU
                                        #5647

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

                                        NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                        stephan1827S 1 Reply Last reply
                                        1
                                        • M 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.

                                          stephan1827S Offline
                                          stephan1827S Offline
                                          stephan1827
                                          wrote on last edited by
                                          #5648

                                          @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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          720

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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