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. Einsteigerfragen
  4. Automatisierung
  5. eCharts Zeitraum in Vis per Button ändern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

eCharts Zeitraum in Vis per Button ändern

Scheduled Pinned Locked Moved Automatisierung
70 Posts 9 Posters 8.4k Views 12 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.
  • N nettworker

    @mcu
    5fd0025c-b5d6-4bd0-9ed6-af16c778a98e-image.png

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

    @nettworker Also muss echarts.0.Einspeisung_Garage in den echartsDP rein geschrieben werden.
    b242e858-5215-4d7b-ad8f-9174fd46775f-image.png
    Natürlich den DP nehmen, den du als IFrame anzeigst.

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    N 1 Reply Last reply
    0
    • M MCU

      @nettworker Also muss echarts.0.Einspeisung_Garage in den echartsDP rein geschrieben werden.
      b242e858-5215-4d7b-ad8f-9174fd46775f-image.png
      Natürlich den DP nehmen, den du als IFrame anzeigst.

      N Offline
      N Offline
      nettworker
      wrote on last edited by
      #61

      @mcu
      Fehlermeldung im log:
      javascript.0
      2022-11-13 23:09:08.220 error Function "setObject" is not allowed. Use adapter settings to allow it.

      M 1 Reply Last reply
      0
      • N nettworker

        @mcu
        Fehlermeldung im log:
        javascript.0
        2022-11-13 23:09:08.220 error Function "setObject" is not allowed. Use adapter settings to allow it.

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

        @nettworker

        2b259ad1-4343-494c-aad8-3577c529f67f-image.png
        f889edeb-8bb8-436b-982e-8ade9117380b-image.png

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        N 1 Reply Last reply
        0
        • M MCU

          @nettworker

          2b259ad1-4343-494c-aad8-3577c529f67f-image.png
          f889edeb-8bb8-436b-982e-8ade9117380b-image.png

          N Offline
          N Offline
          nettworker
          wrote on last edited by
          #63

          @mcu
          Ui, das war ne schwere Geburt :)
          Danke für deine Hilfe.

          M 1 Reply Last reply
          0
          • N nettworker

            @mcu
            Ui, das war ne schwere Geburt :)
            Danke für deine Hilfe.

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

            @nettworker Immer wieder gerne.

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            1 Reply Last reply
            1
            • R Offline
              R Offline
              ralle211
              wrote on last edited by ralle211
              #65

              Hi zusammen,

              auch wenn das Thema etwas alt ist passt es voll zu meiner Suche:

              Ich habe in VIS ein eChart eingebunden welches mir Verlaufsdaten meiner Solaranlage zeigt (ganzer Tag). Jetzt möchte ich per Button tageweise Blättern um mir zB den Tag gestern nochmal anzuschauen.

              Das oben verlinkte JavaScript hab ich mal getestet, ist aber nicht ganz das richtige da man dort den Darstellungstyp und das Datum nicht ändern kann.
              Darstellungstyp ist Statisch/Relativ, wenn statisch gewählt ist kann man ein Datum einstellen. In eChart geht das gut von den Parametern. Ich komme nur von VIS aus nicht dran.

              Hat jemand vielleicht ein ähnliches Skript mit diesen Parametern?

              Danke und Grüße

              M 1 Reply Last reply
              0
              • R ralle211

                Hi zusammen,

                auch wenn das Thema etwas alt ist passt es voll zu meiner Suche:

                Ich habe in VIS ein eChart eingebunden welches mir Verlaufsdaten meiner Solaranlage zeigt (ganzer Tag). Jetzt möchte ich per Button tageweise Blättern um mir zB den Tag gestern nochmal anzuschauen.

                Das oben verlinkte JavaScript hab ich mal getestet, ist aber nicht ganz das richtige da man dort den Darstellungstyp und das Datum nicht ändern kann.
                Darstellungstyp ist Statisch/Relativ, wenn statisch gewählt ist kann man ein Datum einstellen. In eChart geht das gut von den Parametern. Ich komme nur von VIS aus nicht dran.

                Hat jemand vielleicht ein ähnliches Skript mit diesen Parametern?

                Danke und Grüße

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

                @ralle211 Vielleicht ist das besser?
                https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange/tests

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                R 1 Reply Last reply
                0
                • M MCU

                  @ralle211 Vielleicht ist das besser?
                  https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange/tests

                  R Offline
                  R Offline
                  ralle211
                  wrote on last edited by
                  #67

                  @mcu
                  Leider habe ich 6 Kurven übereinander. In der Beschreibung steht dass es nur mit einer Kurve funktioniert.

                  Ich habe ein wenig probiert. Es war einfacher als gedacht, das eChartsChange Skript abzuändern. Ich kann jetzt ein Datum angeben und bekomme für den Tag die Kurve angezeigt.

                  Danke trotzdem für die Antwort

                  M 1 Reply Last reply
                  0
                  • R ralle211

                    @mcu
                    Leider habe ich 6 Kurven übereinander. In der Beschreibung steht dass es nur mit einer Kurve funktioniert.

                    Ich habe ein wenig probiert. Es war einfacher als gedacht, das eChartsChange Skript abzuändern. Ich kann jetzt ein Datum angeben und bekomme für den Tag die Kurve angezeigt.

                    Danke trotzdem für die Antwort

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

                    @ralle211 Das ist ja nur dann wenn man die id wechseln möchte. Bei deinem Chart kann man mit der Version auch normal Datum Zeit und Themes ändern.
                    Man muss aber für ein Chart ein Skript haben.
                    Wer aber nur Charts mit einer Kurve hat, kann alle mit einem Chart darstellen und benötigt nur ein Script, ähnlich wie beim eChartsChangeSelect.
                    Aber wenn du es selber lösen konntest, stell es bitte auch den anderen zur Verfügung. Danke.

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    R 1 Reply Last reply
                    0
                    • M MCU

                      @ralle211 Das ist ja nur dann wenn man die id wechseln möchte. Bei deinem Chart kann man mit der Version auch normal Datum Zeit und Themes ändern.
                      Man muss aber für ein Chart ein Skript haben.
                      Wer aber nur Charts mit einer Kurve hat, kann alle mit einem Chart darstellen und benötigt nur ein Script, ähnlich wie beim eChartsChangeSelect.
                      Aber wenn du es selber lösen konntest, stell es bitte auch den anderen zur Verfügung. Danke.

                      R Offline
                      R Offline
                      ralle211
                      wrote on last edited by ralle211
                      #69

                      @mcu
                      Logo gerne :-)

                      Das eChart ist fest eingestellt auf:
                      cb081743-ce10-43b5-a2d0-632e805fe3b9-grafik.png

                      Mit dem Skript ändere ich dann nur noch das Datum (nicht die Uhrzeit).

                      Ich hab das Skript rudimentär gehalten:

                      //
                      // - Änderung voangezeigten Tag im ausgewählten eCharts
                      // 
                      
                      let echartDP            = '0_userdata.0.echarts';
                      let echart_echartsDP    = echartDP + '.echartsDP'; //Name des Charts in eCharts
                      let echart_start        = echartDP + '.start';
                      let echart_end          = echartDP + '.end';
                      
                      createStateAsync(echart_start, {read: true, write: true, name: "Startdatum des Anzeigebereichs", type: "string", role: "", def: "" });
                      createStateAsync(echart_end, {read: true, write: true, name: "Enddatum des Anzeigebereichs", type: "string", role: "", def: "" });
                      createStateAsync(echart_echartsDP, {read: true, write: true, name: "eCharts-DP", type: "string", role: "", def: "" });
                      
                      on({id: echart_echartsDP, change: "any"}, function (obj) {
                          let value = obj.state.val;
                          if (value!=null &&value!=undefined && value!=''){
                              let echartsDP = getState(echart_echartsDP).val;
                              
                              if (echartsDP !=''){
                                  let eChartobj = getObject(echartsDP);
                                  let startDatum = getState(echart_start).val;
                                  let endDatum = getState(echart_end).val;
                              }else{
                                  log('Angegebener eChart-DP existiert nicht!','warn');
                              }
                          }
                      });
                      
                      on({id: echart_start, change: "any"}, function (obj) {
                          let value = obj.state.val;
                          if (value!=null &&value!=undefined && value!=''){
                              let echartsSTART =getState(echart_echartsDP).val;
                              if (existsObject(echartsSTART)){
                                  let objDP = getObject(echartsSTART);
                                  objDP.native.data.start = value;
                                  setObject(echartsSTART,objDP);
                              }else{
                                  log('eCharts-DP ist nicht vorhanden! Eingeben!','warn');
                              }
                          }
                      });
                      
                      on({id: echart_end, change: "any"}, function (obj) {
                          let value = obj.state.val;
                          if (value!=null &&value!=undefined && value!=''){
                              let echartsEND =getState(echart_echartsDP).val;
                              if (existsObject(echartsEND)){
                                  let objDP = getObject(echartsEND);
                                  objDP.native.data.end = value;
                                  setObject(echartsEND,objDP);
                              }else{
                                  log('eCharts-DP ist nicht vorhanden! Eingeben!','warn');
                              }
                          }
                      });
                      
                      

                      In meiner View springe ich dann über die Pfeile tageweise vor oder zurück.
                      IMG_1295.jpeg

                      L 1 Reply Last reply
                      0
                      • R ralle211

                        @mcu
                        Logo gerne :-)

                        Das eChart ist fest eingestellt auf:
                        cb081743-ce10-43b5-a2d0-632e805fe3b9-grafik.png

                        Mit dem Skript ändere ich dann nur noch das Datum (nicht die Uhrzeit).

                        Ich hab das Skript rudimentär gehalten:

                        //
                        // - Änderung voangezeigten Tag im ausgewählten eCharts
                        // 
                        
                        let echartDP            = '0_userdata.0.echarts';
                        let echart_echartsDP    = echartDP + '.echartsDP'; //Name des Charts in eCharts
                        let echart_start        = echartDP + '.start';
                        let echart_end          = echartDP + '.end';
                        
                        createStateAsync(echart_start, {read: true, write: true, name: "Startdatum des Anzeigebereichs", type: "string", role: "", def: "" });
                        createStateAsync(echart_end, {read: true, write: true, name: "Enddatum des Anzeigebereichs", type: "string", role: "", def: "" });
                        createStateAsync(echart_echartsDP, {read: true, write: true, name: "eCharts-DP", type: "string", role: "", def: "" });
                        
                        on({id: echart_echartsDP, change: "any"}, function (obj) {
                            let value = obj.state.val;
                            if (value!=null &&value!=undefined && value!=''){
                                let echartsDP = getState(echart_echartsDP).val;
                                
                                if (echartsDP !=''){
                                    let eChartobj = getObject(echartsDP);
                                    let startDatum = getState(echart_start).val;
                                    let endDatum = getState(echart_end).val;
                                }else{
                                    log('Angegebener eChart-DP existiert nicht!','warn');
                                }
                            }
                        });
                        
                        on({id: echart_start, change: "any"}, function (obj) {
                            let value = obj.state.val;
                            if (value!=null &&value!=undefined && value!=''){
                                let echartsSTART =getState(echart_echartsDP).val;
                                if (existsObject(echartsSTART)){
                                    let objDP = getObject(echartsSTART);
                                    objDP.native.data.start = value;
                                    setObject(echartsSTART,objDP);
                                }else{
                                    log('eCharts-DP ist nicht vorhanden! Eingeben!','warn');
                                }
                            }
                        });
                        
                        on({id: echart_end, change: "any"}, function (obj) {
                            let value = obj.state.val;
                            if (value!=null &&value!=undefined && value!=''){
                                let echartsEND =getState(echart_echartsDP).val;
                                if (existsObject(echartsEND)){
                                    let objDP = getObject(echartsEND);
                                    objDP.native.data.end = value;
                                    setObject(echartsEND,objDP);
                                }else{
                                    log('eCharts-DP ist nicht vorhanden! Eingeben!','warn');
                                }
                            }
                        });
                        
                        

                        In meiner View springe ich dann über die Pfeile tageweise vor oder zurück.
                        IMG_1295.jpeg

                        L Offline
                        L Offline
                        lifeislol
                        wrote on last edited by
                        #70

                        @ralle211
                        Hallo,

                        ich bin zufällig über den Thread gestolpert; ich bin eigentlich schon ewig auf der Suche nach eben der Lösung, dass ich einen Graphen tageweise ändern möchte.

                        Ich habe iobroker über einen RPi laufen und möchte eine eChartsanzeige von der PV-Anlage wiedergeben. Als Visualisierung nutze ich das neue Vis-2.

                        Ich habe das Skript kopiert und ausgeführt. In den Datenpunkten habe ich das entsprechende Chart eingefügt (ist im Unterordner "Verbrauch"), als start und end das aktuelle Datum.

                        Screenshot 2024-02-29 142944.jpg

                        Wenn ich das Chart über iFrame einbinde, taucht bei mir aber leider keine Auswahl der Tage auf. Wie kann ich das am Besten umsetzen?

                        Screenshot 2024-02-29 143434.png

                        Vielen Dank vorab.

                        Viele Grüße

                        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

                        489

                        Online

                        32.6k

                        Users

                        82.3k

                        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