Hallo zusammen,
ich möchte die Aktuelle Außentemperatur auf ein zweizeiliges Display ausgeben.
Die Ausgabe auf dem Display klappt schon mal mit Hilfe des ECMD und EMCDevice.
Jetzt habe ich eine dummy Variable definiert und einen Wert zugewiesen (aktuelle Temperatur). Jetzt möchte ich den Wert dieser Variable an meine classdef übergeben, das klappt aber nicht wirklich.
Inhalt von FHEM.CFG
define my2LDISPLAY ECMD serial /dev/ttyUSB0
attr my2LDISPLAY classdefs 2LDISPLAYs=/opt/fhem/opt/2LDISPLAYs.classdef
define atemp dummy
define myatempNotify notify ESPEasy_ESP1_BME280.* {fhem("set atemp ".$EVTPART5)}
define 2LDISP1 ECMDDevice 2LDISPLAYs Aussen: atemp
attr 2LDISP1 IODev my2LDISPLAY
define DisplayLine at +*00:00:05 set 2LDISP1 schreiben
danach hat der Status von atemp die aktuelle Temeratur.
Die Zeile
define 2LDISP1 ECMDDevice 2LDISPLAYs Aussen: atemp
gibt aber nur den Text Aussen: atemp auf dem Display aus und nicht wie gewollt Aussen: 8.24
Inhalt von 2LDISPLAYs.classdef
params devMSG devValue
set schreiben cmd {"\f%devMSG %devValue\n"}
Ich komme einfach nicht dahinter warum es nicht klappt.
Falls jemand eine Idee hat wie ich das lösen kann würde ich mich riesig freuen.
Danke
Heffa
Hi,
also ich muss gestehen, dass ich von dem ganzen ECMD-Krams nicht viel Ahnung habe, aber ich würde es so probieren:
set schreiben cmd {"Aussen: ".ReadingsVal("atemp","state",-273)."\n"}
...oder Alternativ einfach direkt das entsprechende Reading aus dem ESPEasy_ESP1_BME280-Device verwenden.
Gruß,
Thorsten
Hi,
vielen Dank für den Input.
Ich werde es nachher ausprobieren.
Gruß,
Heffa