Ich habe ESPEASY auf meinem WEMOS D1 Mini, das Auslesen der Werte in fhem mit dem ESPEasy Modul klappt auch super.
Jetzt würde ich gerne eigenen Text aus fhem auf dem Display anzeigen lassen.
Wenn ich das OLED Display als OLED 1306 definiere kann ich auch mit "set NAME oled 1 1 Test" etwas anzeigen lassen.
Aber dann habe ich auf dem Mini Display fixe 8 Zeilen.
Also habe ich das Display als 1306 framed definiert, dann kann ich die Anzahl Zeilen festlegen.
Aber es gibt dafür keinen SET Befehl, auf den von oben reagiert es nicht.
Aber es gibt ja ein eigenes "oledframecmd" zum Ein-/Aus Schalten des Displays, also müsste es doch auch ein "oledframe" geben für den Text, oder?
Als Workaround geht folgendes:
- Dummydevice in ESPEasy anlegen und in FHEM mit taskvalueset die gewünschten Werte an das Dummydevice senden
- Im Device Display Framed unter Line die Variable des Dummy Device eintragen
Hallo Christian,
kann Dir leider keinen Ratschlag zu deinem Problem geben
Aber vergiss die OLED-Displays - habe hier welche seit paar Jahren am laufen, alle stark eingebrannt und nur mit Lupe ablesbar
ESPEasy kann jetzt die ILI9341 Displays - wesentlich zukunftsträchtiger
Moin!
Man kann einen beliebigen Wert eines device auf einem "OLED SSD1306/SH1106 Framed" anzeigen mit{fhem(sprintf("set ESP_Easy_1 oledframedcmd 1 T=%.1f°C",ReadingsVal("Tecalor_Anlage","T_Aussen",99.9)))}
Will man Leerzeichen haben, muss man sie als %20 im String unterbringen. Außerdem muss der anzuzeigende Text in Anführungszeichen (%22) gefasst werden: {fhem(sprintf("set ESP_Easy_1 oledframedcmd 1 %%22T%%20=%%20%.1f%%20°C%%22",ReadingsVal("Tecalor_Anlage","T_Aussen",99.9)))}
Einfacher noch wird's als Teil eines notify, das in meinem Anwendungsfall so aussieht:
defmod ESP_Display notify Tecalor_Anlage:T_Aussen:.* set ESP_Easy_1 oledframedcmd 1 "Aussen:%20$EVTPART1%20°C"
-Franz