FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Heffa am 18 April 2017, 13:49:47

Titel: Dummy an classdef als Parameter übergeben.
Beitrag von: Heffa am 18 April 2017, 13:49:47
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
Titel: Antw:Dummy an classdef als Parameter übergeben.
Beitrag von: Thorsten Pferdekaemper am 18 April 2017, 14:23:29
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
Titel: Antw:Dummy an classdef als Parameter übergeben.
Beitrag von: Heffa am 18 April 2017, 16:38:32
Hi,

vielen Dank für den Input.

Ich werde es nachher ausprobieren.

Gruß,
Heffa