Revolt NC-5462 an FHEM

Begonnen von fh168, 01 Mai 2013, 14:08:26

Vorheriges Thema - Nächstes Thema

PumpkinEater

Kann man die Prüfsumme und die 7bit-Folge eigentlich in den FHEM-Logs (verbose=5) finden?

Ich sehe dort zwar z.B. den Eintrag
CUL/RAW: /r3EF0EA003F32035C3B0292FA^M
und hatte angenommen, dass "FA" das Prüfbyte ist, aber ich komme beim addieren der 11 Bytes nicht auf die Summe, sondern auf "B7".

Gruß
Peter

owagner

#61
Hm, das mit der Plausi hilft auch nur bedingt:

UPTIME:34776 VCC:4877 OK:53319 CHKERROR:3228 SHORT:5385 LONG:2461 IMPLAUSIBLE:9
DID:415c V:228 C:0.48 F:50 P:102.5 PF:0.93 E:5.66 CERR:916 PERR:1 AGE:2
DID:67ae V:229 C:0.14 F:50 P:16.6 PF:0.53 E:4.65 CERR:62 PERR:0 AGE:1
DID:6ec8 V:226 C:0.02 F:50 P:3.4 PF:0.72 E:3.72 CERR:968 PERR:6 AGE:2
DID:4e8b V:228 C:0.09 F:50 P:8.6 PF:0.42 E:1.52 CERR:98 PERR:1 AGE:3
DID:0a7a V:228 C:0.41 F:50 P:49.3 PF:0.53 E:10.97 CERR:29 PERR:0 AGE:2
DID:3d83 V:229 C:0.00 F:50 P:0.0 PF:0.00 E:0.04 CERR:35 PERR:0 AGE:1
DID:eeeb V:232 C:0.09 F:50 P:8.7 PF:0.43 E:1.46 CERR:0 PERR:0 AGE:18168
DID:4154 V:230 C:0.00 F:50 P:0.6 PF:1.08 E:5.63 CERR:7 PERR:0 AGE:1368
DID:8afa V:228 C:0.41 F:50 P:49.3 PF:0.53 E:10.97 CERR:0 PERR:0 AGE:58


4154 ist ein Artefakt von 415c, eeeb ist ein Artefakt von 4e8b, 8afa ein Artefakt von 0a7a...

PF <= 1.00 kann noch als Bedingung rein, denke ich.

mehf

Zitat von: PumpkinEater am 18 November 2013, 19:28:07
Kann man die Prüfsumme und die 7bit-Folge eigentlich in den FHEM-Logs (verbose=5) finden?

Ich sehe dort zwar z.B. den Eintrag
CUL/RAW: /r3EF0EA003F32035C3B0292FA^M
und hatte angenommen, dass "FA" das Prüfbyte ist, aber ich komme beim addieren der 11 Bytes nicht auf die Summe, sondern auf "B7".

Gruß
Peter
Hallo Peter,

das "FA" also der letzte Byte ist der RSSI-Wert. Für die vollständige message inklusive der Prüfbytes musst du den CUL in den "debug" Modus versetzen (z.B. "X27").
Gruß
mehf

PumpkinEater

Hallo mehf,
vielen Dank, hat geklappt. Eine Idee bzgl. der Bedeutung der 7bit habe ich bislang leider auch noch nicht. Gibt es vielleicht ähnliche Protokolle, die solche Bytes aufweisen?

Gruß
Peter

PumpkinEater

Könnte es sich bei den letzten 8+8 bit um einen CRC-Wert handeln? Also CRC15 oder CRC16? Auf der Seite http://sitsec.net/blog/2012/02/10/brute-forcing-crc-parameters/ gibt es ein "BruteForce"-Tool, um die Polynome zu ermitteln. Ich hab's mal probiert, aber so richtig komme ich damit auch nicht weiter.
Gruß
Peter

mehf

Zitat von: PumpkinEater am 24 November 2013, 09:06:42
Könnte es sich bei den letzten 8+8 bit um einen CRC-Wert handeln? Also CRC15 oder CRC16? Auf der Seite http://sitsec.net/blog/2012/02/10/brute-forcing-crc-parameters/ gibt es ein "BruteForce"-Tool, um die Polynome zu ermitteln. Ich hab's mal probiert, aber so richtig komme ich damit auch nicht weiter.
Gruß
Peter
Super, dass sich noch jemand mit der Entschlüsselung der Prüfsumme beschäftigen möchte!
CRC15 oder CRC16 kann es nicht sein, da ja das erste byte bereits als Quersumme identifiziert ist. Ich hab mich lange mit CRC7 beschäftigt - mich aber immer gewundert warum das letzte byte nur aus 7 bit besteht. Mittlerweile glaube ich, dass es doch 8bit sind, wobei das letzte Bit in die "Ende-Synchronisation" übergeht, so dass ich das lange übersehen habe.
Ich werde mich mal ran setzen und ne firmware bauen, die auch das letzte Bit mit ausgibt...

PumpkinEater

Macht es überhaupt Sinn, in einem Byte eine Prüfsumme und dann dem zweiten Byte einen CRC8 zu übertragen? Die Fehlerkennung mit CRC16 wäre doch vermutlich besser als 8bit-Prüfsumme + CRC8 *grübel*


owagner

Es sind m.E. definitiv 8 bit, d.h. 13 Byte payload.

Ich habe mal ein bischen rumprobiert mit XOR o.ä., aber ad-hoc nichts simples gefunden, was passt...

mehf

Ich habe jetzt die Erweiterung um das "letzte Bit" implementiert. Allerdings habe ich noch nix getestet (!!), da ich grad wenig Zeit hab'...

owagner

...Fletcher-16 (oder eine Variante mit Modulo 256) ist es auch nicht...

Sknorrell

Ich werde heute Abend mal die neue CUL_V3.hex testen.

Mehr kann ich als Hilfe leider nicht bieten.

Gruß
Micha
Raspberry Pi mit FHEM  
1xV 1.57 CUL868; 1x a-culfw(1.21.00) CUL433
3x FHT80b;   3x FHT80v;   1x FHT80TF-2;   3x HMS100TF
Home Assistant auf Synology:

Sknorrell

Nach 24 Stunden im Betrieb habe ich bisher noch keinen Unterschied feststellen können in der Funktion.
Sprich die neue CUL_V3.hex funktioniert mindestens genauso gut wie vorherige Version.

Komisch finde ich nur, dass jede dritte Dose in der Leistung-, Power-, Strom- und Frequenzmessung unregelmäßig Meßspitzen hat.

Habe mal die Reihenfolge der definition geändert um zu sehen ob es dann immer noch jede dritte Dose ist oder 2 Dosen einfach viele Übertragungsfehler haben.

Gruß
Micha
Raspberry Pi mit FHEM  
1xV 1.57 CUL868; 1x a-culfw(1.21.00) CUL433
3x FHT80b;   3x FHT80v;   1x FHT80TF-2;   3x HMS100TF
Home Assistant auf Synology:

mehf

Kein Unterschied ist doch erstmal gut. Im debug Modus (z.B. X27) sollten jetzt aber alle 104 Bits ausgegeben werden (vorher war Bit 104 immer 0). Damit kann sich dann also jeder auf die Suche nach der Bedeutung des letzten Bytes machen.

Sknorrell

#73
Naja, den Debugmodus habe ich nicht getestet. Irgendwie bekommen ich den nicht an glaube ich.
Oder ist dies so ein Eintrag?
2013.11.27 17:18:40 5: CUL2: r71DDE0001832014C3E1EF5 -45
2013.11.27 17:18:40 5: CUL2 dispatch r71dde0001832014c3e1ef5
2013.11.27 17:18:40 4: Revolt_71dd: P:  33.2 E:  79.25 V: 224 C:   0.24 F: 50 Pf: 0.62
2013.11.27 17:18:40 5: Triggering Revolt_71dd (7 changes)
2013.11.27 17:18:40 5: Notify loop for Revolt_71dd P:  33.2 E:  79.25 V: 224 C:   0.24 F: 50 Pf: 0.62
2013.11.27 17:18:43 5: CUL/RAW: /r71DDE1001832014C3E1EF538
2013.11.28 21:32:24 5: CUL2: r71DDE1005932070C5A1F81 -45

2013.11.28 21:32:24 5: CUL2 dispatch r71dde1005932070c5a1f81
2013.11.28 21:32:24 4: Revolt_71dd: P: 180.4 E:  80.65 V: 225 C:   0.89 F: 50 Pf: 0.90
2013.11.28 21:32:24 5: Triggering Revolt_71dd (6 changes)
2013.11.28 21:32:24 5: Notify loop for Revolt_71dd voltage: 225
2013.11.28 21:32:24 5: CUL/RAW: /p 6  112  192  224  192  1 13 010480  320 3A 71DDE1005932070C5A1F81C724

Muss ich dazu nur "set CUL raw X27" und verbose=5 aktivieren? Oder noch mehr?
Raspberry Pi mit FHEM  
1xV 1.57 CUL868; 1x a-culfw(1.21.00) CUL433
3x FHT80b;   3x FHT80v;   1x FHT80TF-2;   3x HMS100TF
Home Assistant auf Synology:

mehf

guckst du?
Zitat von: Sknorrell am 28 November 2013, 21:30:38

2013.11.27 17:18:40 5: CUL2: r71DDE0001832014C3E1EF5 -45
2013.11.27 17:18:40 5: CUL2 dispatch r71dde0001832014c3e1ef5
2013.11.27 17:18:40 4: Revolt_71dd: P:  33.2 E:  79.25 V: 224 C:   0.24 F: 50 Pf: 0.62
2013.11.27 17:18:40 5: Triggering Revolt_71dd (7 changes)
2013.11.27 17:18:40 5: Notify loop for Revolt_71dd P:  33.2 E:  79.25 V: 224 C:   0.24 F: 50 Pf: 0.62
2013.11.27 17:18:43 5: CUL/RAW: /r71DDE1001832014C3E1EF538
2013.11.28 21:32:24 5: CUL2: r71DDE1005932070C5A1F81 -45

2013.11.28 21:32:24 5: CUL2 dispatch r71dde1005932070c5a1f81
2013.11.28 21:32:24 4: Revolt_71dd: P: 180.4 E:  80.65 V: 225 C:   0.89 F: 50 Pf: 0.90
2013.11.28 21:32:24 5: Triggering Revolt_71dd (6 changes)
2013.11.28 21:32:24 5: Notify loop for Revolt_71dd voltage: 225
2013.11.28 21:32:24 5: CUL/RAW: /p 6  112  192  224  192  1 13 010480  320 3A 71DDE1005932070C5A1F81C724