Menu [hide]
  Wiki
  Forums

FHT protocol

!Protokoll für ((FHT)) Komponenten
backlinks print PDF
similar comment

Protokoll für FHT? Komponenten


Das Prinzip ist dasselbe wie im FS20 Protocol, nur dass zur Quersumme nicht 0x06, sondern 0x0C dazuaddiert werden. Das Erweiterungsbyte wird grundsätzlich mitgesendet (d.h. Bit 5 des Befehlsbits ist immer an, außer bei Nachrichten der Fensterkontakte).

Hauscode:

Die beiden Bytes des Hauscodes entsprechen den Codezahlen im FHT. Der erlaubte Bereich ist also von 0x0000 bis 0x6363 (99 99).

Adresse:

Adresse 0 ist die Broadcast-Adresse? für alle Thermostate.
Die Thermostate einzeln haben die Adressen 1 bis max. X.

Synchronisation Steuerung-Ventilantriebe?

Es ist zu beachten, dass die Empfänger in den Thermostaten bzw. die Sender+Empfänger im FHT nicht immer Strom haben, sondern nur alle zwei Minuten (genauer alle 116 Sekunden !) für ein paar Sekunden an sind. Die "Sync"-Sonderfunktion sendet zwei Minuten lang im Sekundentakt einen Offsetwert (Countdown), mit dem die Thermostate neu synchronisiert werden können.

Beispiel für eine Synchronisationssequenz:

HC1HC200h2ChF3hCS-> das 5.Byte ist der Offset-Zähler? beginnt immer mit F3h
HC1HC200h2ChF1hCS -> der Zähler wird in 2er Schritten heruntergezählt
HC1HC200h2Ch...CS
HC1HC200h2Ch03CS-> Count-Down-Sequenz? endet mit 03h

ca. 3 Sekunden lang ist Pause, dann wird ein Broadcast (00h) mit einem Ventilsteuerungsbefehl versendet.

HC1HC200h26hXXCS

wenn alles geklappt hat, quittieren alle synchronisierten Ventilantriebe mit einem Signal.

Die Datenpakete werden sicherheitshalber immer 2x versendet.

FHT8-Ergänzung


Ergänzung zu den Zeitfenstern der FHT-Ventile. Diese erfolgen zumindest bei FHT8 nicht genau alle 116 Sekunden, sondern variieren zwischen 115010 und 118510 Millisekunden. Die genaue Zeitspanne läßt sich mit Hilfe der unteren 3 Bits des HC2 berechnen.

timediff = HC2{2..0} * 500 + 115010

Es ergeben sich also genau 8 verschiedene mögliche Zeit-Differenzen? ( 115010, 115510, 116010, 116510, 117010, 117510, 118010, 118510 msec).

Vermutung: Die 10 ms Zeitverschiebung des Basiswertes (115010) könnte damit zusammenhängen, dass das Ventil genau nach 115000 Millisekunden aufwacht und die Steuerung 10ms später das Datenpaket verschickt. Somit muss das Ventil nur sehr kurz lauschen. Bekommt es keine Nachrichten wird es sich vermutlich nach 1000ms wieder schlafen legen, was aber für eine Re-Synchronisation? ausreicht.


Einzelsteuerung der Ventilantriebe

Will man die Ventilantriebe einzeln ansprechen (3. Byte in den Befehlssequenzen <> 0), dann ist zu beachten, dass die Empfänger der Ventilantriebe sofort den Empfang im Zeitfenster beenden, wenn sie einen Befehl mit dem für sie passenden HC1 & HC2 empfangen haben - auch wenn die Adresse nicht die eigene war. D.h. bei Einzelsteuerung der Ventile kann in einem Zeitfenster nur ein Ventil angesprochen werden !


Befehle (Adresse 0):

Unteren 5 bit:

0 00haus
1 01hVentil öffnen
2 02hVentil schließen
3 03hunbekannt
4 04hunbekannt
5 05hunbekannt
6 06hVentilöffnung: Erweiterungsbyte ist Prozentangabe (00h=0%, FFh=100%)
7 07hunbekannt
8 08hunbekannt
9 09hunbekannt
10 0Ahunbekannt
11 0Bhunbekannt
12 0ChSynchronisation läuft: Erweiterungsbyte ist Countdown (Bits 1-8); Bit 0 ist immer an
13 0Dhunbekannt
14 0EhTest - Ventilantriebe quittieren mit akustischem Signal
15 0FhZuordnung FHZ / Thermostate: Erweiterungsbyte wie bei 28/Offseteinstellung
16 10hunbekannt
17 11hunbekannt
18 12hunbekannt
19 13hunbekannt
20 14hunbekannt
21 15hunbekannt
22 16hunbekannt
23 17hunbekannt
24 18hunbekannt
25 19hunbekannt
26 1Ahunbekannt
27 1Bbunbekannt
28 1ChOffset-Einstellung: Erweiterungsbyte Bit 8 ist Vorzeichen, Bit 7...0 der Absolutwert
29 1Dhunbekannt
30 1Ehunbekannt
31 1Fhunbekannt


Bit 5: Erweiterungsbit (1 = immer an)
Bit 6: bidirektionaler Befehl (zwischen FHT und Zentrale)
Bit 7: Antwort eines Empfängers (normal = 0)

Fensterkontakte


Die Fensterkontakte verwenden kein Erweiterungsbyte. Die Nachricht besteht aus drei pro Sender festgelegten Adressbytes, die wahrscheinlich immer aus dem "verbotenen" Bereich über 99 (69h) stammen (beim 3. Byte ist Bit 5 aus; Bits 6 und 7 entweder beide an oder zufällig), und einem Befehlsbyte.

Die Initialisierungsnachricht wird eine Minute lang jede Sekunde gesendet. Danach meldet sich der Sender alle ein bis vier Minuten (er scheint etwas länger als n*60sec zu warten) und sendet eine A- und eine B-Nachricht?, je nach Fensterstellung.

Inwieweit zur Neige gehende Batterien signalisiert wird, ist noch nicht bekannt.

12 0ChInitialisierung
01 01hFenster offen A
02 02hFenster zu A
129 81hFenster offen B
130 82hFenster zu B

Created by: smurf last modification: Friday 06 of November, 2009 [15:27:20 UTC] by smurf


Online users
We have 3 online users
Google ads
RSS Wiki RSS File Galleries RSS Forums
[ Execution time: 0.39 secs ]   [ Memory usage: 12.72MB ]   [ 65 database queries used ]   [ GZIP Enabled ]   [ Server load: 0.00 ]