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
    2.7k

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

                      680

                      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