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

kkoeniger

letztes PM geladen, bei mir sehen die Icons unvollständig aus (siehe Bild).

und ich erhalte "Error uploading image to device, max retries (3) reached", verbose=4:
2020.02.16 15:49:44 3: einkDiplay01: sending HTTP request to http://10.0.0.130/EPD with data: eb
2020.02.16 15:49:48 3: einkDiplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.16 15:50:05 3: einkDiplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.16 15:50:06 3: einkDiplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.16 15:50:06 1: einkDiplay01: problems with communication to device, max retries (3) reached
2020.02.16 15:52:24 4: Start forked process to convert output picture
2020.02.16 15:52:24 1: PERL WARNING: Use of uninitialized value $linegap in int at ./FHEM/89_ESPEInk.pm line 1124.
2020.02.16 15:52:24 1: PERL WARNING: Use of uninitialized value $blockwidth in int at ./FHEM/89_ESPEInk.pm line 1125.
2020.02.16 15:52:24 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/89_ESPEInk.pm line 1137.
2020.02.16 15:52:24 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/89_ESPEInk.pm line 1145.
2020.02.16 15:52:25 1: PERL WARNING: Argument "FF1000" isn't numeric in division (/) at ./FHEM/89_ESPEInk.pm line 1134.
2020.02.16 15:52:25 1: PERL WARNING: Argument "FF1000" isn't numeric in int at ./FHEM/89_ESPEInk.pm line 1124.
2020.02.16 15:52:25 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.16 15:52:25 1: PERL WARNING: Argument "16.6 W" isn't numeric in sprintf at ./FHEM/89_ESPEInk.pm line 1145.
2020.02.16 15:52:25 4: File /opt/fhem/www/images/test_SWBalkenStrichLogo.png opened, sizes is 640 x 384
2020.02.16 15:52:42 4: Finished conversion in background
2020.02.16 15:52:51 3: einkDiplay01: sending HTTP request to http://10.0.0.130/EPD with data: eb
2020.02.16 15:53:05 3: einkDiplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.16 15:53:15 3: einkDiplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.16 15:53:25 3: einkDiplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.16 15:53:35 1: einkDiplay01: problems with communication to device, max retries (3) reached
2020.02.16 15:54:14 3: einkDiplay01: sending HTTP request to http://10.0.0.130/EPD with data: fb
2020.02.16 15:54:18 3: einkDiplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.16 15:54:28 3: einkDiplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.16 15:54:38 3: einkDiplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.16 15:54:48 1: einkDiplay01: problems with communication to device, max retries (3) reached
2020.02.16 15:55:22 3: einkDiplay01: sending HTTP request to http://10.0.0.130/EPD with data: fb
2020.02.16 15:55:26 3: einkDiplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.16 15:55:36 3: einkDiplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.16 15:55:46 3: einkDiplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.16 15:55:56 1: einkDiplay01: problems with communication to device, max retries (3) reached


altes PM vom 28.1.20 funktioniert (icons und upload).
LG,
Karl

eki

Kannst Du bitte mal mit folgender Version schauen, ob der Upload jetzt klappt. Bei den Icons ist das noch nicht perfekt. Aktuell habe ich es jetzt so gemacht: Wenn Du keine Farbe setzt, dann lässt die Konversion die Icons so wie sie sind. Falls eine Farbe gesetzt ist, wird die Farbe aller Icon Pixel, die Farbwerter größer 0 enthalten, auf den gegebenen Farbwert gesetzt (das funktioniert eigentlich nur sinnvoll für 2-farbige icons, ich habe aber noch keine bessere Lösung). Also schau mal, ob Du bei den Icons Farben ungleich '000000' gesetzt hast und korrigiere das.

Ridchi1980

Hallo,

ich hab ein 2.13 e-Paper mit ESP8266 und ich bekomm das bild nicht draufgeladen.
Es erscheint die Meldung: Error uploading image to device, max retries (3) reached

an welcher schraube muss ich drehen?

vg Ridchi

Jendaw

Zitat von: Ridchi1980 am 20 Februar 2020, 17:31:32
ich hab ein 2.13 e-Paper mit ESP8266 und ich bekomm das bild nicht draufgeladen.
Es erscheint die Meldung: Error uploading image to device, max retries (3) reached

Nutzt du die Original-waveshare-Firmware? Wie sieht das FHEM-Log für den Vorgang aus? Klappt der direkte Upload, wenn du den ESP8266 im Browser aufrufst?
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: Ridchi1980 am 20 Februar 2020, 17:31:32
Hallo,

ich hab ein 2.13 e-Paper mit ESP8266 und ich bekomm das bild nicht draufgeladen.
Es erscheint die Meldung: Error uploading image to device, max retries (3) reached

an welcher schraube muss ich drehen?

vg Ridchi

Um dazu etwas sagen zu können, bräuchte ich mehr Infos (FHEM device listing, Logeinträge mit verbose 4).

eki

Zitat von: eki am 17 Februar 2020, 09:37:43
Kannst Du bitte mal mit folgender Version schauen, ob der Upload jetzt klappt. Bei den Icons ist das noch nicht perfekt. Aktuell habe ich es jetzt so gemacht: Wenn Du keine Farbe setzt, dann lässt die Konversion die Icons so wie sie sind. Falls eine Farbe gesetzt ist, wird die Farbe aller Icon Pixel, die Farbwerter größer 0 enthalten, auf den gegebenen Farbwert gesetzt (das funktioniert eigentlich nur sinnvoll für 2-farbige icons, ich habe aber noch keine bessere Lösung). Also schau mal, ob Du bei den Icons Farben ungleich '000000' gesetzt hast und korrigiere das.

Da war für ESP8266 Boards leider noch ein Fehler enthalten. Bitte mit der hier angehängten Version testen, und melden, fals OK.

Ridchi1980

Zitat von: eki am 21 Februar 2020, 10:00:23
Um dazu etwas sagen zu können, bräuchte ich mehr Infos (FHEM device listing, Logeinträge mit verbose 4).
2020.02.21 16:17:22 4: Start forked process to convert output picture
2020.02.21 16:17:22 4: File /opt/fhem/www/images/2in13bc-b.png opened, sizes is 104 x 212
2020.02.21 16:17:23 4: Finished conversion in background doing automatic upload as requested
2020.02.21 16:17:23 3: Diplay01: sending HTTP request to http:///EPD with data: fa
2020.02.21 16:17:23 3: Diplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.21 16:17:23 3: Diplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.21 16:17:23 3: Diplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.21 16:17:23 1: Diplay01: problems with communication to device, max retries (3) reached
2020.02.21 16:17:33 3: Diplay01: sending HTTP request to http:///EPD with data: fa
2020.02.21 16:17:33 3: Diplay01: problems with communication to device, trying once more (1 of 3 done)
2020.02.21 16:17:33 3: Diplay01: problems with communication to device, trying once more (2 of 3 done)
2020.02.21 16:17:33 3: Diplay01: problems with communication to device, trying once more (3 of 3 done)
2020.02.21 16:17:33 1: Diplay01: problems with communication to device, max retries (3) reached

das ist der log...

oder hab ich irgendwas vergessen? Oder fehlen mir noch irgend welche Packete?

Ridchi

eki

Du hast keine URL angegeben (IP Adresse des ESP8266).

So etwas wie:

attr Diplay01 url 192.168.178.xxx

Ridchi1980

was für IP adresse? das Modul steckt doch ganz normal auf der Raspberry Pinleiste und wird über SPI angesprochen

https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(D)

Maista


eki

Zitat von: Ridchi1980 am 21 Februar 2020, 17:14:30
was für IP adresse? das Modul steckt doch ganz normal auf der Raspberry Pinleiste und wird über SPI angesprochen

https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(D)

Das Modul unterstützt leider nur die Anbindung der EInk Displays über ein ESP Modul. Das ESP ist ein Arduino kompatibler Microcontroller mit WLAN (kostet so um die 6 Euro). Wenn man auch direkt am Pi verbundene Displays unterstützen wollte, müsste man die komplette Kommunikation mit dem Device anpassen (neu machen). Ich kann mir mal überlegen, ob das machbar ist, kann aber nichts versprechen.

Ridchi1980

ich musste zum betreibern aber auch den ESP Treiber installieren... von daher dachte ich das wär das gleiche.

Jendaw

Zitat von: Ridchi1980 am 22 Februar 2020, 09:20:03
ich musste zum betreibern aber auch den ESP Treiber installieren... von daher dachte ich das wär das gleiche.

Es gibt mehrere Varianten, das Display zu betreiben:
* direkt mit einem HAT (siehe https://www.waveshare.com/wiki/E-Paper_Driver_HAT)
* WLAN via ESP8266/ESP32
* Bluetooth via ESP32

Für die HAT-Variante benötigt man keinen ESP, da die Verbindung direkt über den RPi abgewickelt wird. Dort sollten nur die Bins/Libs für WiringPi, bcm2835 und Python benötigt werden.
Ich selbst habe zwar auch die HAT-Platine, diese habe ich jedoch über einen (normalen, d.h. kein "waveshare driver board") ESP32 angeschlossen, anstatt diese auf den PI zu stecken (der wo anders wohnt als das Display).

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)

pepe_11

Zitat von: pepe_11 am 16 Februar 2020, 14:17:18
Hi,

Nach dem ich die PIN Belegung geändert habe funktioniert mein Display. :)

@Jendaw: Danke dir nochmal.

Ich 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.

VG
Peter


Internals:
   BOARDTYPE  ESP8266
   COLORMODE  monochrome
   CONVERTMODE level
   DEF        /opt/fhem/images/122x250.png 192.168.8.41 monochrome level
   DEVICETYPE 1.54inch_e-Paper_Module
   FUUID      5e483f6c-f33f-0de6-0759-eaabdf747c202e1d
   INTERVAL   level
   NAME       myEInk
   NOTIFYDEV  global,Sensor_Aussen,myEInk
   NR         863
   NTFY_ORDER 50-myEInk
   PICTUREFILE /opt/fhem/images/122x250.png
   STATE      Successfully uploaded image to device
   SUBFOLDER  images
   TYPE       ESPEInk
   URL       
   OLDREADINGS:
   READINGS:
     2020-02-16 13:35:00   1-angle         0
     2020-02-16 12:57:49   1-blockwidth    2
     2020-02-16 12:57:09   1-color         000000
     2020-02-16 12:57:08   1-def           addtext#Feuchte:#30#100#70#90#000000#/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf\
     2020-02-16 12:57:09   1-font          medium
     2020-02-16 12:57:08   1-isIcon        0
     2020-02-16 12:57:09   1-linegap       0
     2020-02-16 13:23:03   1-size          30
     2020-02-16 12:57:08   1-text          Feuchte:
     2020-02-16 13:50:08   1-x             50
     2020-02-16 13:19:02   1-y             90
     2020-02-16 13:36:48   2-angle         0
     2020-02-16 13:36:11   2-blockwidth    0
     2020-02-16 13:36:11   2-color         000000
     2020-02-16 13:36:11   2-def           textreading#Sensor_Aussen:humidity#2#55#300#90#000000#/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf\
     2020-02-16 13:36:11   2-font          medium
     2020-02-16 13:36:11   2-isIcon        0
     2020-02-16 13:36:11   2-linegap       0
     2020-02-16 13:36:11   2-size          300
     2020-02-16 13:57:58   2-text          62
     2020-02-16 13:36:11   2-trigger       Sensor_Aussen:humidity
     2020-02-16 13:49:05   2-x             103
     2020-02-16 13:50:40   2-y             85
     2020-02-16 13:36:11   deftexts        2
     2020-02-16 14:00:45   result_picture  <html><img src=/fhem/images/myEInk/result.png?dummy=724001.441024424></img><div>/fhem/images/myEInk/result.png</div></html>
     2020-02-16 14:00:40   source_picture  <html><img src=/fhem/images/myEInk/122x250.png?dummy=713277.999786399></img><div>/fhem/images/myEInk/122x250.png</div></html>
   helper:
Attributes:
   1-angle    0
   1-blockwidth 2
   1-size     30
   1-x        50
   1-y        90
   2-angle    0
   2-x        103
   2-y        85
   boardtype  ESP32
   colormode  monochrome
   convertmode level
   devicetype 2.13inch_e-Paper_HAT
   interval   30
   placement  top-left
   room       ESPEasy
   scale2fit  0
   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 2-angle 2-blockwidth 2-color:colorpicker,RGB 2-font 2-linegap 2-size 2-text 2-trigger 2-x 2-y
   verbose    1


Hallo zusammen,

Kann mir jemand einen Tip geben, warum ich diese komische Balken im Display habe? Es ist noch zu ergänzen, dass die Bilder die ich direkt über den Webserver hochlade, einwandfrei dargestellt werden (egal welche Auflösung).
Ich bin kein Entwickler aber ich könnte mir vorstellen, dass der ESPEInk Modul die LibRSVG Bibliothek zum konvertieren der Bilder in eine Vector Grafik nutzt.
Ich nutze den ESP32-Code vom Icinger, der uns den freundlicherweise zur Verfügung gestellt hat. Ich finde die ESPEInk Lösung scharmant und hätte gerne das in Action gesehen aber ich komme leider jetzt nicht weiter. :(

Gruß
Peter

eki

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.