|
FHZ / FHT Radio Protocol
Funkprotokoll FHT-B - FHZ1xxxBeschreibung der Funk-Datenpakete? 868 MHz die zwischen einem FHT-B (Heizungssteuerung-Regler) und dem FHZ1xxx ausgetauscht werden. Diese Information kann verwendet werden, um sein eigenes kleines FHZ (z.B. auf Microcontrollerbasis mit geeigneten Funkmodulen) zu bauen, auch wenn man das nicht will, hilft es m.E. die Funktionsweise des FHZ zu verstehen, da sich viele Infos in der FHZ-Protokoll Beschreibung in etwas andere Form (FHZ-codiert wiederfindet). Die Infos sind natürlich nicht vollständig, reichen aber aus, um FHT-B und FHT-V befriedigend zu steuern (getestet und im Einsatz) Der grundlegende Aufbau der Pakete (Homecode / Prüfsumme ...) ist schon bei FHT-V (Ventilsteuerung) beschrieben. In den folgenden Tabellen spare ich mir die Angabe des Homecode (HC1/HC2) und der Prüfsumme, sondern beschränke mich auf die 3 wichtigen Datenbytes: Im Prinzip gibt es zwei grundlegende Protokollfolgen: 1. FHZ sendet Anfragen um Einstellungen des FHT-B zu ändern (Register schreiben) oder Einstellungen (Werte) des FHT-B zu lesen. 2. FHT-B bietet Informationen aufgrund von Statusänderungen des FHT-B (manuelle Einstellung am FHT-B) oder Messwertänderungen, oder auf Anforderung durch FHZ. Beide Aktionen finden in dem knapp 2-minütigen Zeitfenster statt, wenn das FHT-B an seine angemeldeten Ventile Steuerungsinformationen schickt. Anschliessend an diese Übertragung bietet das FHT-B entweder Infos an, oder das FHZ kann eine Informationsanfrage an senden: 1. FHZ sendet Anfrage an FHB:
Wenn diese Befehlsfolge abgelaufen ist, dann steht das FHT-B im Modus "Urlaub". Das ganze funktioniert genauso bei allen anderen (bekannten) Registern die bereits im FHZ-Protokoll beschrieben sind. Allgemeine Anmerkungen zur oberen Befehlsfolge: 1. Ventilsteuerungskommando: Die 4 höherwertigen bits von Byte 4 können in 3 Ausprägungen vorkommen: - 0010xxxx (2xh) : neue Ventileinstellung - 1010xxxx (Axh) : Ventileinstellung identisch mit vorhergehender - 1011xxxx (Bxh) : ??? wichtig ist, bit 5 ist immer gesetzt - dient zur Unterscheidung ob Befehl an FHT-V oder Bidirektional zwischen FHB-FHZ 2. Bidirektionaler Befehl - Sendequelle : Die 4 höherwertigen bits von Byte 4 können in 2 Ausprägungen vorkommen: - 0110xxxx (6xh) : gesendet von FHB - 0111xxxx (7xh) : gesendet von FHZ 3. Bidirektionaler Befehl - Daten oder Protokollinformation : Die 4 niederwertigen bits von Byte können in 2 Ausprägungen vorkommen: - xxxx0111 (x7h) : Protokollbefehl - xxxx1001 (x9h) : Datenbefehl (Register) 4. Sobald ein Datenbefehl vorkommt, wird der Dateninhalt (Byte 5) in den folgenden Protokollbefehlen mit übernommen, solange bis ein neuer Datenbefehl kommt oder die Übertragung endet. 2. FHT-B sendet Informationen:Dieser Fall tritt auf, wenn bestimmte Statusänderungen bei FHT-B eingetreten sind, oder als Reaktion auf das Schreibung von Abfrageregister mit obiger Befehlsfolge. Abfrageregister sind die Register 65h und 66h (evtl weitere ?), werden diese mit 1er bits geschrieben, so löst es das Senden einer Folge von Registerwerten durch das FHT-B aus. Diese Funktion benutzt das FHZ bei der sog. Initialisierung, hier werden beide Register mit ffh beschrieben, so dass das FHT-B alle aktuellen Infos (Staus) des angesprochenen FHT-B bekommt. So sind z.B. von Register 65h die Wochentagseinstellungen kodiert, bit0= Montag, bit1=Dienstag ... Will man also nur die Werte für Mo und Do abfragen, sendet man einfach 00001001 = 09h an Register 65h
Die einzelnen Daten sind in logischen Paketen zusammengefasst (Temperatur, Programminfos je Wochentag ...) Bisher bekannt FHT-B RegisterHier noch der Übersichtlichkeit halber die bisher bekannten Register (aus "raw findigs" FHZ1000 Protokoll) mit kleinen Ergänzungen
Zum Abschluss noch eine Anmerkungen zu den Funkpaketen: Einige Pakete (i.d.R) Start und Datenpakete werden 3x gesendet (kurz hintereinander). Das FHT-B ist gnadenlos auf Stromsparen getrimmt, d.h. das Zeitfenster in dem es nach Senden von Ventilsteuerungs-informationen auf mögliche Anfragen von FHZ warten bewegt sich meiner Schätzung nach zwischen 50 bis 70 ms !!! Will man also die Folge mit einem eigenen MController nachbilden, empfiehlt es sich nicht mit festen Wartezeiten nach dem Empfang einer FHT-B Sendung mit dem Senden zu beginnen - denn man weiss nicht, welches von den 3 Paketen (Dauer je Paket ca 60ms) man dekodiert hat. Vielmehr hat sich bewährt eine Dauer von ca. 30 ms ohne gültiges Empfangssignal (gültige Pegeldauer) abzuwarten und dann sofort die Anforderung zu senden. Mit diesem Verfahren habe ich jedenfalls eine gute Trefferquote das FHT-B zu steuern. Created by: mycroft last modification: Wednesday 20 of August, 2008 [20:32:17 UTC] by alexirion |
Login Online users
We have 4 online users
Google ads |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||