NEWS
Puppeteer: Screenshots PhantomJS Alternative
-
@negalein Perfekt, freut mich, dass wir den Adapter verbessern konnten.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Perfekt, freut mich, dass wir den Adapter verbessern konnten.
Ja, freut mich auch.
Jetzt kommt der Langzeittest.
Phantomjs hat mir den ioB gekillt. Wurde immer träger, bis zum Absturz.PS: schnell eine Website erstellt (nicht aufs Desigh achten ) http://wetter.nega.at/
-
PS: kannst du mir da mit einem Timeout oder so helfen?
Es passiert oft, dass er schneller mit dem FTP anfängt, ehe er die Datei schreibt.
Was muss ich machen, damit er mit dem FTP erst 5 Sek. später anfängt?schedule("*/3 * * * *", function () { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: 'wetterstation.png', }, viewportOptions: { width: 1600, height: 1000 } }); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com'); console.log("exec: " + 'wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com'); });
-
@negalein sagte in Puppeteer: Screenshots PhantomJS Alternative:
PS: kannst du mir da mit einem Timeout oder so helfen?
Es passiert oft, dass er schneller mit dem FTP anfängt, ehe er die Datei schreibt.
Was muss ich machen, damit er mit dem FTP erst 5 Sek. später anfängt?schedule("*/3 * * * *", function () { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: 'wetterstation.png', }, viewportOptions: { width: 1600, height: 1000 } }, () => exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com'); console.log("exec: " + 'wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com'); }); });
Sorry nur Handy, habe es leicht abgeändert dass es erst im callback passiert, dann sollte er es vorher geschrieben haben.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
habe es leicht abgeändert dass es erst im callback passiert, dann sollte er es vorher geschrieben haben.
da bekomm ich
javascript.0 (564) script.js.Wetter.Wetter_to_FTP compile failed: at script.js.Wetter.Wetter_to_FTP:18
-
@negalein Vom Rechner:
schedule("*/3 * * * *", () => { sendTo("puppeteer.0", "screenshot", { url: "http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk", clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: "wetterstation.png" }, viewportOptions: { width: 1600, height: 1000 } }, () => { exec("wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com"); console.log("exec: " + "wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com"); }); });
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Vom Rechner:
fuck, ioB geht in die Knie
-
@negalein Pack mal bisschen Log rein, evtl so und dann zeig mal das Log:
schedule('*/3 * * * *', () => { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: 'wetterstation.png' }, viewportOptions: { width: 1600, height: 1000 } }, obj => { if (obj.error) { log(`Error taking screenshot: ${obj.error}`, 'error'); return; } log(`exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com`, 'info'); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com', (error, stdout, stderr) => { if (error) { log(`Error on upload: ${stderr}` || error, 'error'); } else { log(`Upload finished: ${stdout}`, 'info'); } }); }); });
-
@Negalein und upgrade bitte auf 0.2.6. Es wurde vergessen Pages zu schließen, wenn über Messages Screenshots getriggered werden., wobei ich mir nicht vorstellen kann, dass das so schnell zu einem Anstieg kommt.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
und upgrade bitte auf 0.2.6. Es wurde vergessen Pages zu schließen, wenn über Messages Screenshots getriggered werden., wobei ich mir nicht vorstellen kann, dass das so schnell zu einem Anstieg kommt.
läuft seit ca. 1,5 Stunden stabil
-
Adapter läuft noch immer stabil!
Aber im Log kommt oft ein FTP Error.
Könnt ich den Upload noch verfeinern? Du kennst dich da sicher besser aus!
javascript.0 2022-08-16 22:36:03.118 error script.js.Wetter.Wetter_to_FTP: Error on upload: javascript.0 2022-08-16 22:36:02.900 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com puppeteer.0 2022-08-16 22:36:02.819 debug Write file to "wetterstation.png" puppeteer.0 2022-08-16 22:36:02.555 debug Write file to "wetterstation.png" puppeteer.0 2022-08-16 22:36:00.383 debug Message: {"command":"screenshot","message":{"url":"http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk","clip":{"x":0,"y":0,"width":1000,"height":757},"ioBrokerOptions":{"storagePath":"wetterstation.png"},"viewportOptions":{"width":1600,"height":1000}},"from":"system.adapter.javascript.0","callback":{"message":{"url":"http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk","clip":{"x":0,"y":0,"width":1000,"height":757},"ioBrokerOptions":{"storagePath":"wetterstation.png"},"viewportOptions":{"width":1600,"height":1000}},"id":5799,"ack":false,"time":1660682160267},"_id":27657967}
Schaut dann oft so aus
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
@negalein Pack mal bisschen Log rein, evtl so und dann zeig mal das Log:
schedule('*/3 * * * *', () => { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: 'wetterstation.png' }, viewportOptions: { width: 1600, height: 1000 } }, obj => { if (obj.error) { log(`Error taking screenshot: ${obj.error}`, 'error'); return; } log(`exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com`, 'info'); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com', (error, stdout, stderr) => { if (error) { log(`Error on upload: ${stderr || error}`, 'error'); } else { log(`Upload finished: ${stdout}`, 'info'); } }); }); });
@Negalein ups der Error wird verschluckt, mach mal so wie oben.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
ups der Error wird verschluckt, mach mal so wie oben.
javascript.0 2022-08-16 23:06:03.562 error script.js.Wetter.Wetter_to_FTP: Error on upload: javascript.0 2022-08-16 23:06:03.336 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://nega_wetter:yinutu26@www37.world4you.com javascript.0 2022-08-16 23:06:03.129 error script.js.Wetter.Wetter_to_FTP: Error on upload: Error: Command failed: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com javascript.0 2022-08-16 23:06:02.883 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
@negalein Pack mal bisschen Log rein, evtl so und dann zeig mal das Log:
schedule('*/3 * * * *', () => { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/14q2Khmnz/wetterstation-copy?orgId=1&refresh=1m&kiosk', clip: { x: 0, y: 0, width: 1000, height: 757 }, ioBrokerOptions: { storagePath: 'wetterstation.png' }, viewportOptions: { width: 1600, height: 1000 } }, obj => { if (obj.error) { log(`Error taking screenshot: ${obj.error}`, 'error'); return; } log(`exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com`, 'info'); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxxx:xxxxxx@www37.world4you.com', (error, stdout, stderr) => { if (error) { log(`Error on upload: ${error} (${stderr})`, 'error'); } else { log(`Upload finished: ${stdout}`, 'info'); } }); }); });
@Negalein dann so
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
dann so
javascript.0 2022-08-17 13:30:05.222 error script.js.Wetter.Wetter_to_FTP: Error on upload: Error: Command failed: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com javascript.0 2022-08-17 13:30:05.144 error script.js.Wetter.Wetter_to_FTP: Error on upload: javascript.0 2022-08-17 13:30:04.953 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com javascript.0 2022-08-17 13:30:04.845 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com javascript.0 2022-08-17 13:30:04.659 error script.js.Wetter.Wetter_to_FTP: Error on upload: Error: Command failed: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com () javascript.0 2022-08-17 13:30:04.415 info script.js.Wetter.Wetter_to_FTP: exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com
mit Errors
-
@negalein na dolle, da steht nicht viel ^^
Allerdings, warum läuft das so hochfrequent? 13:30:04.415 macht er wput und dann direkt 13:30:04.845 etc. evtl kommt sich da was in die Quere. Ist das Skript 1 zu 1 so wie gepostet oder läuft der schedule hochfrequenter?
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Allerdings, warum läuft das so hochfrequent? 13:30:04.415 macht er wput und dann direkt 13:30:04.845 etc. evtl kommt sich da was in die Quere. Ist das Skript 1 zu 1 so wie gepostet oder läuft der schedule hochfrequenter?
Ja, das ist mir auch aufgefallen.
Script ist 1:1 wie oben.
schedule('*/3 * * * *', () => { sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/sRh7W1m4k/wetterstation-copy-2?orgId=1&kiosk', clip: { x: 0, y: 0, width: 1000, height: 1100 }, ioBrokerOptions: { storagePath: 'wetterstation.png' }, viewportOptions: { width: 1600, height: 1000 } }, obj => { if (obj.error) { log(`Error taking screenshot: ${obj.error}`, 'error'); return; } log(`exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com`, 'info'); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com', (error, stdout, stderr) => { if (error) { log(`Error on upload: ${error} (${stderr})`, 'error'); } else { log(`Upload finished: ${stdout}`, 'info'); } }); }); });
-
@negalein Mach mal vor das sendTo noch ein logging rein bitte, falls pro sendTo log dann ein exec log ist, dann sollten wir einfach von schedule auf timeouts wechseln.
-
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
vor das sendTo noch ein logging rein bitte, falls pro sendTo log dann ein exec log ist
wie mach ich das?
JS ist chinesisch -
@negalein sagte in Puppeteer: Screenshots PhantomJS Alternative:
@foxriver76 sagte in Puppeteer: Screenshots PhantomJS Alternative:
Allerdings, warum läuft das so hochfrequent? 13:30:04.415 macht er wput und dann direkt 13:30:04.845 etc. evtl kommt sich da was in die Quere. Ist das Skript 1 zu 1 so wie gepostet oder läuft der schedule hochfrequenter?
Ja, das ist mir auch aufgefallen.
Script ist 1:1 wie oben.
schedule('*/3 * * * *', () => { log('schedule triggered', 'info'); sendTo('puppeteer.0', 'screenshot', { url: 'http://10.0.1.203:3000/d/sRh7W1m4k/wetterstation-copy-2?orgId=1&kiosk', clip: { x: 0, y: 0, width: 1000, height: 1100 }, ioBrokerOptions: { storagePath: 'wetterstation.png' }, viewportOptions: { width: 1600, height: 1000 } }, obj => { if (obj.error) { log(`Error taking screenshot: ${obj.error}`, 'error'); return; } log(`exec: wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com`, 'info'); exec('wput -nc /opt/iobroker/iobroker-data/files/0_userdata.0/wetterstation.png ftp://xxxxx:xxxxx@www37.world4you.com', (error, stdout, stderr) => { if (error) { log(`Error on upload: ${error} (${stderr})`, 'error'); } else { log(`Upload finished: ${stdout}`, 'info'); } }); }); });
Nur Handy.. so mal einbauen und dann gerne mal log ab start über längere Zeit, mindestens bis Aufkommen des Fehlers zeigen.