Wie kann man ein "read" per ECMD "verwerten"

Begonnen von NeuFehm, 21 Dezember 2014, 19:01:34

Vorheriges Thema - Nächstes Thema

NeuFehm

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
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Icinger

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
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

NeuFehm

Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul