Moin,
ich habe ASH2200-1 Sensoren, die Temperatur und Luftfeuchtigkeit schicken.
Hier ein Beispiel:
ZitatK1169214727
27 = RSSI
Welcher Wert steckt dahinter? Normalerweiser sind die Werte in Minus. Sind sie immer im Minus?
Wäre dankbar für eine kleine Erläuterung.
Danke im Voraus.
Sven
Die Umrechnung steht in FHEM/00_CUL.pm: $rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
Erklaerung dazu bitte aus der TI Handbuch zu CC1101 entnehmen.
Danke für die Antwort.
Leider bin ich nicht so technisch versiert.
Habe mir das Modul in FHEM angesehen. Da ich Perl nicht kann, etwas schwer zu verstehen.
my $rssi;
my $dmsg = $rmsg;
if($dmsg =~ m/^[AFTKEHRStZri]([A-F0-9][A-F0-9])+$/) { # RSSI
my $l = length($dmsg);
$rssi = hex(substr($dmsg, $l-2, 2)); # Letzten beiden Stellen, wäre bei mir 27
$rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
}
Wenn man jetzt die 27 (=Dezimal) in Hex umwandelt, kommt 1B heraus. Hex 128 sind 296 Dezimal. Der Wert wird doch nie sein, denn es sind doch immer 2 Stellen, oder irre ich mich?
Vielen Dank im Voraus.
Sven
Habe die Formel verstanden. Die 27 ist ein Hex-String. Das war der Knackpunkt.
Danke für den Tipp.