Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. VIS-2 - eChart mit dynamischem Zeitfenster

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    8
    1
    242

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    14
    1
    2.5k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.8k

VIS-2 - eChart mit dynamischem Zeitfenster

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
3 Beiträge 2 Kommentatoren 100 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Norwegen60N Online
    Norwegen60N Online
    Norwegen60
    schrieb am zuletzt editiert von Norwegen60
    #1

    Hallo zusammen,

    ich habe unter VIS-2 in einem Basic - iFrame ein eChart mit mehreren Wertelinien eingebunden.

    Quelle = /echarts/index.html?preset=Climate
    

    Das Chart wird auch korrekt angezeigt mit dem im eChart-Editor definierten Zeitfenster Ende "Jetzt" , Reichweite "2 Tage"
    Jetzt habe ich die beiden Datenfelder 0_userdata.0.dashboard.rTimeFrom und rTimeTo als Timestamp. Gibt es eine Möglichkeit, dass ich diesen Zeitbereich irgendwie an eChart übergebe? Sei es auf der eChart-Seite, sei es auf der iFrame-Seite.
    Versuch mit

    /echarts/index.html?preset=echarts.0.Climate&start={v:0_userdata.0.dashboard.rTimeFrom}&end={v:0_userdata.0.dashboard.rTimeTo}
    

    hatte keinen Einfluss. Auch nicht wenn ich Festwerte genommen habe. Am Binding lags also nicht

    Danke und Grüße
    Gerd

    fuzzy1955F 1 Antwort Letzte Antwort
    0
    • Norwegen60N Norwegen60

      Hallo zusammen,

      ich habe unter VIS-2 in einem Basic - iFrame ein eChart mit mehreren Wertelinien eingebunden.

      Quelle = /echarts/index.html?preset=Climate
      

      Das Chart wird auch korrekt angezeigt mit dem im eChart-Editor definierten Zeitfenster Ende "Jetzt" , Reichweite "2 Tage"
      Jetzt habe ich die beiden Datenfelder 0_userdata.0.dashboard.rTimeFrom und rTimeTo als Timestamp. Gibt es eine Möglichkeit, dass ich diesen Zeitbereich irgendwie an eChart übergebe? Sei es auf der eChart-Seite, sei es auf der iFrame-Seite.
      Versuch mit

      /echarts/index.html?preset=echarts.0.Climate&start={v:0_userdata.0.dashboard.rTimeFrom}&end={v:0_userdata.0.dashboard.rTimeTo}
      

      hatte keinen Einfluss. Auch nicht wenn ich Festwerte genommen habe. Am Binding lags also nicht

      Danke und Grüße
      Gerd

      fuzzy1955F Offline
      fuzzy1955F Offline
      fuzzy1955
      schrieb am zuletzt editiert von Homoran
      #2

      @Norwegen60 sagte:

      VIS-2 in einem Basic - iFrame ein eChart

      Hallo Norwegen60,

      ich hatte das gleiche Thema mit 11 übereinanderliegenden Diagrammen in Basic-IFrames auf einer Seite. Mit der Zeitauswahl habe ich lange probiert, bis ich vor Kurzem diese Seite entdeckte: https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange
      Klappt wunderbar und müsste auch mit "start" und "end" funktionieren! Basic-IFrames habe ich keines mehr sondern das eChart-Widget.

      e8e3fa02-34ad-414b-a9fc-dd1f60d1b7e1-image.jpeg

      [EDIT] Unter anderen Eigenschaften ist da einstellbar:

      range: 1440, (in Minuten)
      relativeEnd: now,
      start: ,
      end: ,
      start_time: ,
      end_time: ,
      timeFormatCustom: false,
      timeFormat: 'DD.MM',
      

      Das JavaScript dazu:

      // 13.6.2026 / hfurt
      
      const idDiagramm = '0_userdata.0.Diagrammdaten.Diagrammart';
      const idRange = '0_userdata.0.Diagrammdaten.Range';
      const idTimeformat = '0_userdata.0.Diagrammdaten.Zeitformat';
      const idTimeformatCheck = '0_userdata.0.Diagrammdaten.ZeitformatJN';
      const strDiagrammPath = 'echarts.0.';
      
      on({id: idDiagramm, change: "any"}, function (obj) {
          let value = obj.state.val;
          if (value!=null &&value!=undefined && value!=''){
              let echartsDP = strDiagrammPath + getState(idDiagramm).val;
              if (existsObject(idDiagramm) &&  echartsDP !=''){
                  const eChartobj = getObject(echartsDP);
                  const ecRange = String(TimeRange(String(eChartobj.native.data.range)));
                  const ecTimeFormat = 'HH.MM dd.mm';
                  const ectimeFormatCustom = true;
                  setStateAsync(idRange,ecRange,false);
                  setStateAsync(idTimeformatCheck,ectimeFormatCustom,false)
                  setStateAsync(idTimeformat,ecTimeFormat,false);
                  setObject(getState(idDiagramm).val,eChartobj);
                  //log('ecRange=' + ecRange + ', echartsDP=' + echartsDP);
      
              }else{
                  log('Angegebener eChart-DP ' + idDiagramm + 'existiert nicht!','warn');
              }
          }
      });
      
      
      on({id: idRange, change: "any"}, function (obj) {
          let value = obj.state.val;
          if (value!=null &&value!=undefined && value!=''){
              let echartsDP = strDiagrammPath + getState(idDiagramm).val;
              if (existsObject(echartsDP)){
                  let objDP = getObject(echartsDP);
                  log(objDP);
                  objDP.native.data.range = TimeRange(value);
                  setObject(echartsDP,objDP);
              }else{
                  log('eCharts-DP ' + echartsDP + ' ist nicht vorhanden! Eingeben!','warn');
              }
          }
      });
      
      function TimeRange (vRange) {
          
          let iVal;
      
          switch (vRange) {
              case ("1 Tag"): iVal = 1440; break;
              case ("1 Woche"): iVal = 10080; break;
              case ("2 Wochen"): iVal = 20160; break;
              case ("1 Monat"): iVal = 40320; break;
              case ("2 Monate"): iVal = 86400; break;
              case ("3 Monate"): iVal = 129600; break;
              case ("6 Monate"): iVal = 259200; break;
              case ("1 Jahr"): iVal = 518400; break;
              case ("2 Jahre"): iVal = 1036800; break;
              default: iVal = 720; break;
          }
      
          return Number(iVal);
      
      }
      

      Smart-Home-Automation unter IOB auf RASPI5, 16GB RAM, 50GB SSD, MariaSQL, VIS-2.
      Anfang 2025 war ich Newbie in Sachen RaspBerry, Linux und IOB.
      Jetzt läuft alles konstant gut und ich gebe gern meine Erfahrungen und mein Wissen an die Forums-User/Innen weiter.
      Großes Danke an alle tatkräftigen Helfer im Forum!

      1 Antwort Letzte Antwort
      1
      • Norwegen60N Online
        Norwegen60N Online
        Norwegen60
        schrieb zuletzt editiert von Norwegen60
        #3

        Hallo Fuzzy,
        mit etwas probieren habe ich es geschafft, das Chart per range anzupassen. Danke dafür.

        • Hast du auch mit start, end und start_time, end_time gearbeitet? Das funktioniert bei mir nicht.
        • Ich denke dazu muss ich auch timeType anpassen, und ich habe ihen auf Statisch = static gesetzt
        • Unterschied zwischen start und start_time ist das Format. start als String und start_time als Timestamp. Wenn ich Start_Time aber auf 1781914467858 setze, zeigt das Objekt 1781912748321
          db94cffe-6934-4d58-8177-4755b0bee0e3-image.jpeg
          Hast du eine Idee was ich falsch mache?
        • Und noch die Frage. Du schreibst du verwendest das eChart-Widget. Das habe ich aber nur dazu bekommen, eine Linie anzuzeigen und nicht 4 verschiedene Werte. Geht das doch?
        1 Antwort Letzte Antwort
        0

        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

        Registrieren Anmelden
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        272

        Online

        33.0k

        Benutzer

        83.2k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2026
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe