NEWS
Test eCharts Adapter
-
@steff sagte in Test eCharts Adapter:
das Beispiel-Script von @Bluefox nehme
hast du dazu mal einen Link?
EDIT:
meinst du das hier: https://github.com/ioBroker/ioBroker.echarts#server-side-rendering -
-
@steff sagte in Test eCharts Adapter:
@homoran,
ich habe das hier aus diesem Post genommen Link TextGruß Steffen
das ist ja fast, das gleiche, bzw. eine Umsetzung dessen, was auf github steht:
sendTo('echarts.0', { preset: 'echarts.0.myPreset', // the only mandatory attribute renderer: 'svg', // svg | png | jpg | pdf, default: svg width: 1024, // default 1024 height: 300, // default 300 background: '#000000', // Background color theme: 'light', // Theme type: 'light', 'dark' title: 'ioBroker Chart', // Title of PDF document quality: 0.8, // quality of JPG compressionLevel: 3, // Compression level of PNG filters: 8, // Filters of PNG (Bit combination https://github.com/Automattic/node-canvas/blob/master/types/index.d.ts#L10) fileOnDisk: '', // Path on disk to save the file. fileName: '', // Path in ioBroker DB to save the files on 'echarts.0'. E.g. if your set "chart.svg", so you can access your picture via http(s)://ip:8082/echarts.0/chart.png }, result => { if (result.error) { console.error(result.error); } else { console.log(result.data); } });
Die Variablen hast du aber angepasst?
(Info: Ich habe das Skript noch nicht probiert!) -
@homoran,
ja, habe ich angepasst.
Sieht bei mir momentan so aus:// Chart vorbereiten und an Telegram-Empfänger schicken sendTo('echarts.0', { preset: 'echarts.0.Heizung.Solaranlage', renderer: 'png', fileOnDisk: '/tmp/chart.png' }, result => { if (result.error) { console.error(result.error); } else { console.log(result.data); sendTo('telegram.0', '/tmp/chart.png'); } });
-
@steff in /tmp/ liegt nichts?
-
@homoran sagte in Test eCharts Adapter:
@steff in /tmp/ liegt nichts?
Nee, das File wird nicht angelegt.
-
@steff Hab es gerade getestet und bekomme folgenden Error:
11:25:17.553 error javascript.0 (4830) script.js.serverside_rendering: Cannot find required modules: looks like it is not possible to generate charts on your Hardware/OS
-
@homoran,
Hui, solch eine Fehlermeldung bekomme ich gar nicht. -
Evtl hilft das weiter:
@david-g said in Test eCharts Adapter:
@Hydrokultur
Ich mache es folgendermaßen:Das echart in einem neuen Tab öffnen. Dafür gibt es ja ein Symbol.
Dann den Link kopieren. Allerdings dann den Port von 8081 auf 8082 abändern. Sonst geht es nicht.
-
@david-g bei mir laufen beide über HTTP, wenn ich den Adpater Web auf HTTPS umstellen dann funktioniert keines des iFrames. Die Adresse von jarvis ist
http://192.168.86.90:8082/jarvis/index.html#instance=0
und die von echart is
http://192.168.86.90:8081/adapter/echarts/chart/index.html?preset=echarts.0.Solar
Kann es eventuell an dem Port liegen. Kann ich den bei echart ändern?
Stephan
-
@homoran sagte in Test eCharts Adapter:
Weißt du welche Module bei dir fehlen?
-
@steff sagte in Test eCharts Adapter:
Weißt du welche Module bei dir fehlen?
nee.
habe gerade mal nach sendTo gesehen, die existieren, auch für eCharts -
@steff Jetzt hab ich was:
echarts.0 2021-03-14 11:55:38.140 error (15339) Cannot find required modules: Error: Cannot find module 'canvas'
wieso denn das?
-
Nicht, dass ich wüsste....
-
@homoran sagte in Test eCharts Adapter:
wieso denn das?
Wenn ich auf der Seite npmjs.com siehe Link schaue steht unter den Dependencies canvas?!
-
@steff sagte in Test eCharts Adapter:
@homoran sagte in Test eCharts Adapter:
wieso denn das?
Wenn ich auf der Seite npmjs.com siehe Link schaue steht unter den Dependencies canvas?!
klar, aber wieso das nicht mehr drin ist....
Versuche es gerade nachzuinstallieren - stay tuned -
@david-g Super, danke, klappt mit der Änderung des Ports! Ist aber schon eigenartig, Flot und Jarvis nutzen 8082, Echarts 8081 als Port. Vielleicht sollte das geändert werden ?
-
@dskrt sagte in Test eCharts Adapter:
Vielleicht sollte das geändert werden ?
kann man beides nutzen
-
@steff so - updateorgie ist durch.
Der Pi hat noch "eben schnell" ein Kernel-Update gezigen.
Die canvas Meldung ist weg, dafür kommt jetzt:2021-03-14 12:57:08.583 - [31merror[39m: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-03-14 12:57:08.584 - [31merror[39m: echarts.0 (1025) unhandled promise rejection: this.socket.subscribeState is not a function 2021-03-14 12:57:08.586 - [31merror[39m: echarts.0 (1025) TypeError: this.socket.subscribeState is not a function at socket.getState.then.catch.then (/opt/iobroker/node_modules/iobroker.echarts/_helpers/ChartModel.js:762:45) at process._tickCallback (internal/process/next_tick.js:68:7) 2021-03-14 12:57:09.092 - [32minfo[39m: echarts.0 (1025) terminating 2021-03-14 12:57:09.094 - [32minfo[39m: echarts.0 (1025) Terminated (NO_ERROR): Without reason 2021-03-14 12:57:09.721 - [32minfo[39m: host.raspberrypi instance system.adapter.echarts.0 terminated with code 0 (NO_ERROR) 2021-03-14 12:57:09.722 - [32minfo[39m: host.raspberrypi Restart adapter system.adapter.echarts.0 because enabled 2021-03-14 12:57:39.762 - [32minfo[39m: host.raspberrypi instance system.adapter.echarts.0 started with pid 2718 2021-03-14 12:57:42.520 - [32minfo[39m: echarts.0 (2718) starting. Version 0.4.10 in /opt/iobroker/node_modules/iobroker.echarts, node: v10.24.0, js-controller: 3.1.4
-
@homoran,
Oje, das sieht ja gar nicht gut aus.
Ich versuche gerade auch meinen PI soweit flott zu kriegen, damit ich solche Tests ebenfalls nachstellen kann. Puh... aber bei solchen Error-Log´s tu ich mir schon noch richtig schwer.