<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[VIS-2 - eChart mit dynamischem Zeitfenster]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe unter VIS-2 in einem Basic - iFrame ein eChart mit mehreren Wertelinien eingebunden.</p>
<pre><code>Quelle = /echarts/index.html?preset=Climate
</code></pre>
<p dir="auto">Das Chart wird auch korrekt angezeigt mit dem im eChart-Editor definierten Zeitfenster Ende "Jetzt" , Reichweite "2 Tage"<br />
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.<br />
Versuch mit</p>
<pre><code>/echarts/index.html?preset=echarts.0.Climate&amp;start={v:0_userdata.0.dashboard.rTimeFrom}&amp;end={v:0_userdata.0.dashboard.rTimeTo}
</code></pre>
<p dir="auto">hatte keinen Einfluss. Auch nicht wenn ich Festwerte genommen habe. Am Binding lags also nicht</p>
<p dir="auto">Danke und Grüße<br />
Gerd</p>
]]></description><link>https://forum.iobroker.net/topic/84772/vis-2-echart-mit-dynamischem-zeitfenster</link><generator>RSS for Node</generator><lastBuildDate>Sun, 14 Jun 2026 22:28:28 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/84772.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Jun 2026 14:58:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VIS-2 - eChart mit dynamischem Zeitfenster on Sun, 14 Jun 2026 17:56:03 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/norwegen60" aria-label="Profile: Norwegen60">@<bdi>Norwegen60</bdi></a> <a href="/post/1344421">sagte</a>:</p>
<p dir="auto">VIS-2 in einem Basic - iFrame ein eChart</p>
</blockquote>
<p dir="auto">Hallo Norwegen60,</p>
<p dir="auto">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: <a href="https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange" rel="nofollow ugc">https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange</a><br />
Klappt wunderbar und müsste auch mit "start" und "end" funktionieren! Basic-IFrames habe ich keines mehr sondern das eChart-Widget.</p>
<p dir="auto"><img src="/assets/uploads/files/1781455574411-e8e3fa02-34ad-414b-a9fc-dd1f60d1b7e1-image.jpeg" alt="e8e3fa02-34ad-414b-a9fc-dd1f60d1b7e1-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">[EDIT] Unter anderen Eigenschaften ist da einstellbar:</p>
<pre><code>range: 1440, (in Minuten)
relativeEnd: now,
start: ,
end: ,
start_time: ,
end_time: ,
timeFormatCustom: false,
timeFormat: 'DD.MM',
</code></pre>
<p dir="auto">Das JavaScript dazu:</p>
<pre><code>// 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 &amp;&amp;value!=undefined &amp;&amp; value!=''){
        let echartsDP = strDiagrammPath + getState(idDiagramm).val;
        if (existsObject(idDiagramm) &amp;&amp;  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 &amp;&amp;value!=undefined &amp;&amp; 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);

}
</code></pre>
]]></description><link>https://forum.iobroker.net/post/1344431</link><guid isPermaLink="true">https://forum.iobroker.net/post/1344431</guid><dc:creator><![CDATA[fuzzy1955]]></dc:creator><pubDate>Sun, 14 Jun 2026 17:56:03 GMT</pubDate></item></channel></rss>