Autor Thema: ESP8266 WiFi Color Display mit FHEM verwenden  (Gelesen 6091 mal)

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #15 am: 11 Dezember 2018, 18:15:05 »
Da gibt es keine Fehlermeldung. Das Display zeigt halt nur die Startseite an mit dem Fhem Logo und dem WiFi connect, dann geht's nicht weiter.

Aber ich suche mal weiter

Gruß und danke

Markus
« Letzte Änderung: 11 Dezember 2018, 18:19:32 von Markus. »

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #16 am: 11 Dezember 2018, 20:20:19 »
Hast du die entsprechenden Libraries installiert?

Folgende Libraries sind erforderlich:
- Mini Grafx by Daniel Eichhorn
- FHEM by Philipp Pfeiffer
- simpleDSTadjust by neptune2
- XPT2046 TouchScreen by Paul Stoffregen

Das habe ich leider bisher unzureichend dokumentiert.

Grüße und viel Erfolg weiterhin,
Philipp
« Letzte Änderung: 11 Dezember 2018, 21:42:04 von kingmathers »
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #17 am: 11 Dezember 2018, 21:05:03 »
Hallo Philipp,

Ja die libs habe ich alle drin. Denke es ist ein Hardwareproblem in Bezug auf die richtige zurordnung der Pins. Bin ja von 0–Anzeige schon mal soweit, das es wenigstens den Initialisierungs–Screen mit dem FHem Logo anzeigt. Ich probiere morgen mal den TFT—Rst auf einen pin zu legen und suche mal nach dem define dafür. versuch macht klug..;-)

Gruß

Markus

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #18 am: 13 Dezember 2018, 11:39:35 »
habe nochmal ein wenig nachgeforscht... Ich glaube ich muss andere Libaries verwenden umdas so mit diesem LOLIN TFT Display ans laufen zu bekommen. Hier der Hinweis macht mich ein wenig stutzig..

https://wiki.wemos.cc/tutorials:shields:get_started_with_tft_2.4_shield

Gruß

Markus

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #19 am: 13 Dezember 2018, 15:39:36 »
Das ist komisch, eigentlich scheint die Hardware identisch zu sein. Vor allem da du schon den Ladebildschirm anzeigen konntest.

Funktioniert die Wetterstation denn bei dir?

Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #20 am: 13 Dezember 2018, 15:49:20 »
habs hin bekommen ;-)

Die Hardware scheint unterschiedlich zu sein. Es liegt glaube ich am IRQ und dem D0 sowie der Definition im Sketch mit dem reset. Hab ein paar Sachen im Sketch geändert und nun läufts erstmal. Ich Beschreib das noch genauer wenn ich fertig bin mit spielen. Hab das eigentlich nur gemacht weil ich zu geizig war fast 30$ dafür zu zahlen.. ;-)
Wenn das so funktioniert, könnte man ja supergeniale WLAN-Touch-Taster draus bauen. Muss nur noch schön in ein UP-Gehäuse verpackt werden..

Viiiielen Dank für deine Hilfe erstmal !!

Gruß

Markus
« Letzte Änderung: 13 Dezember 2018, 15:53:13 von Markus. »

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #21 am: 13 Dezember 2018, 16:16:06 »
Freut mich, dass es klappt.

Ich möchte das Display ebenfalls als WLAN Infodisplay/Touch Taster nutzen. Die UI (Buttons, wo welcher Text steht etc.) muss man sich natürlich selbst zusammenbasteln je nach Anwendung.

Ich bin ebenfalls noch auf der Suche nach einem Gehäuse. Zum 3D-drucken habe ich zwar ein paar für den Bildschirm gefunden, aber ich fürchte der Micro USB Anschluss ist dann nicht zu erreichen (je nachdem wie man den Wemos angebracht hat) und zum Unterputzeinbau ist es damit auch viel zu groß.

Grüße,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #22 am: 13 Dezember 2018, 18:35:36 »
kannst Du mir nochmal auf die Sprünge helfen.. stehe daauf dem Schlauch wie man einen Wert von einem Device im Status
direkt abfragt.
Es soll im Status 1 der Wert des Readings "temperature" aus dem device "MYSENSOR_103" abgefragt werden.


Status1 = "Status 1\nStatus: "+ fhemclient.LoadFromServer("{temperature(\"MYSENSOR_103\")}");

Im Log bekomme ich dann nur

2018.12.13 18:30:57 1: ERROR evaluating {temperature("MYSENSOR_103")}: Undefined subroutine &main::temperature called at (eval 613958) line 1.

Gruß

markus

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #23 am: 13 Dezember 2018, 19:05:32 »
Du musst ReadingsVal oder Value verwenden. Folgendes Gerät als Beispiel:
Internals:
   NAME       MYSENSOR_103
   STATE      done
   READINGS:
     2018-12-11 12:41:24   temperature   20

Jetzt kann man mit Value("MYSENSOR_103") den State auslesen und mit ReadingsVal("MYSENSOR_103", "temperature", "0") verschiedenen Readings auslesen.

Status1 = "Status 1\nStatus: "+ fhemclient.LoadFromServer("{Value(\"MYSENSOR_103\")}"); // liefert den State, hier done
Status1 = "Status 1\nStatus: "+ fhemclient.LoadFromServer("{ReadingsVal(\"MYSENSOR_103\", \"temperature\", \"0\" )}"); // liefert das Readings Temperatur, hier 20

ReadingsVal benötigt 3 Argumente: Geräte Name, Readings Name und den Standardwert (falls das Readings nicht gefunden wird). Value benötigt nur den Namen des Geräts als Argument.

Zum testen kannst du all diese Befehle (mit geschweiften Klammern, aber ohne \ vor ") auch direkt bei FHEM in der Weboberfläche als Befehl eingeben. Die geschweiften Klammern werden benötigt, weil es sich um Perl-Ausdrücke handelt. Direkte FHEM Befehle (set Licht on) kannst du auch direkt übergeben:

Status1 = "Status 1\nStatus: "+ fhemclient.LoadFromServer("set Licht on"); //hier wird nichts zurückkommen, aber der Befehl wird an FHEM gesendet und ausgeführt
« Letzte Änderung: 13 Dezember 2018, 19:32:22 von kingmathers »
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #24 am: 13 Dezember 2018, 19:28:05 »
mmh bekomme einen Fehler im Log..undefined Subroutine

2018.12.13 19:25:42 1: ERROR evaluating {RedaingsVal("MYSENSOR_103", "humidity", "0" )}: Undefined subroutine &main::RedaingsVal called at (eval 615794) line 1.

Der Status sieht wie folgt aus..

Status1 = "Wohnzimmer\nTemperatur: " + fhemclient.LoadFromServer("{RedaingsVal(\"MYSENSOR_103\", \"temperature\", \"0\" )}");
Auf dem Display zeigt er auch statt dem Wert "undefined Subroutine" an
Eine Idee?

Gruß

Markus

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #25 am: 13 Dezember 2018, 19:31:26 »
Da habe ich mich leider verschrieben. "ReadingsVal" statt "RedaingsVal", dann sollte es klappen.

Grüße und weiterhin viel Erfolg,
Philipp
« Letzte Änderung: 14 Dezember 2018, 00:35:31 von kingmathers »
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

Offline Markus.

  • Sr. Member
  • ****
  • Beiträge: 881
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #26 am: 13 Dezember 2018, 19:55:12 »
Ohhh Mann copy und Paste statt mal zu lesen ;-) ich Depp
Danke dir, werde es morgen probieren.

Viele Grüße

Markus

Offline locutus

  • Sr. Member
  • ****
  • Beiträge: 844
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #27 am: 14 Juli 2020, 22:33:57 »
Wie können mit der FHEM Arduino Library beliebige Zeichen direkt hinter einem Wert gesetzt werden?
Warum entsteht hier nach dem Temperaturwert (21.6) erneut ein Zeilenumbruch, der °C in die nächste Zeile befördert?
Status1 = "Schlafzimmer\nTemperatur: " + fhemclient.LoadFromServer("{ReadingsVal(\"LaCrosse_01\", \"temperature\", \"0\" )}") + " °C";genauso wie:
Status1 = fhemclient.LoadFromServer("{ReadingsVal(\"LaCrosse_01\", \"temperature\", \"0\" )}");
...
gfx.setTextAlignment(TEXT_ALIGN_LEFT);
gfx.drawString(0, 24, "Temperatur: ");
gfx.drawString(120, 46, Status1 + " °C");
stellt auf dem Display dar:
Schlafzimmer
Temperatur: 21.6
°C
und nicht wie gefordert:
Schlafzimmer
Temperatur: 21.6 °C

Offline kingmathers

  • Full Member
  • ***
  • Beiträge: 284
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #28 am: 14 Juli 2020, 22:57:41 »
Hier hatten wir mal ein ähnliches Problem, anscheinend wird teilweise ein Zeilenumbruch eingefügt. Durch löschen des letztens Zeichens sollte sich das beheben lassen, also quasi so:

Status1 = fhemclient.LoadFromServer("{ReadingsVal(\"LaCrosse_01\", \"temperature\", \"0\" )}");
Status1.remove(Status1.length() - 1,  1);
...
gfx.setTextAlignment(TEXT_ALIGN_LEFT);
gfx.drawString(0, 24, "Temperatur: ");
gfx.drawString(120, 46, Status1 + " °C");

So könnte es klappen.
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline FischFuss

  • New Member
  • *
  • Beiträge: 7
Antw:ESP8266 WiFi Color Display mit FHEM verwenden
« Antwort #29 am: 29 August 2021, 10:58:45 »
Hier hatten wir mal ein ähnliches Problem, anscheinend wird teilweise ein Zeilenumbruch eingefügt. Durch löschen des letztens Zeichens sollte sich das beheben lassen, also quasi so:

Status1 = fhemclient.LoadFromServer("{ReadingsVal(\"LaCrosse_01\", \"temperature\", \"0\" )}");
Status1.remove(Status1.length() - 1,  1);
...
gfx.setTextAlignment(TEXT_ALIGN_LEFT);
gfx.drawString(0, 24, "Temperatur: ");
gfx.drawString(120, 46, Status1 + " °C");



So könnte es klappen.

Genauso klappt das bei mir  :D

Allerdings ist mir die Schrift etwas zu klein. Kann mir jemand sagen, wie ich die Schriftgröße ändern kann....am besten für "Temperatur" und Status1 separat?

Danke für Eure Hilfe

*EDIT*
...habs selbst rausgefunden:
Über die entsprechende Zeile "gfx.setFont(ArialRoundedMTBold_14);" setzen, wöbei die Zahl die Textgröße ist
« Letzte Änderung: 29 August 2021, 13:00:37 von FischFuss »