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
und warum musstest Du dafür jetzt noch einen weiteren Thread aufmachen?
http://forum.fhem.de/index.php/topic,30684.0.html
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
hab Die Lösung in den anderen Beitrag geschrieben.
http://forum.fhem.de/index.php/topic,30684.0.html