@jwerlsdf
Hallo,
hatte soeben die gleiche "Problematik". Ich gehe davon aus, dass du den Chromium Browser + codecs bereits installiert hast. Du hast puppeteer auch bei den zusätzlichen npm Modulen im javascript-Adapter hinzugefügt?
EIgentlich sollte das Modul dann automatisch hinzugefügt werden (schau mal unter /opt/iobroker/node_modules ob du es finden kannst). Wenn nicht dann gehe in das Verzeichnis /opt/iobroker/node_modules mit dem terminal und installiere puppeteer manuel mit "npm install puppeteer". Beim Script von @maboe habe ich ganz oben noch folgendes ergänzt:
var timeout;
const puppeteer = require("puppeteer");
on({id: "telegram.0.communicate.request", change: "any"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("telegram.0.communicate.request").val == '[Maboe]/screen') {
sendTo("telegram", "send", {
text: 'Alles klar - Ich erstelle das Bild! Einen Moment bitte ... Es wird ungefähr 25 Sekunden brauchen'
});
bild_pfad = '/opt/iobroker/chart.png';
async function run () {
const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser'});
const page = await browser.newPage();
await page.goto('http://192.168.x.xxx:8082/vis/index.html?MatDesign#E_Home');
await sleep(20000)
await page.screenshot({path: bild_pfad});
browser.close();
}
run();
timeout = setTimeout(function () {
sendTo('telegram', bild_pfad)
}, 24000);
}
});
So funktioniert es bei mir.
Hoffe das hilft.
Grüße
Johannes