NEWS
E-INK Display OpenEPaperLink - Displayanzeige mit Batterie
-
Was mir auffällt, wenn ich einen AP reboote, verliert der OpenEpaper-Adapter sofort die Verbindung und stellt sie auch nicht wieder her.
Ist das also ein "Timing-Problem" zwischen dem Adapter und den APs?
-
Hier noch einmal die Meldung die kommt, wenn sich der Adapter Aufhängt.
host.raspberrypi 2024-05-10 14:00:33.724 error instance system.adapter.open-epaper-link.0 terminated with code 6 (UNCAUGHT_EXCEPTION) open-epaper-link.0 2024-05-10 14:00:32.953 warn Terminated (UNCAUGHT_EXCEPTION): Without reason open-epaper-link.0 2024-05-10 14:00:32.952 info terminating open-epaper-link.0 2024-05-10 14:00:32.948 error Cannot read properties of undefined (reading 'mac') open-epaper-link.0 2024-05-10 14:00:32.948 error TypeError: Cannot read properties of undefined (reading 'mac') at WebSocket.<anonymous> (/opt/iobroker/node_modules/iobroker.open-epaper-link/build/main.js:124:102) at WebSocket.emit (node:events:517:28) at Receiver.receiverOnMessage (/opt/iobroker/node_modules/ws/lib/websocket.js:1209:20) at Receiver.emit (node:events:517:28) at /opt/iobroker/node_modules/ws/lib/receiver.js:608:16 at node:internal/process/task_queues:140:7 at AsyncResource.runInAsyncScope (node:async_hooks:203:9) at AsyncResource.runMicrotask (node:internal/process/task_queues:137:8) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) open-epaper-link.0 2024-05-10 14:00:32.947 error uncaught exception: Cannot read properties of undefined (reading 'mac')
-
@beowolf Was genau bringt dir denn der Adapter? Im Moment würde ich den einfach nicht nutzen.
-
Ich würde gerne die Buttons mit verwenden.
bimmi hatte hier mal ein Skript für die Button-Abfrage eingestellt.
Das "hängt" ja auch nach einer gewissen Zeit. Erst wenn ich das Skript neu starte, funktioniert auch die Buttonabfrage wieder.
Ein Reboot der APs bringt keine Änderung. Es hat meiner Meinung nach etwas mit dem web-socket Adapter zu tun.
-
@beowolf sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
host.raspberrypi 2024-05-10 14:00:33.724 error instance system.adapter.open-epaper-link.0 terminated with code 6 (UNCAUGHT_EXCEPTION) open-epaper-link.0 2024-05-10 14:00:32.953 warn Terminated (UNCAUGHT_EXCEPTION): Without reason open-epaper-link.0 2024-05-10 14:00:32.952 info terminating open-epaper-link.0 2024-05-10 14:00:32.948 error Cannot read properties of undefined (reading 'mac') open-epaper-link.0 2024-05-10 14:00:32.948 error TypeError: Cannot read properties of undefined (reading 'mac') at WebSocket.<anonymous> (/opt/iobroker/node_modules/iobroker.open-epaper-link/build/main.js:124:102) at WebSocket.emit (node:events:517:28) at Receiver.receiverOnMessage (/opt/iobroker/node_modules/ws/lib/websocket.js:1209:20) at Receiver.emit (node:events:517:28) at /opt/iobroker/node_modules/ws/lib/receiver.js:608:16 at node:internal/process/task_queues:140:7 at AsyncResource.runInAsyncScope (node:async_hooks:203:9) at AsyncResource.runMicrotask (node:internal/process/task_queues:137:8) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) open-epaper-link.0 2024-05-10 14:00:32.947 error uncaught exception: Cannot read properties of undefined (reading 'mac')
kannst du mal das script hier testen:
const WebSocket = require('websocket').w3cwebsocket; // Funktion zum Behandeln der WebSocket-Verbindung für EPS function handleEPSWebSocket(deviceIP) { const ws = new WebSocket(deviceIP); // Ereignishandler, wenn die WebSocket-Verbindung geöffnet wird ws.onopen = () => { console.log(`Verbindung zu ${deviceIP} erfolgreich hergestellt.`); }; // Fehlerbehandlung für die WebSocket-Verbindung ws.onerror = (error) => { console.error(`WebSocket-Fehler: ${error.message}`); }; // Behandlung der Schließung der WebSocket-Verbindung ws.onclose = (event) => { console.log(`WebSocket-Verbindung geschlossen: Code=${event.code}, Grund=${event.reason}`); }; // Datenempfang über WebSocket ws.onmessage = (event) => { const data = event.data.toString(); console.log(`Empfangene Daten von EPS (${deviceIP}): ${data}`); try { const jsonData = JSON.parse(data); console.log('JSON-Daten:', jsonData); // Ausgabe der empfangenen Daten für Überprüfung // Sicherstellen, dass das 'tags' Array existiert und mindestens ein Element enthält if (jsonData.tags && jsonData.tags.length > 0) { const tag = jsonData.tags[0]; // Überprüfen, ob die notwendigen Eigenschaften vorhanden sind if (tag && tag.wakeupReason && tag.mac) { console.log(`Wakeup Reason erhalten: ${tag.wakeupReason}`); console.log(`MAC erhalten: ${tag.mac}`); // Schreibe den aktuellen Wert von Mac und wakeupReason in den Datenpunkt setState('0_userdata.0.EPS.Websocket', `${tag.mac}_${tag.wakeupReason}`, true); console.log(`Aktueller Wert von Wakeup Reason (${tag.wakeupReason}) und MAC (${tag.mac}) in Datenpunkt geschrieben.`); } else { console.log('Notwendige Eigenschaften `wakeupReason` oder `mac` fehlen in den Daten.'); } } else { console.log('Keine oder leere Tags im JSON-Datenobjekt vorhanden.'); } } catch (error) { console.error(`Fehler beim Verarbeiten der empfangenen Daten: ${error}`); } }; } // Verbindung zum EPS WebSocket-Server herstellen und behandeln handleEPSWebSocket('ws://192.168.1.70/ws');
-
Kommt direkt das
10.5.2024, 22:56:34.853 [warn ]: javascript.0 (10472) at W3CWebSocket.ws.onmessage (script.js.common.EPaper-Displays.Erdgeschoss.button:42:21) 10.5.2024, 22:56:34.857 [warn ]: javascript.0 (10472) at W3CWebSocket.ws.onmessage (script.js.common.EPaper-Displays.Erdgeschoss.button:41:21) 10.5.2024, 22:56:34.860 [warn ]: javascript.0 (10472) at W3CWebSocket.ws.onmessage (script.js.common.EPaper-Displays.Erdgeschoss.button:42:21)
-
@beowolf ich schau dieses Wochenende nochmal drüber
-
So, hab mich mal ein bisschen bemüht und dann ist folgendes herausgekommen:
https://github.com/slimline33/OpenEPaperLink-IOBROKER-JavaScript
Bitte testen.
"javascript.0 (1401318) script.js.EPS.Websocket2_Test: Object "0_userdata.0.OpenEPaperLink.4467090B10421125" can't be copied: {}"
Den Fehler bekomm ich noch nicht weg, ändert aber nichts an der Funktion!
-
super, laeuft einwandfrei!
Hat n bisschen gedauert, bis alle Datenpunkte angelegt wurden, und man das im Admin gesehen hat.. aber ich glaube das war noch ein Bug im Admin 6.17.3... die neueren Versionen geiern ja ab, wenn man was aendert..Aber super, so habe ich alle Datenpunkte mit Mac etc drin und darauf zieh ich mir dann die Daten fuer die Scripte..
-
Wollte jetzt mal OpenEPaperLink instalieren bekomme aber diese Fehlermeldung
Was muss ich denn da jetzt machen, blicke da jetzt mal gar nicht durch. -
Was muss ich denn da jetzt machen, blicke da jetzt mal gar nicht durch.
Da kannst du gar nix machen, die Dateien sind im Moment wohl defekt.
Bei mir kommt das auch so um die Ecke:$ iobroker url https://github.com/jjwbruijn/OpenEPaperLink --host chet --debug install jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c NPM version: 10.7.0 Installing jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c... (System call) npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again. npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again. npm error code ENOENT npm error path /home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.jsonnpm error errno -2 npm error enoent Could not read package.json: Error: ENOENT: no such file or directory, open '/home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.json' npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-05-11T15_24_06_313Z-debug-0.log npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again.npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again.npm error code ENOENTnpm error syscall opennpm error path /home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.jsonnpm error errno -2npm error enoent Could not read package.json: Error: ENOENT: no such file or directory, open '/home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.json'npm error enoent This is related to npm not being able to find a file.npm error enoentnpm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-05-11T15_24_06_313Z-debug-0.log host.chet Cannot install jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c: 254 ERROR: Process exited with code 25
-
@thomas-braun Okay,Danke dir
-
@walter-o was genau willst du installieren? Der OpenEPaperLink Adapter wird nicht weiter entwickelt.
Den Access Point am besten über www.openepaperlink.de installieren.
-
@thomas-braun sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Was muss ich denn da jetzt machen, blicke da jetzt mal gar nicht durch.
Da kannst du gar nix machen, die Dateien sind im Moment wohl defekt.
Bei mir kommt das auch so um die Ecke:$ iobroker url https://github.com/jjwbruijn/OpenEPaperLink --host chet --debug install jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c NPM version: 10.7.0 Installing jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c... (System call) npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again. npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again. npm error code ENOENT npm error path /home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.jsonnpm error errno -2 npm error enoent Could not read package.json: Error: ENOENT: no such file or directory, open '/home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.json' npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-05-11T15_24_06_313Z-debug-0.log npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again.npm warn tarball tarball data for github:jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c (null) seems to be corrupted. Trying again.npm error code ENOENTnpm error syscall opennpm error path /home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.jsonnpm error errno -2npm error enoent Could not read package.json: Error: ENOENT: no such file or directory, open '/home/iobroker/.npm/_cacache/tmp/git-cloneXXXXXXZkFV1r/package.json'npm error enoent This is related to npm not being able to find a file.npm error enoentnpm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-05-11T15_24_06_313Z-debug-0.log host.chet Cannot install jjwbruijn/OpenEPaperLink#73db8d52a88260640b7252a382410c26c9ceec2c: 254 ERROR: Process exited with code 25
Man könnte auch diesen fork nutzen. Der ist aktueller :
https://github.com/jonasniesner/OpenEPaperLink
Jedoch würde ich wie gesagt über openepaperlink.de gehen.
Aber: mit der aktuellsten Version geht gar nichts im Moment. Auch der zigbee Teil ist defekt.
-
@bimmi sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
So, hab mich mal ein bisschen bemüht und dann ist folgendes herausgekommen:
https://github.com/slimline33/OpenEPaperLink-IOBROKER-JavaScript
Bitte testen.
"javascript.0 (1401318) script.js.EPS.Websocket2_Test: Object "0_userdata.0.OpenEPaperLink.4467090B10421125" can't be copied: {}"
Den Fehler bekomm ich noch nicht weg, ändert aber nichts an der Funktion!
Super. Vielen Dank dafür.
Der löpp ja richtig gut. Die Buttonabfrage funktioniert auch top.
-
Jetzt noch json push einbauen und fertig ist der Adapter
-
was macht ihr da denn? Das ist doch kein iobroker Adapter... tss..
OpenEpaperlink flasht man auf einen entsprechenden Accesspoint, meist ein ESP32 mit zigbee Modul... auch hier, wie bei Tasmota, einfach das Webinterface nehmen. Oder einfach mal die Anleitung lesen (mach ich auch erst, wenn nix geht.. )
-
@ilovegym sagte in EPS E-INK Display Ansteuerung -> Statusdisplay für 2€:
Oder einfach mal die Anleitung lesen
Hatte nur den github-Link aus dem ersten Beitrag genommen. Und erst danach gesehen, das es kein Adapter ist.
-
Ich hab mein Script etwas angepasst.
folgende Sachen kommen jetzt über websocket / tag.json mit
- hwType / Alias (Display Bezeichnung)
- height in px
- widht in px
- colors
- colortable (json um die richten Farben zu setzen für rot, schwarz, grau usw)
ein kleiner Fehler ist noch drin, aber das ändere ich evtl. heute Abend. Wäre schön wenn Ihr testen würdet und mir entsprechend ein issue auf github öffnen würdet!
-
Sollte, glaube ich, in einer der letzten Versionen implementiert worden sein: Update Anzeige.
Find ich es nicht oder wie muss das eingestellt werden?
Möchte gerne , vornehmlich oben rechts , angezeigt bekommen wann der Tag zuletzt aktualisiert worden ist .