FHEM Forum

FHEM => Sonstiges => Thema gestartet von: NeuFehm am 21 Dezember 2014, 19:01:34

Titel: Wie kann man ein "read" per ECMD "verwerten"
Beitrag von: NeuFehm am 21 Dezember 2014, 19:01:34
Bin noch blutiger Anfänger und habe leider keine superkompatiblem Geräte,
nochdazu habe ich ne RS485 weil ich kein FUNK mag, ABER ;)

Habe mein ECMD Device, ein Termometer (mytermo) an Fhem erfolgreich angebunden.
Um eine Temperatur zu messen, muss man einen Befehl hinschicken.
Das mache ich mit meiner classdef: set temp cmd {chr(35).chr(84).chr(36).chr(97).chr(13).chr(10)}

Im Logfile sehe ich:
2014.12.20 21:53:57 3: mytermo: write "#T$a\r\n"
2014.12.20 21:53:58 3: mytermo: read "!T$a;\000;\000;\000;\000;\r\n"

Das klapt schon mal prima. Von der Antwort interessiert mich nur das "a" an 4. Stelle, genauer gesagt, dessen ASCII-Wert
Wie kann ich nun Fhem "sagen", dass es die Antwort verwerten soll?
meine Versuche sind beide leer:
a) set temp postproc {$_= ord(substr($_,5,1))
b) set temp postproc {$_)

ist "$_" überhaupt die richtige Variable, die von dem ECMD-Device zurückkommt?

LG Mirko
Titel: Antw:Wie kann man ein "read" per ECMD "verwerten"
Beitrag von: betateilchen am 21 Dezember 2014, 19:39:11
und warum musstest Du dafür jetzt noch einen weiteren Thread aufmachen?

http://forum.fhem.de/index.php/topic,30684.0.html
Titel: Antw:Wie kann man ein "read" per ECMD "verwerten"
Beitrag von: Icinger am 21 Dezember 2014, 19:59:55
a) set temp postproc {$_= ord(substr($_,5,1))
b) set temp postproc {$_)


Also, wie DAS mit dieser Klammerstellung funktionieren sollte, ist mir ein Rätsel.

Aber als Tip:
set rgb postproc {my $d=shift;;CheckFrame("%NAME",$d)}

Das funktioniert so bei mir......Zusammenreimen darfst dir das selber  :-X

lg, Ici
Titel: Antw:Wie kann man ein "read" per ECMD "verwerten"
Beitrag von: NeuFehm am 21 Dezember 2014, 22:52:24
hab Die Lösung in den anderen Beitrag geschrieben.

http://forum.fhem.de/index.php/topic,30684.0.html