-
-
Neuer Benutzer
Öfters hier
868 MHz Protokoll f. Heizung FHT80 und HMS - Infos gesucht
Hallo,
ich Suche Informationen zu den Protokollen von FHT80 und HMS die in den ELV Produkten verwendet werden.
Die verfügbaren Informationen aus dem Forum über das FS20 Protokoll kenne ich, beinhalten aber nichts zu FHT80 und HMS Komponenten.
Einiges habe ich schon dekodiert und herausgefunden. Vielleicht kann man sich ja austauschen.
Andreas
-
Erfahrener Benutzer
Fleißiges Mitglied
Dass die sich im 2 bis 3 Minutentakt unterhalten und über den Anmeldevorgang die Synchronisierung beginnt, d.h. die Synchronisierungzeit gestartet wird, habe ich auch rausgefunden.
Man müßte einen Logicanalyser haben. Die genaue Zeit kann man mit einfachen Mitteln ausmessen.
Hat man das Protokoll, kann man auch zentrale Steuerungsaufgaben machen, träum träum....
-
Neuer Benutzer
Öfters hier
Nun, ich habe eien 868 Mhz Empfänger am Atmega32 und lese die Impulse mit. Ich kann die Syncbits der Übertragungssequenz und die Informationsbits erkennen. Die Informationsbits kann ich auch in Bytes zusammenfassen, Parity prüfen und die CRC checken. Ich kann den Hauscode und die Moduladresse dekodieren. Was mir noch unklar ist sind die Bedeutung der nachfolgenden Befehle oder Codes und die Deutung der übertragenen Werte. Also wie ist z.B. die Temperatur verschlüsselt ? (Highbyte / Lowbyte, Zahlenformat etc.
Die vom ATMega erfassten Daten gebe ich über RS232 an den PC und protokolliere sie mit.
Über die Analyse dieser Daten kommt man sicher auf einige Infos. Ist aber etwas mühsam. Aber vielleicht hat jemand schon ein paar Codes etc. herausgefunden ?
Interessiert das hier sonst keine(n) ?
-
Erfahrener Benutzer
Fleißiges Mitglied
Ich kann die Daten der FHT's ebenfalls protokollieren, darin sind die Adr's, Hauscode, Temperaturen und Stellungsmeldungen zu den Stellmotoren enthalten.
Wie liest du denn mit? Über RS232 ?
-
Neuer Benutzer
Öfters hier
ja, rs232.
sieht dann im Moment so aus:
HC:54-19 ADR:0 ARG:166 ARG:0 CRC:251 (Bits:67 Bytes:7 End:3696)
0000000000001-00110110000010011100000000010100110000000000011111 0111
HC:87-70 ADR:0 ARG:166 ARG:0 CRC:79 (Bits:67 Bytes:7 End:4736)
0000000000001-01010111101000110100000000010100110000000000001001 1111
HC:76-0 ADR:159 CRC:0 (Bits:48 Bytes:3 End:3584)
1110100011010000000001-01001100000000000010011111
HC:95-66 ADR:0 ARG:166 ARG:8 CRC:91 (Bits:67 Bytes:7 End:4864)
0000000000001-01011111001000010000000000010100110000001000101011 0111
HC:76-17 ADR:183 CRC:17 (Bits:48 Bytes:3 End:3792)
1100100001000000000001-01001100000010001010110111
-
Erfahrener Benutzer
Fleißiges Mitglied
SByte1 = 1 ---> Adr
SByte2 = 49--> Adr
SByte3 = 0
DByte1 = 6--> Ventilstellung mit Wert 0 ?
DByte2 = 0
DByte3 = 0
-
Erfahrener Benutzer
Fleißiges Mitglied
Edit:
SByte1 = 4
SByte2 = 54
SByte3 = 66
DByte1 = 9
DByte2 = 233
DByte3 = 0
Das müste 23,3 Grad sein ?
SByte1 = 4
SByte2 = 54
SByte3 = 0
DByte1 = 6
DByte2 = 11
DByte3 = 0
Dasd müste Ventilstellung: 4,296875 % sein ?
SByte1 = 4
SByte2 = 54
SByte3 = 0
DByte1 = 6
DByte2 = 24
DByte3 = 0
das Ventilstellung : 9,375 % sein ?
Das würde bedeuten: Ventilstellung 255 = 100%
-
Erfahrener Benutzer
Fleißiges Mitglied
Wenn ich dein AVR-Programm, das seriell die Daten in meinen Rechner gleichzeitig mit meinen Log-Files schreibt, könnte ich den Zusammenhang deutlicher erkennen, weil du andere Adressen hast usw.
So wie ich das sehe, bedeutet der Wert nach den Adressen den Modus der nachfolgenden Daten. Also 6 z. B. für die Ventilstellung, 9 für die Temp: hier 19,6 Grad.
SByte1 = 1
SByte2 = 49
SByte3 = 66
DByte1 = 9
DByte2 = 196
DByte3 = 0
Ev kannst du mir mal einen Plan und das Programm für den AVR per PN mailen.
Es fängt mit dem Synchronisieren an 12x 0, 1x1: dann blicke ich aber nicht durch dein Zahlenwerk durch...
Hauscode, Adresse, Argument, CRC, ist klar, kann ich aber nicht von BCD nach Dez konvertieren passt irgendwie nicht.
Sind das mehrere FHT's ?
HC:54-19 ADR:0 ARG:166 ARG:0 CRC:251 (Bits:67 Bytes:7 End:3696)
0000000000001-00110110000010011100000000010100110000000000011111 0111
HC:87-70 ADR:0 ARG:166 ARG:0 CRC:79 (Bits:67 Bytes:7 End:4736)
0000000000001-01010111101000110100000000010100110000000000001001 1111
HC:76-0 ADR:159 CRC:0 (Bits:48 Bytes:3 End:3584)
1110100011010000000001-01001100000000000010011111
HC:95-66 ADR:0 ARG:166 ARG:8 CRC:91 (Bits:67 Bytes:7 End:4864)
0000000000001-01011111001000010000000000010100110000001000101011 0111
HC:76-17 ADR:183 CRC:17 (Bits:48 Bytes:3 End:3792)
1100100001000000000001-01001100000010001010110111
-
Neuer Benutzer
Öfters hier
Es sind mehrere FHT´s, gesamt 12 FHT, 35 Schalter/Dimmer, 14 PIRI´s, 12 4-Kanalsender, 12 HMS Komponenten, Wetter etc.
Zum Aufbau des Codes an einem Beispiel:
die Startbits bestehen aus 12 low+1high, danach die datenbits, immer 8+1prüfbit. Ich mach mal Trennstriche zwischen den Bitblöcken und & vor dem Prüfbit zur Verdeutlichung.
Die ersten 2 Bytes (hier HC genannt) sind bei FHT die Adresse, das 3. Byte (hier ADR) der Code, danach die Daten (ARG, ARG) und die CRC.
HC:54-19 ADR:0 ARG:166 ARG:0 CRC:251 (Bits:67 Bytes:7 End:3696)
0000000000001-00110110&0-00010011&1-00000000&0-10100110&0-00000000&0-11111011&1
Hier nochmal ein kompletter Block von einem FHT-Regler:
HC:32-23 ADR:125 ARG:103 ARG:49 CRC:88 (Bits:67 Bytes:7 End:4512)
0000000000001-00100000100010111001111101001100111100110001101011 0001
HC:32-23 ADR:125 ARG:119 ARG:49 CRC:104 (Bits:67 Bytes:7 End:3312)
1000000000001-00100000100010111001111101001110111000110001101101 0001
HC:32-23 ADR:66 ARG:105 ARG:186 CRC:168 (Bits:67 Bytes:7 End:3584)
0000000000001-00100000100010111001000010001101001010111010110101 0001
HC:32-23 ADR:66 ARG:105 ARG:186 CRC:168 (Bits:69 Bytes:7 End:3872)
100000000000001-00100000100010111001000010001101001010111010110101 0001
HC:32-23 ADR:66 ARG:121 ARG:186 CRC:184 (Bits:66 Bytes:7 End:332
100000000001-00100000100010111001000010001111001110111010110111 0000
HC:32-23 ADR:67 ARG:105 ARG:0 CRC:239 (Bits:68 Bytes:7 End:3440)
10000000000001-00100000100010111001000011101101001000000000011101 1111
HC:32-23 ADR:67 ARG:121 ARG:0 CRC:255 (Bits:66 Bytes:7 End:3744)
100000000001-00100000100010111001000011101111001100000000011111 1110
HC:32-23 ADR:75 ARG:103 ARG:0 CRC:245 (Bits:67 Bytes:7 End:2992)
0000000000001-00100000100010111001001011001100111100000000011110 1010
HC:32-23 ADR:75 ARG:119 ARG:0 CRC:5 (Bits:66 Bytes:7 End:300
100000000001-00100000100010111001001011001110111000000000000000 1010
HC:32-23 ADR:68 ARG:105 ARG:0 CRC:240 (Bits:68 Bytes:7 End:4432)
10000000000001-00100000100010111001000100001101001000000000011110 0000
HC:32-23 ADR:68 ARG:121 ARG:0 CRC:0 (Bits:66 Bytes:7 End:3840)
000000000001-00100000100010111001000100001111001100000000000000 0000
HC:32-23 ADR:75 ARG:103 ARG:0 CRC:245 (Bits:68 Bytes:7 End:2864)
00000000000001-00100000100010111001001011001100111100000000011110 1010
HC:32-23 ADR:75 ARG:119 ARG:0 CRC:5 (Bits:66 Bytes:7 End:3904)
000000000001-00100000100010111001001011001110111000000000000000 1010
HC:32-23 ADR:126 ARG:103 ARG:0 CRC:40 (Bits:67 Bytes:7 End:348
0000000000001-00100000100010111001111110001100111100000000000101 0000
-
Erfahrener Benutzer
Fleißiges Mitglied
Sorry, ich hatte keine Zeit vorher, und war auch noch verwirrt, habe die Dekodierung jetzt erkannt.
HC:54-19 ADR:0 ARG:166 ARG:0 CRC:251 (Bits:67 Bytes:7 End:3696)
0000000000001 ---------------> enrspricht 12 mal 0, 1 mal 1, wie im FS20
00110110&0-00010011&1------> das soll 54 19 sein
00000000&0-10100110&0------>
00000000&0-11111011&1------>
(alles Dez)
wie geschrieben bekomme ich meine Logfiles und kann daraus die Rückschliüsse ziehen, die ich oben geschildert habe.
Kannst du denn mit deinem AVR auch senden um etwas aus zuprobieren?
Mich würde eine Verbindung zum Stellventil reizen, ohne FHT.....
Ich habe festgestellt, die synchronisieren sich beim Anmelden.
Und zwar machen die ein Zeitfenster ab, in dem sich das Stellventil bereit macht, Daten zu empfangen.
Was es für Daten sind habe ich noch nicht rausbekommen, weil ich nur das Telegram der FHT mitlesen kann. Ev. besteht gar kein Unterschied.
Das müsste Rückmeldung in Automatic oder in Automatic schalten sein :
SByte1 = 1
SByte2 = 49
SByte3 = 126
DByte1 = 7
DByte2 = 42
DByte3 = 0
Das müste in Manuel schalten sein
SByte1 = 1
SByte2 = 49
SByte3 = 126
DByte1 = 7
DByte2 = 1
DByte3 = 0
Das müste in Automatic schalten sein
SByte1 = 1
SByte2 = 49
SByte3 = 126
DByte1 = 7
DByte2 = 0
DByte3 = 0
Das müste Ventilstellung 18,75 sein ---> DByte2= 255 = 100 %
SByte1 = 1
SByte2 = 49
SByte3 = 0
DByte1 = 6
DByte2 = 48
DByte3 = 0
SByte1 = 1
SByte2 = 49
SByte3 = 0
DByte1 = 6
DByte2 = 43 das ist Ventilstellung 16,79688 %
DByte3 = 0
SByte1 = 1
SByte2 = 49
SByte3 = 0
DByte1 = 6
DByte2 = 38 das ist Ventilstellung 14,84375 %
DByte3 = 0
SByte1 = 1
SByte2 = 49
SByte3 = 0
DByte1 = 6
DByte2 = 32 das 12,5 % ventilstellung
DByte3 = 0
das müste 21 grad meldung sein
SByte1 = 1
SByte2 = 49
SByte3 = 66
DByte1 = 9
DByte2 = 210
DByte3 = 0
das 21,2 grad
SByte1 = 1
SByte2 = 49
SByte3 = 66
DByte1 = 9
DByte2 = 212
DByte3 = 0
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen