ILI9341 an ESP32 oder ESP8266 mit Tasmota 14.5.0

Nach stundenlangem try and error funktioniert endlich alles.
Da man im Netz über ILI9341 an ESP mit Tasmota wenig findet, hier alles Wissenwerte, das hoffentlich anderen hilft.
Es gibt unterschiedliche ILI9341, mit und ohne Touch. Warum das so wichtig ist kommt später.
ILI9341 an ESP8266 hat wohl irgendwann mal funktioniert, aber nur bis Tasmota 13.xx, da es hier noch die Auswahl bei GPIO ILIxxx gab. Bei mir hat es mit Wemos Mini ESP8266 und Tasmota 13.xx nicht funktioniert.
Ab Tasmota 13.4 kann man die ILIxx bei den GPIO´s nicht mehr auswählen und so klappt es derzeit, zumindest bei mir:
ILI9341 mit ESP32 verbinden, Tasmota Display flashen und ensprechend die GPIO´s zuordnen. Dann bei einem freien GPIO folgendes auswählen:
Option A und daneben 3. Noch bleibt das Display dunkel.

Jetzt noch folgendes machen:
Tools - Manage Filesystem display.ini hochladen und hier wird´s tricky:

display.ini bei ILI mit Touch:

:H,ILI9341,240,320,16,SPI,1,*,*,*,*,*,*,*,40
:S,2,1,1,0,40,20
:I
EF,3,03,80,02
CF,3,00,C1,30
ED,4,64,03,12,81
E8,3,85,00,78
CB,5,39,2C,00,34,02
F7,1,20
EA,2,00,00
C0,1,23
C1,1,10
C5,2,3e,28
C7,1,86
36,1,48
37,1,00
3A,1,55
B1,2,00,18
B6,3,08,82,27
F2,1,00
26,1,01
E0,0F,0F,31,2B,0C,0E,08,4E,F1,37,07,10,03,0E,09,00
E1,0F,00,0E,14,03,11,07,31,C1,48,08,0F,0C,31,36,0F
11,80
29,80
:o,28
:O,29
:A,2A,2B,2C,16
:R,36
:0,48,00,00,00
:1,28,00,00,01
:2,88,00,00,02
:3,E8,00,00,03
:i,20,21
#

und display.ini bei ILI ohne Touch:

:H,ILI9341,320,240,16,SPI,1,*,*,*,*,*,*,*,40
:S,2,1,1,0,40,20
:I
EF,3,03,80,02
CF,3,00,C1,30
ED,4,64,03,12,81
E8,3,85,00,78
CB,5,39,2C,00,34,02
F7,1,20
EA,2,00,00
C0,1,23
C1,1,10
C5,2,3e,28
C7,1,86
36,1,48
37,1,00
3A,1,55
B1,2,00,18
B6,3,08,82,27
F2,1,00
26,1,01
E0,0F,0F,31,2B,0C,0E,08,4E,F1,37,07,10,03,0E,09,00
E1,0F,00,0E,14,03,11,07,31,C1,48,08,0F,0C,31,36,0F
11,80
29,80
:o,28
:O,29
:A,2A,2B,2C
:R,36
:0,48,00,00,00
:1,28,00,00,01
:2,88,00,00,02
:3,E8,00,00,02
#

Der Unterschied ist gering, aber verwendet man die display.ini mit Touch beim ILI ohne Touch, dann hat man Pixelfehler. Warum, konnte ich in der Tasmota Doku nicht herausfinden.

Und hier noch was zum Testen und Rüberkopieren in die Console:

displaytext [zf1s4y0C50712]Font1.4[f2s2y50C63519]Font2.2[f3s4y100C45029]Font3.4[f4s2y150C50712]Font4.2[f5s4y220C63488]Font5.4[f6s3y260C64800]Font6.3

Neue Erkenntnisse:
Ich betreibe das ILI9341 an einem ESP WROOM 32.
Die Anschlüsse des ILI habe ich mit den GPIO´s des ESP verbunden und entsprechend zugewiesen. Startet man den ESP neu, ist das Display nur weiss.
Wenn ich aber auf dem GPIO 4 I2C SDA einstelle und auf dem GPIO 5 I2C SCL - beide sind frei, also nicht angeschlossen - dann funktioniert alles und beim Start steht auf der Console:
00:00:00.043 CFG: Loaded from File, Count 451
00:00:00.052 QPC: Count 1
00:00:00.055 SPI: Bus1 using GPIO25(CLK), GPIO26(MOSI) and GPIO32(MISO)
00:00:00.056 I2C: Bus1 using GPIO05(SCL) and GPIO04(SDA)
00:00:00.091 BRY: Berry initialized, RAM used 3144 bytes
00:00:00.672 DSP: ILI9341 initialized

Löscht man nun beide I2C Einträge und startet neu, also auf RESTART klicken, dann funktioniert immer noch alles. Macht man den ESP jedoch stromlos und startet neu, dann ist das Display wieder weiss. Verstehe ich nicht.

Das ist deswegen blöd, da ich zusätzlich einen BH1750 anschließen möchte, was jedoch nicht funktioniert. Gibt man auf der Console I2CSCAN ein, wird das Display komplett hell und nichts geht mehr.

Liegt es am ESP WROOM 32?

Mit selber kompilierten BIN´s klappt es auch nicht. Wrong Chip ID, invalid header usw.