FHEM Forum

Verschiedenes => Bastelecke => Thema gestartet von: joschi2009 am 07 Januar 2019, 17:45:26

Titel: universelles MQTT-Display
Beitrag von: joschi2009 am 07 Januar 2019, 17:45:26
Hallo zusammen,

hier möchte ich mein MQTT-Display kurz vorstellen:

Es besteht aus einem Wemos D1 mini und einem 1.8" TFT Modul. Auf dieses Display lassen sich per MQTT-Protokoll Daten übertragen und Oberflächen anlegen. Daher ist es ideal um Daten aus fhem zu visualisieren.

Bisher sind folgende Befehle möglich:

Rechtecke zeichnen:

topic:
<displayname>/rectangle

message:
<posx>,<posy>,<Länge>,<Breite>,<Farbe>

display1/rectangle 0,0,10,10,green

würde auf dem Display1 ein Rechteck beginnend an Position 0,0 mit der Pixellänge und Pixelbreite von jeweils 10 Pixel mit der Farbe Grün zeichnen.

Linien zeichnen:

topic:
<displayname>/line

message:
<posx0>,<posy0>,<posx1>,<posy1>,<Farbe>

display1/line 0,0,10,10,blue

würde auf dem Display1 eine Linie beginnend an Position 0,0 zur Position 10,10 mit der Farbe Blau zeichnen.

Text schreiben:

topic:
<displayname>/text

message:
<Textnummer>,<posx0>,<posy0>,<Größe>,<Text>,<Textfarbe>,<Hintergrundfarbe>

display1/text 1,0,0,1,DeinText,yellow,black

würde auf dem Display1 einen Text beginnend an Position 0,0 mit der Größe 1x8 Pixel Höhe mit der Farbe Gelb zeichnen.
Die Textnummer und die Hintergrundfarbe sind nötig um später den Text überschreiben zu können.

Display dimmen:

topic:
<displayname>/brightness

message:
<Wert (0-100)>

display1/bightness 10

dimmt das Display auf 10%


Display Ausrichtung ändern:

topic:
<displayname>/rotate

message:
<Wert 0-3>

display1/rotate 1

setzt das Display ins Querformat, 2 auf Hochformat über Kopf, 3 auf Querformat über Kopf. Standard ist 0 = Hochformat.

Farben:

white, green grey, yellow, blue, red, black, cyan, magenta oder als Dezimalzahl im RGB565-Format.




Daten aus fhem auf das Display schreiben (ich setze eine angelegte MQTT_GENERIC_BRIDGE voraus):

in dem Device mit den zu publishenden Daten ein userReadings anlegen:

attr <device> userReadings <readingsname>  {"<Textnummer>,<posx>,<posy>,<Textgröße>,".ReadingsVal('<device>','<reading>','').",<Textfarbe>,<Hintergrundfarbe>"}

zum Beispiel:

attr MYSENSOR_100 userReadings publish {"1,20,20,2,".ReadingsVal('MYSENSOR_100','temperature','').",blue,black"}

danach Attribut zum publishen anlegen :

attr <device> mqttPublish <readingsname>:topic=<topic>

zum Beispiel:

attr MYSENSOR_100 mqttPublish publish:topic=display1/text

Ändert sich nun das Reading "temperature" des Device "MYSENSOR_100" wird der Wert auf das Display geschrieben (oder aktualisiert).

Die Readings eines HM-IP_Ventils gepublisht an <displayname>/hmventil ergeben die im Bild zu sehende Anzeige.

Beispiel:

attr mqttPublish HmIP_eTRV_B1_12345678901 *:topic={"display1/hmventil/$name"}

Hardware:

Verbindungen:

wemos D1 ---------- TFT Display

D0--------------------1-RST
D1--------------------2-CS
D2--------------------3-D/C
D5--------------------5-CLK
D6--------------------7-BL
D7--------------------4-DIN
3.3V------------------6-VCC
GND------------------8-GND

Wemos D1 (https://de.aliexpress.com/item/D1-mini-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-by/32651747570.html)

Display (https://de.aliexpress.com/item/LCD-Module-Display-PCB-Adapter-1-8-inch-Serial-SPI-TFT-Power-IC-SD-Socket-128X160/32587604028.html)

Software im Anhang (noch im Betastatus).




Titel: Antw:universelles MQTT-Display
Beitrag von: joschi2009 am 07 Januar 2019, 17:45:47
reserved
Titel: Antw:universelles MQTT-Display
Beitrag von: joschi2009 am 07 Januar 2019, 17:46:09
reserved2
Titel: Antw:universelles MQTT-Display
Beitrag von: juergs am 07 Januar 2019, 22:23:10
Hallo joschi2009,

da bin ich mit dem gleichen Display auf dem Wemos + MapleMini unterwegs:
https://forum.fhem.de/index.php/topic,78619.msg881365.html#msg881365 (https://forum.fhem.de/index.php/topic,78619.msg881365.html#msg881365)
Gut an Deinem Display ist, dass die LED-Hintergrundbeleuchtung herausgeführt ist.

Da ich auch eine Anzeige implementiere, würde mich auch Dein Code interessieren ...  :D

Grüße,
Jürgen
Titel: Antw:universelles MQTT-Display
Beitrag von: joschi2009 am 08 Januar 2019, 01:03:38
Hallo Jürgen,

hast eine PM

Viele Grüße

joschi2009
Titel: Antw:universelles MQTT-Display
Beitrag von: pc1246 am 08 Januar 2019, 08:02:48
Moin Joschi
Magst du uns verraten, wo Du das Display her hast?
Gruss Christoph
Titel: Antw:universelles MQTT-Display
Beitrag von: schka17 am 08 Januar 2019, 08:50:23
waäre auch an einer Bezugsquelle des Displays und dem Code interessiert.

Gruß

Karl
Titel: Antw:universelles MQTT-Display
Beitrag von: schwatter am 08 Januar 2019, 09:03:23
Oben auf Display drücken. Dann öffnet sich ein Link zu Ali :D
Titel: Antw:universelles MQTT-Display
Beitrag von: pc1246 am 08 Januar 2019, 09:38:37
Zitat von: schwatter am 08 Januar 2019, 09:03:23
Oben auf Display drücken. Dann öffnet sich ein Link zu Ali :D
Moin
Wie blind muss man sein! Danke
Gruss Christoph