Hi zusammen,
da ich auf der suche nach "kleinen Smarthome Displays" war, habe ich mich nun endlich dazu entschieden 3x AZ-Touch 2,8" zu bestellen.
Als Boards braucht es zusätzlich noch etwas Leistung.
Zuerst habe ich es mit ESP32 Dev Kit v4 versucht, geht zwar, aber eher schlecht als recht. Zu wenig Leistung.
Daher habe ich nun 3x ESP32-S3 DevKit C (16MB Flash / 8MB PSRAM) dazu geordert.
Diese sind nicht ganz einfach zu bekommen, aber über ebay bekommt man fast alles
!!! Wichtig ist der PSRAM !!!
Da die Pinouts nicht mit der AZ-Touch Platine kompatibel ist, muss hier alles von Hand gelötet werden. War aber nicht allzu schwierig.
Nach einigem rumsuchen und vergleichen habe ich mir eine Tabelle erstellt, für das richtige Mapping.
Dazu müssen die Kontakte vom ESP32 (Pinouts auf dem AZ-Touch) auf die Pinouts vom ESP32-S3 übertragen werden.
Hier meine Tabelle, und ein Bild der fertigen Verdrahtung:
Ich habe zusätzlich noch einen AM312 (PIR) ins Gehäuse geklebt, damit das Display Automatisch AN/AUS geht.
Damit passt dann schonmal die Hardware.
Als Software nutze ich Tasmota. Die passende Firmware habe ich selbst kopiliert.
(v12.4.0):
tasmota32s3-display.factory.bin
tasmota32s3-display.bin
(v12.5.0) - bisher leider probleme mit dieser Version :
tasmota32s3-display.factory.bin
tasmota32s3-display.bin
Hier die Tasmota Vorlage:
{"NAME":"Display","GPIO":[1,1,1,1,164,1,480,448,7264,800,768,704,736,672,1024,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,6210,1],"FLAG":0,"BASE":1}
Für den BWM:
switchmode5 13
Nun braucht es noch die "Programmierung". Hierzu folgende Dateien unter "Konsole" -> "Verwalte Dateisystem" speichern:
für Display Hochkant (das werde ich als erstes nutzen)
display.ini
:H,ILI9341,320,240,16,SPI,1,*,*,*,*,*,*,*,20
: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,28,00,00,05
:1,88,00,00,01
:2,E8,00,00,02
:3,48,00,00,03
:r,3
:i,20,21
:TS,*
:M,3946,401,3828,241
#
Für Landscape muss die letzte Zeile abgeändert werden in:
:M,3946,401,241,3828
und Zeile 34 (r,3) löschen
Grafische Vorlage:
autoexec.be
solltet ihr keine BWM benutzen, ist der obere Teil für eine Touch Steuerung.
pages.jsonl
Bei den Buttons wird der Status per MQTT abgefragt und farblich gekennzeichnet.
Auch das Senden der Befehle erfolgt via MQTT.
Hierzu habe ich im ioBroker folgende Struktur angelegt:
mqtt.0.Displays.ExterneWerteSenden
mqtt.0.Displays.Allgemein.Hauptschalter
Der Datenpunkt wird per blockly aktualisiert/gesendet:
<block xmlns="https://developers.google.com/blockly/xml" type="on" id="t~Mi$uox`;Cm9dLfGF#E" x="88" y="347">
<field name="OID">mqtt.0.stat.Hauptschalter.POWER</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="control" id="Vg!#+da!O1~Y+K/BnwT5">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">mqtt.0.Displays.Allgemein.Hauptschalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="on_source" id="]AsN,Cs-N75T!9m3Dbfj">
<field name="ATTR">state.val</field>
</block>
</value>
</block>
</statement>
</block>
Grüße