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

pepe_11

Zitat von: eki am 23 Februar 2020, 09:08:23
An der libSVG wird es wohl nicht liegen, da in Deinen gepusteten Bildern der FHEM Anzeige ja alles OK aussieht und nur dort diese lib genutzt wird.
Da muss irgendwie etwas bei der Übertragung zum Device schief gehen. Kannst Du mal posten was das Log bei verbose 5 ausgibt.

Hi,

hier das Log in Verbose 5. Sieht für mich wunderbar aus.


2020-02-23_17:20:36 myEInk 1-trigger: Sensor_Aussen:humidity
2020-02-23_17:20:36 myEInk 1-text: 87
2020-02-23_17:20:36 myEInk 1-isIcon: 0
2020-02-23_17:20:36 myEInk 1-def: textreading#Sensor_Aussen:humidity#100#50#5#90#000000#/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf\
2020-02-23_17:20:36 myEInk 1-x: 100
2020-02-23_17:20:36 myEInk 1-y: 50
2020-02-23_17:20:36 myEInk 1-size: 5
2020-02-23_17:20:36 myEInk 1-angle: 90
2020-02-23_17:20:36 myEInk 1-color: 000000
2020-02-23_17:20:36 myEInk 1-font: medium
2020-02-23_17:20:36 myEInk 1-linegap: 0
2020-02-23_17:20:36 myEInk 1-blockwidth: 0
2020-02-23_17:20:47 myEInk convert
2020-02-23_17:20:48 myEInk source_picture: <html><img src=/fhem/images/myEInk/122x250.png?dummy=73652.5993661772></img><div>/fhem/images/myEInk/122x250.png</div></html>
2020-02-23_17:20:53 myEInk result_picture: <html><img src=/fhem/images/myEInk/result.png?dummy=73652.5993661772></img><div>/fhem/images/myEInk/result.png</div></html>
2020-02-23_17:21:10 myEInk upload
2020-02-23_17:21:19 myEInk 1-text: 86


hier das Listing des Devices
Internals:
   BOARDTYPE  ESP32
   COLORMODE  monochrome
   CONVERTMODE dithering
   DEF        /opt/fhem/images/122x250.png 192.168.8.41 monochrome dithering
   DEVICETYPE 2.13inch_e-Paper_HAT
   FUUID      5e483f6c-f33f-0de6-0759-eaabdf747c202e1d
   INTERVAL   1800
   NAME       myEInk
   NOTIFYDEV  global,Sensor_Aussen,myEInk
   NR         854
   NTFY_ORDER 50-myEInk
   PICTUREFILE /opt/fhem/images/122x250.png
   STATE      Successfully uploaded image to device
   SUBFOLDER  images
   TYPE       ESPEInk
   URL        192.168.8.41
   OLDREADINGS:
   READINGS:
     2020-02-23 17:20:36   1-angle         90
     2020-02-23 17:20:36   1-blockwidth    0
     2020-02-23 17:20:36   1-color         000000
     2020-02-23 17:20:36   1-def           textreading#Sensor_Aussen:humidity#100#50#5#90#000000#/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf\
     2020-02-23 17:20:36   1-font          medium
     2020-02-23 17:20:36   1-isIcon        0
     2020-02-23 17:20:36   1-linegap       0
     2020-02-23 17:20:36   1-size          5
     2020-02-23 17:21:54   1-text          86
     2020-02-23 17:20:36   1-trigger       Sensor_Aussen:humidity
     2020-02-23 17:20:36   1-x             100
     2020-02-23 17:20:36   1-y             50
     2020-02-23 17:20:36   deftexts        1
     2020-02-23 17:20:53   result_picture  <html><img src=/fhem/images/myEInk/result.png?dummy=73652.5993661772></img><div>/fhem/images/myEInk/result.png</div></html>
     2020-02-23 17:06:19   source_picture  <html><img src=/fhem/images/myEInk/122x250.png?dummy=915638.801041968></img><div>/fhem/images/myEInk/122x250.png</div></html>
   helper:
Attributes:
   boardtype  ESP32
   colormode  monochrome
   convertmode dithering
   devicetype 2.13inch_e-Paper_HAT
   interval   1800
   room       ESPEasy
   url        192.168.8.41
   userattr   1-angle 1-blockwidth 1-color:colorpicker,RGB 1-font 1-linegap 1-size 1-text 1-trigger 1-x 1-y


VG
Peter

eki


pepe_11

Zitat von: eki am 24 Februar 2020, 08:44:18
Ich brauche nicht das Log des Devices sondern das von FHEM.

Hi Eki,

alles klar. Habe  nach ESPEINK gefiltert, da das Fhem.log in verbose 5 sehr mächtig ist. Anbei die Datei.

Gruß
Peter


Maista

Hallo zusammen,

hier mal meine Info zum Thema ESP32, EInk-Display und der DeepSleep. An den 3V3 hängt seit Anfang ein 1000uF Elko.
Als Source habe ich das Packet vom Icinger verwendet.
Ich habe hier eine FB 6490 (OG) / AP (EG) und schon diverse ESP8266 mit Tasmota und ESPEasy am laufen.
Ein ESPEasy ist Akku-Betrieben und legt sich per DeepSleep schlafen.

Der ESP32 scheint hier aber eine Zicke zu sein. Wie man in diversen Foren lesen kann hat der seine Probleme nach dem Aufwachen.
Er will sich dann einfach nicht mit dem AP verbinden. Ich habe auch die letzten Wochenenden einige Vorschläge aus den Foren
versucht. Z.B. https://github.com/espressif/arduino-esp32/issues/2501 .
Von WLAN reseten vor und nach dem DeepSleep. Auch habe ich alle Parameter beim WLAN-Begin mit übergeben, wie
Statische IP, DNS, Gateway und Kanal-Nummer. Erst seit ich die mit angebe gibt es auch keine Fehlermeldungen beim compilieren ?!
Immer wenn ich dachte nun läuft die Gurke und ich schreibe das hier, kam Murphy um die Ecke und dreht mir eine Nase.

Dann will sich der ESP32 nicht mehr mit dem AP verbinden
ZitatReason: 202 - AUTH_FAIL
oder aber er hängt nach dem Start und musste geresettet werden  ::) >:(

Das Modul von eki funktioniert hingegen ohne Probleme.

Ich wollte das ganze Energie-Sparend betreiben, was bei einem EInk-Display ja auch Sinn machen würde.
Wenn meine Motivation nicht zu sehr leidet werde ich mir noch ein ESP8266 mit Stecker für die EInk bestellen.
Eventl. funktioniert der besser mit DeepSleep und der FB.

Gruss Gerd


kkoeniger

Zitat von: eki am 21 Februar 2020, 15:51:37
Da war für ESP8266 Boards leider noch ein Fehler enthalten. Bitte mit der hier angehängten Version testen, und melden, fals OK.

Perfekt, herzlichen Dank wieder einmal !
Upload funktioniert.

Ich habe jetzt die Farbanweisung bei den Icons entfernt (zB: iconreading#cmyProPlanta:fc2_weather12Icon#60#235#50#0#) und es ist ist so wie ich mir es vorgestellt hatte  :)
LG,
Karl

kkoeniger

Beim weiter ausprobieren fällt mir auf:
Ein Upload zeigt mir wiederholt "Error uploading image to device, max retries (3) reached" an, jedoch wird er fehlerfrei ausgeführt.

verbose = 4
2020.02.25 16:12:31 4: Start forked process to convert output picture
2020.02.25 16:12:31 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/89_ESPEInk.pm line 1148.
2020.02.25 16:12:32 1: Number of colors used: 64
2020.02.25 16:12:32 1: Number of colors used: 64
2020.02.25 16:12:33 1: Number of colors used: 64
2020.02.25 16:12:33 1: PERL WARNING: Argument "FF1000" isn't numeric in division (/) at ./FHEM/89_ESPEInk.pm line 1134.
2020.02.25 16:12:33 1: PERL WARNING: Argument "FF1000" isn't numeric in int at ./FHEM/89_ESPEInk.pm line 1124.
2020.02.25 16:12:33 1: PERL WARNING: Argument "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf" isn't numeric in int at ./FHEM/89_ESPEInk.pm line 1125.
2020.02.25 16:12:33 1: PERL WARNING: Argument "0.0 W" isn't numeric in sprintf at ./FHEM/89_ESPEInk.pm line 1148.
2020.02.25 16:12:33 4: File /opt/fhem/www/images/test_SWBalkenStrichLogo.png opened, sizes is 640 x 384
2020.02.25 16:12:50 4: Finished conversion in background
2020.02.25 16:12:55 3: einkDiplay01: sending HTTP request to http://10.0.0.130/EPD with data: eb
2020.02.25 16:13:11 3: einkDiplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.25 16:13:21 3: einkDiplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.25 16:13:31 3: einkDiplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.25 16:13:41 1: einkDiplay01: problems with communication to device, max retries (3) reached


edit: nur beim 7.5inch_e-Paper_HAT_(B)
edit2: 7.5inch_e-Paper_HAT [=SW] tritt das nicht auf
LG,
Karl

Jendaw

Zitat von: kkoeniger am 25 Februar 2020, 16:17:21
2020.02.25 16:12:31 4: Start forked process to convert output picture
2020.02.25 16:12:31 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/89_ESPEInk.pm line 1148.
2020.02.25 16:12:32 1: Number of colors used: 64
2020.02.25 16:12:32 1: Number of colors used: 64
2020.02.25 16:12:33 1: Number of colors used: 64
2020.02.25 16:12:33 1: PERL WARNING: Argument "FF1000" isn't numeric in division (/) at ./FHEM/89_ESPEInk.pm line 1134.
2020.02.25 16:12:33 1: PERL WARNING: Argument "FF1000" isn't numeric in int at ./FHEM/89_ESPEInk.pm line 1124.
2020.02.25 16:12:33 1: PERL WARNING: Argument "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf" isn't numeric in int at ./FHEM/89_ESPEInk.pm line 1125.
2020.02.25 16:12:33 1: PERL WARNING: Argument "0.0 W" isn't numeric in sprintf at ./FHEM/89_ESPEInk.pm line 1148.


Unabhängig von der Übertragung: mir scheint, als wäre deine "definition" nicht iO. Es muss etwas verrutscht sein (Raute an der falschen Stelle, Font nicht gefunden etc), dann kommen solche Warnungen wie oben. In einem solchen Fall habe ich den Inhalt von "definition" in einen Texteditor geladen und dann nur die erste Hälfte konvertieren lassen. Falls da keine Warnung kam, dann die Hälfte vom Rest dazu genommen usw. ("sukzessive Approximation" :) ).
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)

Jendaw

Zitat von: kkoeniger am 25 Februar 2020, 16:17:21
Beim weiter ausprobieren fällt mir auf:
Ein Upload zeigt mir wiederholt "Error uploading image to device, max retries (3) reached" an, jedoch wird er fehlerfrei ausgeführt.

Ich habe mit einem 7.5inch_e-Paper_HAT_(B) keine (solchen) Probleme. Du nutzt doch auch ein ESP32, da wundert mich deine URL, die müsste imo so aussehen "http://10.0.0.130/EPDu_".

Ich nutze derzeit die unmodifizierte waveshare-Firmware vom 16.12.19 und die ESPEInk vom 21 Februar 2020 an einem "normalen" ESP32 (kein waveshare-Modul).
Mein Log:
4: Start forked process to convert output picture
1: PERL WARNING: Use of uninitialized value $usedcolors in concatenation (.) or string at ./FHEM/89_ESPEInk.pm line 1216.
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
1: Number of colors used:
4: File /opt/fhem/www/images/displayBackground.png opened, sizes is 640 x 384
4: Finished conversion in background
3: system_display: sending HTTP request to http://eink-panel/EPDu_ with data:


hth

edit: sehe grad, dass es eine neue waveshare-Firmware vom 19.02.20 gibt: https://www.waveshare.com/wiki/File:E-Paper_ESP32_Driver_Board_Code.7z
edit2: In den waveshare-Treiber sind nur Examples hinzugefügt worden, Änderungen am Treiber selbst gibt es keine.
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

ZitatIch habe jetzt allerdings ein anderes Problem. Ich habe im Gimp eine png Datei mit 122x250 Pixel erstellt. Die Vorlage hat nur einen weißen Hintergrund.
Wenn das espink Modul diese überträgt, zeigt das Display 6 Schwarze Balken bzw. Striche--> Siehe Bild. Die Feuchtigkeit mit Text, das ich mitsende wird angezeigt. Was mache ich hier falsch? Ich vermute, dass die png Vorlage das Problem verursacht.

Kannst Du mal mit der angehängten Version schauen, ob das Problem damit beseitigt ist. Dein Display ist eines, das "Spezialbehandlung" im Code braucht, und da war noch ein Fehler.

Zitatedit: sehe grad, dass es eine neue waveshare-Firmware vom 19.02.20 gibt: https://www.waveshare.com/wiki/File:E-Paper_ESP32_Driver_Board_Code.7z
Zumindest auf die Kommunkation mit dem Board hat diese Version keine Änderungen und damit keine Relevanz für 89_ESPEInk.pm.

kkoeniger

Zitat von: Jendaw am 26 Februar 2020, 08:50:59
Unabhängig von der Übertragung: mir scheint, als wäre deine "definition" nicht iO. Es muss etwas verrutscht sein (Raute an der falschen Stelle, Font nicht gefunden etc), dann kommen solche Warnungen wie oben. In einem solchen Fall habe ich den Inhalt von "definition" in einen Texteditor geladen und dann nur die erste Hälfte konvertieren lassen. Falls da keine Warnung kam, dann die Hälfte vom Rest dazu genommen usw. ("sukzessive Approximation" :) ).

Danke. Ich hatte Kommentare mit "##" in der definition. Nach deren Entfernung sind diese Fehlermeldungen weg (hatten mich bisher nicht gestört).
LG,
Karl

kkoeniger

Zitat von: Jendaw am 26 Februar 2020, 09:01:39
Ich habe mit einem 7.5inch_e-Paper_HAT_(B) keine (solchen) Probleme. Du nutzt doch auch ein ESP32, da wundert mich deine URL, die müsste imo so aussehen "http://10.0.0.130/EPDu_".

...

Nein, ist nutze hier als board die ESP8266 von Waveshare. Der ESP32 wartet noch auf seinen Einsatz.
LG,
Karl

Jendaw

Zitat von: kkoeniger am 26 Februar 2020, 11:20:50
Danke. Ich hatte Kommentare mit "##" in der definition. Nach deren Entfernung sind diese Fehlermeldungen weg (hatten mich bisher nicht gestört).
Das wäre auch von mir ein Wunschpunkt: Kommentare in der Definition. Und die Definition vllt. ganz in eine separate Datei auslagern, bei mir ist sie schon recht groß :)
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

Kommentare kann ich vorsehen, Auslagerung in eine Datei wäre auch kein großes Ding, finde ich aber dann doch ein bisschen an den Grundprinzipien von FHEM vorbei?!

pepe_11

Zitat von: eki am 26 Februar 2020, 10:37:08
Kannst Du mal mit der angehängten Version schauen, ob das Problem damit beseitigt ist. Dein Display ist eines, das "Spezialbehandlung" im Code braucht, und da war noch ein Fehler.
Zumindest auf die Kommunkation mit dem Board hat diese Version keine Änderungen und damit keine Relevanz für 89_ESPEInk.pm.

Hallo Eki,

It works, bin begeistert! Saubere Arbeit. Wo kann ich deine Kaffe-Kasse befüllen? habe nur einen kleinen Test heute machen können aber es sieht wirklich gut aus--> siehe Bild.

Schöne Grüße
Peter

Jendaw

Zitat von: eki am 26 Februar 2020, 19:22:27
Auslagerung in eine Datei wäre auch kein großes Ding, finde ich aber dann doch ein bisschen an den Grundprinzipien von FHEM vorbei?!
Vom Speicher wird es keinen großen Unterschied machen, da alle Attribute afair auch im Speicher gehalten werden. Beim Editieren ist es jedoch bereits unübersichtlich, obwohl ich viele statische Elemente im Hintergrundbild habe. Ich meine dazu auch etwas gelesen zu haben, finde es nur grad nicht. Nur diese Empfehlung:
https://forum.fhem.de/index.php/topic,87213.msg796528.html#msg796528
Ist jedoch nur ein Vorschlag von mir, wird vermutlich weniger gebraucht ;)
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)