Hallo zusammen,
ich habe beim günstigen China Händler ein hervorragendes Mini Touch Display gefunden und erfolgreich integriert. Ich dachte ich teile das mal mit euch, da es sich gut bspw. auf dem Tisch etc. macht und extrem flexibel ist. Versorgt per USB-C.
Es geht um folgendes Gerät:
Display Link
Hier ein Bild wie es bei mir jetzt aussieht:
Das Display habe ich mit OpenHASP umgeflasht was sehr einfach ist:
- Per USB-C an den Rechner anschließen
- Auf dieser Website https://nightly.openhasp.com/
- Dieses Gerät auswählen: Guition ESP32-S3-4848S040
- Starten und fertig.
Dann mit dem WLAN verbinden. Rest erfolgt auf der Website im File Editor:
In IpSymcon muss ein MQTT Server angelegt werden. Diese Daten müssen in der config.json im Panel eingetragen werden:
In der pages.jsonl erfolgt die Konfiguration der GUI. Es gibt sehr viele verschiedene mögliche Items die auf dieser Website aufgelistet sind. Es sind auch mehrere Seiten möglich:
https://openhasp.com/0.7.0/design/objects/
Bei mir sieht diese folgendermaßen aus:
{"page":0,"id":1,"obj":"label","x":20,"y":0,"h":40,"w":250,"text":"Außentemperatur:","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":0,"id":2,"obj":"label","x":396,"y":0,"h":40,"w":110,"text":"23.2°","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":1,"obj":"btn","x":9,"y":60,"w":465,"h":70,"toggle":true,"text":"Nachtmodus","text_font":32,"mode":"break","align":1}
{"page":1,"id":2,"obj":"btn","x":9,"y":140,"w":465,"h":70,"toggle":false,"text":"Alle Lampen aus","text_font":32,"mode":"break","align":1}
{"page":1,"id":3,"obj":"btn","x":9,"y":220,"w":465,"h":70,"toggle":true,"text":"Deckenlampe","text_font":32,"mode":"break","align":1}
{"page":1,"id":4,"obj":"slider","x":9,"y":310,"w":465,"h":30,"min":0,"max":100}
{"page":1,"id":5,"obj":"arc","x":9,"y":360,"w":110,"h":110,"min":0,"max":100,"border_side":1,"type":0,"rotation":0,"start_angle":0,"end_angle":360,"start_angle10":0,"end_angle10":360,"adjustable":false}
{"page":1,"id":7,"obj":"label","x":40,"y":390,"h":50,"w":55,"text":"0","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":1,"id":8,"obj":"label","x":140,"y":390,"h":50,"w":70,"text":"Akku","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
page0 taucht auf allen Seiten auf.
Im MQTT Server Konfigurator entsprechend die notwendigen Instanzen anlegen. Es sind nur die nötig auf die man im IPS reagieren möchte:
Dort kann man dann auf die Variablen reagieren (werden beim ersten antippen angelegt)
EDIT: Bitte nehmt die Variante in Post 5 von @kris Es klappt auch so und läuft stabiler.
Für das steuern bin ich über den Telnet Weg gegangen. Client Socket auf die (festgelegte) IP mit Port 23 anlegen. Der MQTT Pfad ist für die Commands ein anderer. Telnet war für mich einfacher.
Anbei ein Beispiel mit dem ich einen Button steuere und die Hintergrundbeleuchtung dimme (Nachtmodus):
If($IPS_VARIABLE == 29970){
$temp=getvalue(29970);
If($temp==2){
CSCK_SendText(48581, "p1b1.val=1".chr(13));
IPS_Sleep(500);
CSCK_SendText(48581, "backlight=5".chr(13));
}else{
CSCK_SendText(48581, "p1b1.val=0".chr(13));
IPS_Sleep(500);
CSCK_SendText(48581, "backlight=60".chr(13));
}
}
Ich hoffe das hilft dem ein oder der anderen.
Lg
Theo