NEWS
E-INK Display OpenEPaperLink - Displayanzeige mit Batterie
-
das hier ist eigentlich der wichtige Teil:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="5+SF4(-;ihCdi9ArjB;_">mypath</variable> <variable id="@T!+aRDBZHEf1sr{au[Y">myurl</variable> <variable id="kNC){T8NU0RfFkS@):/9">myheight</variable> <variable id="|VQv_}~:IiCV*BobM.WQ">mywidth</variable> <variable id="b?w{1pAvT{4Jn*`^pS$E">clipx</variable> <variable id="J3?rr35KO=mXWjSVj]mi">clipy</variable> <variable id="MYKLdFu|{(`*q(SbfXhI">clipwidth</variable> <variable id="GIR9Ewusr)+2C?#m8gda">clipheight</variable> <variable id="4Kvy0oC`//l=E4@.:VL8">myselector</variable> <variable id="vk`?Y`++rl^+PXg3-m`?">quality</variable> <variable type="timeout" id="wait-send-to-ap">wait-send-to-ap</variable> </variables> <block type="procedures_defcustomnoreturn" id="{{Bl:d;+8eDTq,0~J9H2" x="-112" y="-687"> <mutation statements="false"> <arg name="mypath" varid="5+SF4(-;ihCdi9ArjB;_"></arg> <arg name="myurl" varid="@T!+aRDBZHEf1sr{au[Y"></arg> <arg name="myheight" varid="kNC){T8NU0RfFkS@):/9"></arg> <arg name="mywidth" varid="|VQv_}~:IiCV*BobM.WQ"></arg> <arg name="clipx" varid="b?w{1pAvT{4Jn*`^pS$E"></arg> <arg name="clipy" varid="J3?rr35KO=mXWjSVj]mi"></arg> <arg name="clipwidth" varid="MYKLdFu|{(`*q(SbfXhI"></arg> <arg name="clipheight" varid="GIR9Ewusr)+2C?#m8gda"></arg> <arg name="myselector" varid="4Kvy0oC`//l=E4@.:VL8"></arg> <arg name="quality" varid="vk`?Y`++rl^+PXg3-m`?"></arg> </mutation> <field name="NAME">macheScreenshot2</field> <field name="SCRIPT">c2VuZFRvKCdwdXBwZXRlZXIuMCcsICdzY3JlZW5zaG90JywgeyANCg0KICAgIHVybDogbXl1cmwgLA0KDQogICAgcGF0aDogbXlwYXRoICwgDQoNCiAgICB3aWR0aDpteXdpZHRoLA0KDQogICAgcXVhbGl0eTpxdWFsaXR5LA0KDQogICAgaGVpZ2h0Om15aGVpZ2h0LA0KDQogICAgd2FpdE9wdGlvbjogew0KICAgIA0KICAgIC8vIHdhaXRmb3JUaW1lb3V0OiA1MDAwLA0KICAgIHdhaXRGb3JTZWxlY3RvcjpteXNlbGVjdG9yLA0KDQogICAgfSwNCg0KICAgIGZ1bGxQYWdlOiBmYWxzZSwNCg0KICAgIGNsaXA6IHsgICAgICAgICANCiAgICAgICAgeDogY2xpcHgsDQogICAgICAgIHk6IGNsaXB5LA0KICAgICAgICB3aWR0aDogY2xpcHdpZHRoLA0KICAgICAgICBoZWlnaHQ6IGNsaXBoZWlnaHQNCiAgICAgIH0NCn0pOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="jcZPJZx*gXbE*_eY]~.a" x="-112" y="-662"> <mutation name="macheScreenshot"> <arg name="mypath"></arg> <arg name="myurl"></arg> <arg name="myheight"></arg> <arg name="mywidth"></arg> <arg name="clipx"></arg> <arg name="clipy"></arg> <arg name="clipwidth"></arg> <arg name="clipheight"></arg> <arg name="myselector"></arg> <arg name="quality"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="Rn=EHGb7-#O~BJhp7dy*"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-Bildpfad</field> </block> </value> <value name="ARG1"> <block type="get_value" id="yEFwNcD-,m(XY_D[SS}C"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-Ziel-URL</field> </block> </value> <value name="ARG2"> <block type="math_number" id="=u%Bj@/+pmZO.1+p9.2U"> <field name="NUM">0</field> </block> </value> <value name="ARG3"> <block type="math_number" id="V:tYENJ`+Ex.G,~a(b,`"> <field name="NUM">0</field> </block> </value> <value name="ARG4"> <block type="math_number" id="eRMkWL,^q%WXn[^MzM+3"> <field name="NUM">0</field> </block> </value> <value name="ARG5"> <block type="math_number" id="/~OWUySM]p5k:+.0+$z0"> <field name="NUM">0</field> </block> </value> <value name="ARG6"> <block type="get_value" id="qG/?0TXWD~b;V!sbtD`0"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-Breite</field> </block> </value> <value name="ARG7"> <block type="get_value" id="T|p5V.*UIya8#kb1bzo`"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-Höhe</field> </block> </value> <value name="ARG8"> <block type="text" id="1K#!|Dg2xIq%=;;fUFA."> <field name="TEXT">#w00094</field> </block> </value> <value name="ARG9"> <block type="math_number" id="ErFk!X7n.qM]-3lR!@dS"> <field name="NUM">100</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="GRxU+^B-!F?8$s!`GU3#"> <field name="NAME">wait-send-to-ap</field> <next> <block type="timeouts_settimeout" id=")^#[3vKFXTN.!idukC0k"> <field name="NAME">wait-send-to-ap</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="exec" id="{[Z)ohn7^dqA-Z6I9L#T"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG">error</field> <value name="COMMAND"> <shadow type="text" id="MN~$`E]CJQbt?7d]*sz!"> <field name="TEXT">curl -d "mac=0000021873443B16&cmd=refresh" http://192.168.1.46/tag_cmd</field> </shadow> <block type="text_join" id="Lcj3]d}7;4jE]P_muN~!"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="yc_-7Y19Rp5|hgxeF{gT"> <field name="TEXT">curl -v -F dither=0 -F mac=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="Y^r4[RZ^Tiq;#{/YSpi3"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-MAC</field> </block> </value> <value name="ADD2"> <block type="text" id="9yLAXE^O@_vt2ULaS:$r"> <field name="TEXT"> -F upload=@</field> </block> </value> <value name="ADD3"> <block type="get_value" id="ZuDz1HsxcUbf]MWo`5!|"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.Grundwasser.Display-Bildpfad</field> </block> </value> <value name="ADD4"> <block type="text" id="{wZ%jDm069nL1t$46xao"> <field name="TEXT"> </field> </block> </value> <value name="ADD5"> <block type="get_value" id="6pQyJoXb9cictEqd~IZ6"> <field name="ATTR">val</field> <field name="OID">00-ZUHAUSE.0.EPS.EPS-AP-OG-IMGUPLOAD-URL</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="oJfI=rb5Xzyu4;@))nxg" x="-87" y="188"> <mutation> <arg name="mypath" varid="5+SF4(-;ihCdi9ArjB;_"></arg> <arg name="myurl" varid="@T!+aRDBZHEf1sr{au[Y"></arg> <arg name="myheight" varid="kNC){T8NU0RfFkS@):/9"></arg> <arg name="mywidth" varid="|VQv_}~:IiCV*BobM.WQ"></arg> <arg name="clipx" varid="b?w{1pAvT{4Jn*`^pS$E"></arg> <arg name="clipy" varid="J3?rr35KO=mXWjSVj]mi"></arg> <arg name="clipwidth" varid="MYKLdFu|{(`*q(SbfXhI"></arg> <arg name="clipheight" varid="GIR9Ewusr)+2C?#m8gda"></arg> <arg name="myselector" varid="4Kvy0oC`//l=E4@.:VL8"></arg> <arg name="quality" varid="vk`?Y`++rl^+PXg3-m`?"></arg> </mutation> <field name="NAME">macheScreenshot</field> <field name="SCRIPT"></field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
Alles was bei mir so dazu kommt ist nicht essentiell für die Bildübertragung!
-
Was ihr Beide da zurechtgebastelt habt, das wäre, glaube ich, perfekt für eine Schritt für Schritt Anleitung (mit Screenshots wäre das I-Tüpfelchen).
Ich denke, dass würde hier vielen , inklusive mir, den Einstieg erleichten und das Verständnis auch fördern.Natürlich nur wenn ihr Bock habt und die Zeit es zulässt.
@bimmi , Dich möchte ich nicht vergessen
Vielleicht kannst Du für Einsteiger ebenfalls so eine Art Readme Anleitung mit Bildern posten -
@haselchen Hast du schon mal was mit iobroker gemacht? Vor allem mit blockly. Ich denke das in meinen letzten Beiträgen alles drin ist was man braucht? Gut das mit den Datenpunkten erstellen hab ich ausgelassen... Aber die braucht es nicht mal zwingend.
-
Ich muss aber einwerfen, dass Pupeteer irgendwie derzeit noch nicht rund läuft. Habe nach einem iobroker-Umzug derzeit Probleme, den Adapter wieder lauffähig zu bekommen.
Wenn das geklärt ist mache ich gerne eine Schritt für Schritt Anleitung.
Andererseits fände ich diese Funktionalität eigentlich sehr gut im OpenEPaperLink-Adapter aufgehoben. Was denkt ihr?
-
Puppeteer konnte ich gestern auch nicht installieren. Gab schon bei der Installation einen Hinweis und danach lauter rote Meldungen im Log.
Hab ich erstmal verschoben.
Den OpenEPaper Adapter hab ich gar nicht finden können. Taucht in keiner Liste auf.
Eine manuelle Installation endete mit Code 25.
Also hab ich mich versucht da ein wenig reinzufuchsen.
Ganz cool ist die/ jsontemplate-demo.html
Da kann man ein wenig üben.
War für den Anfang nicht schlecht.Dann wolte ich wenigstens mal was Produktives
Also hab ich mich an den Google Kalender gemacht. Und was soll ich sagen, ein sehr geiles Projekt.
Erklärung hier: https://github.com/jjwbruijn/OpenEPaperLink/wiki/Google-Apps-ScriptsUnd dann den Link aus der Google Script Anleitung in den Tag kopieren:
Das Skript holt alle Kalender ab, die ihr bei Google gespeichert habt.
Allerdings zeigt er nur Termine an, die am nächsten Tag sind.Edit: im Skript einfach 2 mal die 1 auf eine beliebige Zahl ändern, dann werden mehr Tage angezeigt.
var start = new Date(); start.setHours(0, 0, 0, 0); var end = new Date(); if (days == undefined) days = 1; <------ HIER end.setDate(end.getDate() + parseInt(days, 10)); var calendars = CalendarApp.getAllCalendars(); var events = []; for (var i = 0; i < calendars.length; i++) { var calendar = calendars[i]; var eventsInCalendar = calendar.getEvents(start, end); for (var j = 0; j < eventsInCalendar.length; j++) { var event = eventsInCalendar[j]; events.push({ calendar: i, title: event.getTitle(), start: Math.floor(event.getStartTime().getTime() / 1000), end: Math.floor(event.getEndTime().getTime() / 1000), isallday: event.isAllDayEvent() }); } } events.sort(function(a, b) { return a.start - b.start; }); return JSON.stringify(events); } function doGet(e) { if(!e) { e = {parameter: {days: 1}}; <---------------- HIER } const params = e.parameter; var content = getEventsForNextDay(params.days); var output = ContentService.createTextOutput(content); output.setMimeType(ContentService.MimeType.JSON); return output; }
-
@haselchen said in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Puppeteer konnte ich gestern auch nicht installieren. Gab schon bei der Installation einen Hinweis und danach lauter rote Meldungen im Log.
Welche Meldungen?
Im Adapter Repo seh ich keinen Hinweis dass es prinzipiell Probleme gibt. Da Foxriver als Maintainer durchaus aktiv ist, sollte man dem nachgehen wenn wes nicht "nur" ein Problem deiner konkreten Installation ist. Und auch dann sollten wir den Fehler suchen.Den OpenEPaper Adapter hab ich gar nicht finden können. Taucht in keiner Liste auf.
Den Adapter gibts noch nicht im Repository - wenn du open-epapaper-link meinst. Beim Review wurden ein paar Kleinigkeiten angemerkt - seither hatte niemand mehr Zeit den Adapter weiter zu entwickeln. (https://github.com/ioBroker/ioBroker.repositories/pull/3003)
-
@revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@BananaJoe & @bimmi
Ich bin mir ziemlich sicher, dass es an der Firware des AP liegt. Diese schwarzen Schatten sind bei mir nach einem Update aufgetreten. Ich glaube die 1.7-beta hatte das noch nicht. Würde es gerne testen - weiß aber nicht wie ich zurück springen kann.Zitat Discord:
I revisited the part of the rendering code that looks for the nearest color, and made an improvement. Or, to say, I changed it back like it was before . The artifacts on your image will be gone in the next release.
(I originally changed it because I wanted to apply a gamma correction for the dithering, but it turned out it wasn’t working anyway)Mit dem nächsten Release sollten die Artefakte wohl verschwinden!
-
@bimmi sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@haselchen ich hab mir eine eigene VIS für die Displays erstellt, eigene Datenpunkte für jeden Display und für jedes Display ein eigenes Blockly.
Ich persönlich finde den Ansatz von -->> oxident <<-- sehr interessant (Interessanter):
https://forum.iobroker.net/post/1064528
Das Script läuft einfach im Hintergrund und du gibst die Aktualisierungen per Cron im Script an - das Bild wird gespeichert und der AP schaut selbstständig ob sich das Bild verändert hat - ist das der Fall, wird es zum Tag hochgeladen.
Das Display stellst du auf Image URL mit dem Pfad zum Bild ein.
Aber auch hier ist puppeteer Voraussetzung.
Blockly brauchst du nicht unbedingt.
Finds übersichtlicher und schlanker.Viele Grüße
-
@bimmi sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@BananaJoe & @bimmi
Ich bin mir ziemlich sicher, dass es an der Firware des AP liegt. Diese schwarzen Schatten sind bei mir nach einem Update aufgetreten. Ich glaube die 1.7-beta hatte das noch nicht. Würde es gerne testen - weiß aber nicht wie ich zurück springen kann.Zitat Discord:
I revisited the part of the rendering code that looks for the nearest color, and made an improvement. Or, to say, I changed it back like it was before . The artifacts on your image will be gone in the next release.
(I originally changed it because I wanted to apply a gamma correction for the dithering, but it turned out it wasn’t working anyway)Mit dem nächsten Release sollten die Artefakte wohl verschwinden!
Dank Dir!
Das hatte ich auch schon gesehen und bin direkt auf die 2.05 aufgesprungen....
War wohl ein Fehler - die schwarzen Ränder habe ich noch immer und komme leider nicht mehr zurück auf die 1.08-beta.
In der Update-Übersicht taucht auch keine 1.xx Version mehr auf.
Wenn also einer ne Idee hat (eine 1.xx FW aufzuspielen) - bin ich gaaanz Ohr.Viele Grüße
-
-
@revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@bimmi sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@revobobo sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@BananaJoe & @bimmi
Ich bin mir ziemlich sicher, dass es an der Firware des AP liegt. Diese schwarzen Schatten sind bei mir nach einem Update aufgetreten. Ich glaube die 1.7-beta hatte das noch nicht. Würde es gerne testen - weiß aber nicht wie ich zurück springen kann.Zitat Discord:
I revisited the part of the rendering code that looks for the nearest color, and made an improvement. Or, to say, I changed it back like it was before . The artifacts on your image will be gone in the next release.
(I originally changed it because I wanted to apply a gamma correction for the dithering, but it turned out it wasn’t working anyway)Mit dem nächsten Release sollten die Artefakte wohl verschwinden!
Dank Dir!
Das hatte ich auch schon gesehen und bin direkt auf die 2.05 aufgesprungen....
War wohl ein Fehler - die schwarzen Ränder habe ich noch immer und komme leider nicht mehr zurück auf die 1.08-beta.
In der Update-Übersicht taucht auch keine 1.xx Version mehr auf.
Wenn also einer ne Idee hat (eine 1.xx FW aufzuspielen) - bin ich gaaanz Ohr.Viele Grüße
https://github.com/jjwbruijn/OpenEPaperLink/releases
Musst mal etwas lesen. Es geht glaub ich mit den typischen esp programmern... NodeMCU PyFlasher nutze ich meistens.
Sichere dir die Tag db dann musst auch nichts neu einrichten glaub ich.
-
@mcm57 Ich bin mir ziemlich sicher, dass es an meiner Installation liegt. So wie es scheint, mag Pupeteer nicht auf arm64-Platformen laufen da angemeckert wird, es gibt kein chromium dafür.
Unter x86 lief es stressfrei, daher denke ich, ich bin jetzt erstmal auf dem Wartegleis
-
Das wird auch vermutlich mein Problem auf der Synology sein.
-
@oxident said in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@mcm57 Ich bin mir ziemlich sicher, dass es an meiner Installation liegt. So wie es scheint, mag Pupeteer nicht auf arm64-Platformen laufen da angemeckert wird, es gibt kein chromium dafür.
Unter x86 lief es stressfrei, daher denke ich, ich bin jetzt erstmal auf dem Wartegleis
Da der Adapter von @Foxriver76 ist würd ich anregen im Repo ein Issue zu eröffnen sofern weder ein issue existiert und auch nichts bezüglich Einschränkungen im Readme steht. Er kann sicher rasch beurteilen ob hier etwas verbessert / ergänzt werden kann - oder ob ggF eine Anmerkung ins Readme muss weil es (mit angemessenem Aufwand) nicht anders geht
-
@haselchen sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Das wird auch vermutlich mein Problem auf der Synology sein.
Du könntest bei deiner Synology - vorausgesetzt es ist ein + Modell - auch Docker laufen lassen mit Puppeteer: https://hub.docker.com/r/buildkite/puppeteerDeine Synology lt Signatur hat aber einen Intel Prozessor und keinen ARM. Da sollte es auf jeden Fall laufen.
-
@bimmi @mcm57 @haselchen
Wenn iobroker als Docker auf der Synology laeuft, geht kein puppeteer, dazu braucht man einen extra Puppeteer-Docker, das Problem wurde auch schonmal mit @foxriver76 und @andre diskutiert.
siehe auch hier im Puppeteer-iobroker-Adapter ThreadMal ganz abgesehen davon, dass fuer Puppeteer 292 Issues auf Github offen sind..
und der Adapter installiert ne depricated Version (V19.x), aktuell ist 21.x...
Auf meinem Operations-Iobroker im Docker auf der Syno RS1619xs gehts nicht, auf dem aktuellen Raspi-Image Bookworm Raspi-4 auch nicht, das einzige, wo ich den iobroker-Puppeteer installieren konnte, war jetzt ne VM in Proxmox unter Debian Bookworm, Node 20.
-
@ilovegym sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Mal ganz abgesehen davon, dass fuer Puppeteer 292 Issues auf Github offen sind..
allerdings auch über 6K geschlossene, das Projekt wird sehr aktiv entwickelt, nicht dass hier der falsche Eindruck entsteht.
-
@ilovegym sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
und der Adapter installiert ne depricated Version (V19.x), aktuell ist 21.x...
gerne mal issue beim adapter.
-
@foxriver76 sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@ilovegym sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
und der Adapter installiert ne depricated Version (V19.x), aktuell ist 21.x...
gerne mal issue beim adapter.
gerne, hier fuer die Deprecated Version:
https://github.com/foxriver76/ioBroker.puppeteer/issues/11
-
@foxriver76 sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
@ilovegym sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Mal ganz abgesehen davon, dass fuer Puppeteer 292 Issues auf Github offen sind..
allerdings auch über 6K geschlossene, das Projekt wird sehr aktiv entwickelt, nicht dass hier der falsche Eindruck entsteht.
Das stimmt, die 6k muss man erstmal schliessen(koennen !! ) - ist schon ne Entwicklung, aber wie immer, das eine haengt vom andern ab, und deshalb haben alle was zu tun..
Zweites Issue aufgemacht, wegen dem hier:
2024-01-09 08:51:01.444 - info: puppeteer.0 (131346) starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v20.10.0, js-controller: 5.0.17 2024-01-09 08:51:01.533 - error: puppeteer.0 (131346) 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(). 2024-01-09 08:51:01.540 - error: puppeteer.0 (131346) unhandled promise rejection: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting 2024-01-09 08:51:01.542 - error: puppeteer.0 (131346) Error: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting at ChildProcess.onClose (/opt/iobroker/node_modules/@puppeteer/browsers/lib/cjs/launch.js:262:24) at ChildProcess.emit (node:events:526:35) at ChildProcess._handle.onexit (node:internal/child_process:294:12) 2024-01-09 08:51:01.544 - error: puppeteer.0 (131346) Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting 2024-01-09 08:51:01.555 - info: puppeteer.0 (131346) terminating 2024-01-09 08:51:01.556 - warn: puppeteer.0 (131346) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-01-09 08:51:02.060 - info: puppeteer.0 (131346) terminating 2024-01-09 08:51:02.213 - error: host.iobroker-P4 Caught by controller[0]: 2024-01-09 08:51:02.214 - error: host.iobroker-P4 Caught by controller[0]: Puppeteer old Headless deprecation warning: 2024-01-09 08:51:02.215 - error: host.iobroker-P4 Caught by controller[0]: In the near feature `headless: true` will default to the new Headless mode 2024-01-09 08:51:02.216 - error: host.iobroker-P4 Caught by controller[0]: for Chrome instead of the old Headless implementation. For more 2024-01-09 08:51:02.217 - error: host.iobroker-P4 Caught by controller[0]: information, please see https://developer.chrome.com/articles/new-headless/. 2024-01-09 08:51:02.218 - error: host.iobroker-P4 Caught by controller[0]: Consider opting in early by passing `headless: "new"` to `puppeteer.launch()` 2024-01-09 08:51:02.219 - error: host.iobroker-P4 Caught by controller[0]: If you encounter any bugs, please report them to https://github.com/puppeteer/puppeteer/issues/new/choose. 2024-01-09 08:51:02.220 - error: host.iobroker-P4 instance system.adapter.puppeteer.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2024-01-09 08:51:02.221 - info: host.iobroker-P4 Restart adapter system.adapter.puppeteer.0 because enabled 2024-01-09 08:51:32.265 - info: host.iobroker-P4 instance system.adapter.puppeteer.0 started with pid 131600 2024-01-09 08:51:34.341 - info: puppeteer.0 (131600) starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v20.10.0, js-controller: 5.0.17 2024-01-09 08:51:34.427 - error: puppeteer.0 (131600) 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(). 2024-01-09 08:51:34.429 - error: puppeteer.0 (131600) unhandled promise rejection: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting 2024-01-09 08:51:34.431 - error: puppeteer.0 (131600) Error: Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting at ChildProcess.onClose (/opt/iobroker/node_modules/@puppeteer/browsers/lib/cjs/launch.js:262:24) at ChildProcess.emit (node:events:526:35) at ChildProcess._handle.onexit (node:internal/child_process:294:12) 2024-01-09 08:51:34.432 - error: puppeteer.0 (131600) Failed to launch the browser process! undefined TROUBLESHOOTING: https://pptr.dev/troubleshooting