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

eki

Ich denk mal drüber nach, wenn Rudi das vorschlägt, kann es ja nicht so falsch sein. Würde ich auf jeden Fall dann als zusätzliches Attribut "definitionFile" vorsehen.

eki

OK, hier die Version mit einem neuen Attribut "definitionFile" in welchem man einen Filenamen angeben kann, der Definition enthält (gleiche Syntax wie bei "definition").
und mit der Möglichkeit zu Kommentaren (Zeilen in "definition" oder "definitionFile", die mit "#" (oder mit Leerzeichen und dann "#") starten).

Jendaw

Zitat von: eki am 27 Februar 2020, 08:55:52
OK, hier die Version mit einem neuen Attribut "definitionFile" in welchem man einen Filenamen angeben kann, der Definition enthält (gleiche Syntax wie bei "definition").
und mit der Möglichkeit zu Kommentaren (Zeilen in "definition" oder "definitionFile", die mit "#" (oder mit Leerzeichen und dann "#") starten).
Bist du schnell, funktioniert perfekt, auch mit den Kommentaren! So kann ich die Config im Fullscreen-Editor von FHEM bearbeiten.

Zur Veranschaulichung hab ich mal meine Config sowie die verwendeten Bilder angehängt.

edit: zu früh gefreut: im Internal NOTIFYDEF befinden sich jetzt nur sehr wenige Devices, eine automatische Aktualisierung erfolgt auch nicht mehr.
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


Jendaw

Zitat von: eki am 27 Februar 2020, 09:44:26
Sieht echt gut aus, hast Du das irgendwo an der Wand hängen?
Danke. Derzeit steht es noch auf meinem Schreibtisch, da ich noch mit der Hard- und Firmware sowie FHEM spiele (Sleepmode, MQTT). Es soll jedoch in einem Ribba-Rahmen an eine zentrale Stelle installiert werden.
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)

kkoeniger

Was bedeutet die Fehlermeldung im Log:
GD Warning: one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully
gdImageCreateTrueColor error at /usr/lib/arm-linux-gnueabihf/perl5/5.28/GD/Image.pm line 86.


Sie entsteht am Flex Display 2.9" am Waveshare-ESP32 bei folgendem Code sobald ich das icon um 270 grad drehe (0° = ohne Fehler):

iconreading#cmyProPlanta:fc2_weather12Icon#10#10#30#270

Starting conversion in background bleibt stehen, aber FHEM läuft normal weiter.
LG,
Karl

kkoeniger

Gleiche Fehlermeldung bei:
addicon#fhemicon#110#250#25#270

Werden nur icons aus /opt/fhem/www/images/default für Bildchen herangezogen? SVGs (selbst bei Pfadangabe) aus /opt/fhem/www/images/fhemSVG nicht?
LG,
Karl

Maista

@Jendaw
Mein ESP8266 kam gestern.
Magst du dein Code mit Deepsleep mit mir Teilen?
Dann muss ich das Rad nicht neu erfinden ;D

Danke

Gruss Gerd

Jendaw

Zitat von: Maista am 28 Februar 2020, 19:29:08
Mein ESP8266 kam gestern.
Magst du dein Code mit Deepsleep mit mir Teilen?
Da kann ich dir leider nicht weiterhelfen, ich verwende einen ESP32 v1 mit derzeit Stock-Firmware. Der ESP8266 kann afair nur per externem Interrupt wieder aufwachen. Der ESP32 kann das von selbst, da er einen separaten ULV-Chip dafür hat, der immer läuft. In anderen Projekten verwende ich dazu einen ATTiny85 mit dem ESP8266.

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)

Maista

Ah ok.
War der Meinung du hast den esp8266 mit Deepsleep laufen.
Mit dem Esp32 klappt bei mir leider nicht Dauerhaft.
Funktioniert das den bei dir zuverlässig?

Eventuell lässt du mir dein Code zum testen zu schicken?

Dann probiere ich das selbst mit dem esp8266. Sensor mit Deepsleep hat 2 Jahre mit einem LUA-Script funktioniert und jetzt mit Espeasy.
Muss man ja nur zwei Pins verbinden.

Gruß Gerd

eki

Zitat von: kkoeniger am 28 Februar 2020, 17:05:00
Was bedeutet die Fehlermeldung im Log:
GD Warning: one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully
gdImageCreateTrueColor error at /usr/lib/arm-linux-gnueabihf/perl5/5.28/GD/Image.pm line 86.


Sie entsteht am Flex Display 2.9" am Waveshare-ESP32 bei folgendem Code sobald ich das icon um 270 grad drehe (0° = ohne Fehler):

iconreading#cmyProPlanta:fc2_weather12Icon#10#10#30#270

Ich muss mal schauen, könnte mir aber vorstellen, dass es irgendwas mit einem Berechnungsoverflow bei genau 270 hat. Was passiert denn bei 271 oder 269?

Starting conversion in background bleibt stehen, aber FHEM läuft normal weiter.

kkoeniger

Ab 132 tritt das auf. Und ab 319 funktioniert die Rotation wieder, bis 360.

Aber mache Dir keinen Stress, ich drehe einfach das zugrunde liegende Picturefile , dann wird die Rotation wieder obsolet.
LG,
Karl

eki

War kein Stress, mit der angehängten Version sollte es gehen. Da sind einige andere Änderungen drin, die ich aufgrund von ein paar Tips von Rudi gemacht habe (ich werde demnächst das Modul auch als offizielles Modul freigeben), also bitte gut testen.

Jendaw

Zitat von: Maista am 29 Februar 2020, 00:03:46
Mit dem Esp32 klappt bei mir leider nicht Dauerhaft.
Funktioniert das den bei dir zuverlässig?
Bei "dauerhaft" bin ich leider noch nicht, derzeit immer noch im Testbetrieb (am Rechner). Mein Display benötigt ein erhöhtes Timeout von min. 40s.

Zitat
Eventuell lässt du mir dein Code zum testen zu schicken?
Ich verwende noch die Originalfirmware: https://www.waveshare.com/wiki/File:E-Paper_ESP32_Driver_Board_Code.7z
Stefan hatte jedoch schon etwas in der Richtung gepostet: https://forum.fhem.de/index.php/topic,104171.msg1022935.html#msg1022935

Zitat
Dann probiere ich das selbst mit dem esp8266. Sensor mit Deepsleep hat 2 Jahre mit einem LUA-Script funktioniert und jetzt mit Espeasy.
Muss man ja nur zwei Pins verbinden.
Wie willst du das prinzipiell machen? Wann willst/musst du das Display updaten? Der ESP8266 kann nur max. ~70min schlafen, danach müsstest du etwas tun.

Ich möchte bei mir die Fenster-Status darstellen, benötige deshalb (tagsüber) lediglich einen kurzen Sleep (da würde also ein ESP8266 reichen). Nach dem Sleep würde ich per MQTT bei FHEM anfragen, ob es ein neues Bild gibt, falls nicht, geht das Display wieder schlafen. Ansonsten wird der Upload getriggert.

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)

kkoeniger

Zitat von: eki am 02 März 2020, 08:39:13
War kein Stress, mit der angehängten Version sollte es gehen. Da sind einige andere Änderungen drin, die ich aufgrund von ein paar Tips von Rudi gemacht habe (ich werde demnächst das Modul auch als offizielles Modul freigeben), also bitte gut testen.

Nach dem Einspielen des neuen Files, einem Update von FHEM und dessen Neustart ist als erstes mein 4. definiertes Display (2.9"-Flex) verschwunden. Grund? das zugrundeliegende Picturefile ist gelöscht worden?

Die drei restlichen vorhandenen Displays sind als Added as new device gekennzeichnet. Die waren doch schon vorhanden.

Edit: ESP32
LG,
Karl