Neues Modul: ESPEInk für e-Paper Displays (Name geändert, war ESP8266EInk)

Begonnen von eki, 02 Oktober 2019, 10:24:53

Vorheriges Thema - Nächstes Thema

Icinger

ZitatIch habe noch keine schlaue Möglichkeit gefunden, das zu vermeiden, bin aber dran.
Ganz einfach:

In der xx_set-Routine auf "Global:initialized" prüfen......Solange das false ist, ist FHEM noch nicht richtig hochgefahren, also liegt die Vermutung nahe, dass das "set" vielleicht gültig sein könnte :)

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

kkoeniger

@ eki:
Nachdem ich auf meiner Hauptinstanz von Fhem noch immer Probleme herrschen (Can't locate object method "newFromPng" via package "GD::Image" at ./FHEM/89_ESPEInk.pm line 1295 - obwohl libgd3 und GD istalliert sind), habe ich schnell einen Raspi4 aufgesetzt, FHEM und die libraries installiert. Über FHEM2FHEM mit der Hauptinstanz verbunden und die einzelnen clone devices angelegt.

Anfangs sah es genau so wirr aus, dann habe ich am Raspi4 im ePaper-Device von "7.5inch_e-Paper_HAT_(B)" auf "7.5inch_e-Paper_HAT_(C)" umgestellt --> alles ok und wird korrekt dargestellt. Sogar die gelbe Farbe wird in rot umgewandelt. Für mich jetzt alles bestens, nochmal danke für das tolle Modul.

@Icinger:
Akkubetrieb des e-paper-Displays schwebt mir auch vor. Ich habe an einen "dicken" Bilderrahmen gedacht und hinter dem Display noch eine dünne Powerbank wie das hier: https://www.amazon.de/dp/B073FJ9X2J/?coliid=I10YWJBYXDODAD&colid=34S3O002OOO4K&psc=1&ref_=lv_ov_lig_dp_it
LG,
Karl

eki

Zitat
Ganz einfach:

In der xx_set-Routine auf "Global:initialized" prüfen......Solange das false ist, ist FHEM noch nicht richtig hochgefahren, also liegt die Vermutung nahe, dass das "set" vielleicht gültig sein könnte :)

Na ja, so ganz einfach ist es dann doch nicht gewesen (lag aber eher daran, zu verstehen, was die Funktion notifyRegexpChanged macht bzw. nicht macht) und außerdem erlaubt das dann halt fehlerhafte Settings wenn einer im Configfile rumeditiert und dabei inkonsistente Settings macht. Aber wie sagt Olaf Schubert immer "... ich kann mich nicht um alles kümmern".
In der anghängten Version sollten jetzt also Settings mit colormode color beim Starten auch funktionieren. Außerdem laufen jetzt auch nur noch die Notifies auf, die auch wirklich gebraucht werden, was hoffentlich auch die CPU schont.

Bitte gern mal testen und Rückmeldung geben, dann aktualisiere ich die Version auch im ersten Beitrag oben wieder.

kkoeniger

Nach 4x shutdown+restart ist jedesmal das Device verschwunden.

Möglicherweise weil es (bei mir) das source PICTUREFILE im Pfad ...www/images/(Device-)NAME/image.ext gelöscht hat. Image zurückkopiert, edit fhem.cfg, save und das Device ist wieder da.
LG,
Karl

Icinger

Achja, noch ein Vorschlag/Bitte:

Soweit ich das im Code gesehen habe, bezieht sich left/right/center usw ja nur auf den Bildschirmrand, oder?
Also right ist ganz rechtsbündig.

Schön wäre es, einen Text an einer bestimmten x/y-Position rechtsbündig zu haben.

zB die Positionen mit
Zitat
textreading#myAstro:SunSet#240#>165#12#0#000000
textreading#myAstro:MoonRise#320#|150#12#0#000000
angeben. Also > für rechts, | für mittig....Linksbündig ist eigentlich unnötig, weil ja eh Standard.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

eki

Ist ja kurz vor Weihnachten :), Wunsch erfüllt (siehe Anhang).

Wenn jetzt in der x Position ein > enthalten ist, dann ist der Bezugspunkt rechts (>300 bedeutet der Text/ das Icon hört bei 300 pixeln auf) wenn ein | enthalten ist dann ist der Bezugspunkt die Mitte (|300 bedeutet die Mitte des Textes/Icons liegt bei 300 pixeln). Gleiches gilt für die y Position > bedeutet hier dass der Bezugspunkt oben ist | entsprechend wieder in der Mitte (< geht auch ist aber das Gleiche als wenn nichts da steht).

Icinger

Coole Sache, danke.

Funktioniert einwandfrei :)

lg und schönes Wochenende,

Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

kkoeniger

Das Flex-Display "2.9inch e-Paper HAT (D)" ist beim devicetype nicht vorhanden und wird nach Auswahl von 2.9inch_e-Paper_Module, 2.9inch_e-Paper_Module_(B) oder 2.9inch_e-Paper_Module_(C) auch nicht richtig upgeloaded. Nur schwarzes Display obwohl die Konvertierung funktioniert. Zu diesem Display auch eine Bitte (alles ohne jede Eile): den Text um 90° rechts rotieren ermöglichen.

2019.12.16 10:08:30 3: eDisplayFlex: sending HTTP request to http://10.0.0.133/EPD with data: ja
2019.12.16 10:08:40 3: eDisplayFlex: problems with communication to device, trying once more (1 of 3 done)
2019.12.16 10:08:50 3: eDisplayFlex: problems with communication to device, trying once more (2 of 3 done)
2019.12.16 10:09:00 3: eDisplayFlex: problems with communication to device, trying once more (3 of 3 done)
2019.12.16 10:09:10 1: eDisplayFlex: problems with communication to device, max retries (3) reached
2019.12.16 10:09:14 3: eDisplayFlex: sending HTTP request to http://10.0.0.133/EPD with data: ka
2019.12.16 10:09:24 3: eDisplayFlex: problems with communication to device, trying once more (1 of 3 done)
2019.12.16 10:09:34 3: eDisplayFlex: problems with communication to device, trying once more (2 of 3 done)
2019.12.16 10:09:44 3: eDisplayFlex: problems with communication to device, trying once more (3 of 3 done)
2019.12.16 10:09:52 3: eDisplayFlex: sending HTTP request to http://10.0.0.133/EPD with data: la
2019.12.16 10:09:54 3: eDisplayFlex: problems with communication to device, trying once more (1 of 3 done)
2019.12.16 10:10:02 3: eDisplayFlex: problems with communication to device, trying once more (2 of 3 done)
2019.12.16 10:10:04 3: eDisplayFlex: problems with communication to device, trying once more (3 of 3 done)
2019.12.16 10:10:12 1: eDisplayFlex: problems with communication to device, max retries (3) reached
2019.12.16 10:10:14 1: eDisplayFlex: problems with communication to device, max retries (3) reached
2019.12.16 10:40:14 4: Start forked process to convert output picture
2019.12.16 10:40:14 4: File /opt/fhem/www/images/296x128.jpg opened, sizes is 128 x 296
2019.12.16 10:40:16 4: Finished conversion in background
2019.12.16 10:40:33 3: eDisplayFlex: sending HTTP request to http://10.0.0.133/EPD with data: ka
2019.12.16 10:40:43 3: eDisplayFlex: problems with communication to device, trying once more (1 of 3 done)


Direktupload über die Weboberfläche des ESP 8266 funktioniert.

edit: Durchgestrichenes existiert ja bereits im tollen Modul (RTFM für mich)
LG,
Karl

kkoeniger

Das schwarz-weiße Display "7.5inch_e-Paper_HAT" wird mit der Auswahl von "7.5inch_e-Paper_HAT_(C)" korrekt dargestellt. Weiters empfiehlt es sich dafür schon aus dem zugrundeliegenden Picturefile die Farben zu entfernen.
LG,
Karl

eki

Ich habe gesehen, dass es eine Neue Version der Waveshare Web Applikation gibt, da ist jetzt das 2.9 D Display enthalten, kann ich also einbauen, etwas Geduld.

kkoeniger

Danke. Lass Dir Zeit. Das 2.9-D-Display richte ich erst nach Weihnachten ein, ich hatte vorerst nur rumprobiert.
LG,
Karl

Icinger

Guten Morgen,

mein Display läuft jetzt schon einige Zeit superstabil.
Grad vorhin wäre mir noch ein nettes Gimmick dazu eingefallen, allerdings bräuchte es dazu evtl. eine Änderung im Modul: Mehrzeiligen Text.
Ich würde gerne ein "Zitat des Tages" anzeigen. Das könnte zB vom fortune-Kommando (https://wiki.ubuntuusers.de/fortune/) kommen, oder evtl. auch per HTTPMOD von irgendeiner Website.

Leider unterstützt GD ja keine NewLines, daher müsste das im Modul selbst umgesetzt werden.

Gibts da evtl. auch eine Möglichkeit, das zu implementieren? Sonst mach ich das nur hier in meinem lokalen Modul.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Jendaw

Hallo Stefan,

Zitat von: Icinger am 31 Dezember 2019, 05:33:46
mein Display läuft jetzt schon einige Zeit superstabil.

Würdest du deine ESP32-Sourcen hier zur Verfügung stellen?

VG
FHEM/RaspberryMatic @RaspPi + nanoCUL 433 + Signalduino 433 + JeeLink-Clone + CC2531 + Slaesh-Stick
IT Funkschalter, HE-Sensoren, TX 29 DTH-IT, HMIP, HM-Wired, zigbee2mqtt
ESPEInk + waveshare 7.5inch_e-Paper_HAT_(B) + ESP8266 (Firmware von https://github.com/Yattien)

eki

Zitat von: Icinger am 31 Dezember 2019, 05:33:46
Guten Morgen,

mein Display läuft jetzt schon einige Zeit superstabil.
Grad vorhin wäre mir noch ein nettes Gimmick dazu eingefallen, allerdings bräuchte es dazu evtl. eine Änderung im Modul: Mehrzeiligen Text.
Ich würde gerne ein "Zitat des Tages" anzeigen. Das könnte zB vom fortune-Kommando (https://wiki.ubuntuusers.de/fortune/) kommen, oder evtl. auch per HTTPMOD von irgendeiner Website.

Leider unterstützt GD ja keine NewLines, daher müsste das im Modul selbst umgesetzt werden.

Gibts da evtl. auch eine Möglichkeit, das zu implementieren? Sonst mach ich das nur hier in meinem lokalen Modul.

lg, Stefan

Ich könnte so etwas wie eine maximale Breite für die texte einführen und dann manuell einen Zeileinumbruch machen, wenn diese Breite erreicht ist. Das würde dann Textblöcke mit "Flatterrand" erzeugen.
Eine zweite, leichter zu implementierende Möglichkeit wäre, einen special Character (also so etwas wie \n) in den Texten als Zeilenumbruch zu interpretieren und dann entsprechend im Modul die Zeilenumbrüche zu setzen.
Was wäre Deine Präferenz?

Icinger

In meinem Fall müsste ich zu (1) tendieren, da fortune die Texte mit einer fixen Breite von 80 ausgibt.
Ich hab das jetzt mit RegExen gelöst, so daß die Zeilenumbrüche entfernt werden.
Und diesen Text würd ich halt jetzt gern am Display unterbringen :)
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho