NEWS
Test eCharts Adapter
-
@muuulle Doch klar geht auch nur der Vormonat. Muss man halt start und end festlegen.
Ist momentan nicht in dem Zusatzprogramm abgebildet. -
@mcu
Danke. Ich hab’s in den Objektdaten gefunden. Danke️
-
@muuulle Man muss aber anscheinend momentan aufpassen. Bei 1 Kurve ist der Objekt Parameter
lines
, bei mehreren Kurven ist esl
. -
@mcu sagte in Test eCharts Adapter:
@muuulle Man muss aber anscheinend momentan aufpassen. Bei 1 Kurve ist der Objekt Parameter
lines
, bei mehreren Kurven ist esl
.Sicher ?
Damals hing das mit der Adapterversion zusammen ( Link ).
Bei älteren Versionen wurde "lines" benutzt , bei neueren nur "l".
Leider kann das zu einem durcheinander führen, im selben Preset hat man dann beide Varianten. -
@bernd1967 Also es kann sein das die neuen nur
l
haben. Ist mir nach dem Speichern aufgefallen.
Man muss dann aber alle seine Presets neu speichern, damit es angepasst wird.
Ansonsten bleibt es ja so, da der Adapter beim Upgrade es nicht automatisch macht. -
@mcu sagte in Test eCharts Adapter:
Man muss dann aber alle seine Presets neu speichern, damit es angepasst wird.
Bei meinem letzten Test im Februar funkionierte genau das nicht.
Ich mußte alles per Hand ändern.
Aber egal, Issue hatte ich ja damals angelegt..... -
Hi,
@MCU : danke für die Tipp.
Ich habe das gestern abend ausprobiert und mich durch die Anleitung gearbeitet:So sieht nun das Test-Vis aus und auch die Anzeige dazu:
Dies sind meine Einstellungen:
java-Script läuft und ist editiert:
So sieht meine javascript Instanz aus:
Das widget habe ich wie beschrieben in das Vis/Test2 importiert.
Egal was ich in den Object Werten in
0_userdata.0.echarts // 0_userdata.0.echarts.echartsDP
eingebe, das eChart wird immer mit der Grundkonfiguration von 24h angezeigt.Keine Warnungen oder Fehler im Protokoll.
Ich habe die range Option sowohl einzeln wie auch beide gleichzeitig in 0_userdata.0.echarts // 0_userdata.0.echarts.echartsDP ausprobiert, jeweils aktiviert und eine range eingegeben. VIS bleibt unverändert.
Ist mir hier irgenetwas entgangen, bzw. was mache ich falsch ?
Vielen Dank vorab für Eure Hilfe. -
@mabbi Zeig mal die Presets in echarts.0 und die Objekteigenschaften zum
echarts.0.D_Energie_copy
. In CodeTags </>.
Wir sollten die Diskussion in den anderen Thread verlagern, gehört nicht zum eigentlich echart-Adapter?
https://forum.iobroker.net/topic/52228/howto-zusatz-programme-fuer-jarvis-v3Also echartDP muss schon mal
'0_userdata.0.echarts';
sein, sonst kann es ja nicht funktionieren. -
-> anderes topic
-
@mcu
Moin mcu,kannst du erkennen, warum die xticks nicht übernommen
const objektId = 'echarts.0.iQontrol-Solar-Monat'; getObject(objektId, (err, obj) => { if (err || !obj) return; obj.native.data.xticks = [5]; setObject(objektId, obj); });
Es passiert einfach nichts. Nichts im Log. Keine Änderung beim Datenpunkt. Das Diagramm hat mehrere Datenpunkte. Vielleicht liegt es auch daran?
Vielen Dank
-
@mcu sagte in Test eCharts Adapter:
@mabbi Hier sind einige Beispiele
https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange
Danke für das Script und die Inspiration.
Mich interessiert nur die Range, die ich mit mehreren Charts synchronisieren kann.
Ich benutze ein Array und habe es so abgeändert:var myEchartsDP =[ "echarts.0.Photovoltaik.Zendure Ladestand Akku", "echarts.0.Photovoltaik.Zendure PV Ausgang", "echarts.0.Photovoltaik.Zendure Sonneneinstahlung", "echarts.0.Photovoltaik.Zendure Temperatur Hyper 2000", "echarts.0.Photovoltaik.Zendure täglicher Ertrag" ]; on({id: echart_rangeDP, change: "any"}, function (obj) { let value = obj.state.val; myEchartsDP.forEach( async function(echartsDP) { let objDP = getObject(echartsDP); objDP.native.data.range= value; setObject(echartsDP,objDP); }) });
-
@muuulle Das liegt daran, dass es die xticks nur in den Kurven selbst gibt.
/* bei einer Kurve */ objDP.native.data.lines[0].xticks = 5 /* oder auch möglich, abhängig von Adapter-Version , wie oben erwähnt */ objDP.native.data.l[0].xticks = 5 /* bei mehreren Kurven muss man allen die xticks mitgeben */ /* evtl reicht nur die erste Kurve ??? nicht geprüft */ objDP.native.data.lines[0].xticks = 5 objDP.native.data.lines[1].xticks = 5 objDP.native.data.lines[2].xticks = 5 /* oder */ objDP.native.data.l[0].xticks = 5 objDP.native.data.l[1].xticks = 5 objDP.native.data.l[2].xticks = 5