FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Ralf9 am 05 Februar 2019, 21:56:59

Titel: Signalduino: Kühlschrankthermometer NC-3911-675
Beitrag von: Ralf9 am 05 Februar 2019, 21:56:59
Hier sind raw-Nachrichten von @Harst
MU;P0=252;P1=-478;P2=497;P3=-237;P4=-960;P5=737;P6=-727;CP=0;D=0123232323232301230101012301232301010101232301010123232301012323010104565656560123012323232323230123010101230123230101010123230101012323230101232301010456565656012301232323232323012301010123012323010101012323010101232323010123230101045656565601230123232323232301230101012301232301010101232301010123232301012323010104565656560123012323232323230123010101230123230101010123230101012323230101232301010456565;
MU;P0=-235;P1=496;P2=253;P3=-479;P4=-957;P5=743;P6=-720;CP=2;D=0102310232323102310102323231023101010231023232323101023232456565656232323102323102310231023232310231010232323102310101023102323232310102323245656565623232310232310231023102323231023101023232310231010102310232323231010232324565656562323231023231023102310232323102310102323231023101010231023232323101023232456565656232323102323102310231023232310231010232323102310101023102323232310102323245656565623232310;
MU;P0=-475;P1=747;P2=-719;P3=1080;P4=501;P5=-233;P6=257;P7=-954;CP=6;D=01210324545604545604560456045606060456045456060604560604560604545606060454560606712121212454560454560456045604560606045604545606060456060456060454560606045456060671212121245456045456045604560456060604560454560606045606045606045456060604545606067121212124560604545606060456045606060456045456060604560604560604545606060454560606712121212454560454560456045604560606045604545606060456060456060454560;


Mit der dritten MU-Nachricht ergibt sich mit 7 als Trenner:
12121212 454560454560456045604560606045604545606060456060456060454560606045456060 67
12121212 454560454560456045604560606045604545606060456060456060454560606045456060 67
12121212 456060454560606045604560606045604545606060456060456060454560606045456060 67

damit
Clock = 250
preamble: 12121212
start 12 -> 747 -719  [3, -3]
one   45 -> 501 -233  [2, -1]
zero  60 -> 257 -475  [1, -2]


ergibt sich dann die folgende Protokolldefinition. One und Zero müssen evtl getauscht werden.

"38" => ##
{
name         => 'NC-3911-675',
comment      => 'refrigerator thermometer',
changed      => '20190205 new, 20181216 old moved to ID 0.1',
id           => '38',
one          => [2,-1],
zero         => [1,-2],
start        => [3,-3,3,-3],
clockabs     => 250,
format       => 'twostate',
preamble     => 'u38#',
#clientmodule => '',
#modulematch => '^P38#.*',
length_min   => '36',
length_max   => '36',
}



2019.02.05 21:34:45.483 4 : sduinoD/msg get raw: MU;P0=-475;P1=747;P2=-719;P3=1080;P4=501;P5=-233;P6=257;P7=-954;CP=6;D=01210324545604545604560456045606060456045456060604560604560604545606060454560606712121212454560454560456045604560606045604545606060456060456060454560606045456060671212121245456045456045604560456060604560454560606045606045606045456060604545606067121212124560604545606060456045606060456045456060604560604560604545606060454560606712121212454560454560456045604560606045604545606060456060456060454560;
2019.02.05 21:34:45.484 4 : sduinoD: Fingerprint for MU Protocol id 38 -> NC-3911-675 matches, trying to demodulate
2019.02.05 21:34:45.484 5 : sduinoD: Starting demodulation (StartStr: 1212 cut Pos 81; Signal: (?:45|60){36,}(?:4|6)? Pos 4) length_min_max (36..36) length=36
2019.02.05 21:34:45.484 5 : sduinoD: dispatching bits: 110110101010001011000100100110001100 with anzPadding=3
2019.02.05 21:34:45.484 4 : sduinoD: decoded matched MU Protocol id 38 dmsg u38#DAA2C498C length 36
2019.02.05 21:34:45.484 5 : sduinoD Dispatch: u38#DAA2C498C0, test ungleich: disabled
2019-02-05 21:34:45.490 SIGNALduino sduinoD DMSG u38#DAA2C498C


Dies ist der einfache Teil, nun muss mit Messreihen rausgefunden werden was die einzelnen Bits bedeuten
Es kann auch getestet werden ob sich beim Drücken der Resettaste oder Batteriewechsel die Bits am Anfang ändern.
110110101010001011000100100110001100

Gruß Ralf