Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Habe mal von Conrad das FS20-Protokoll bekommen > Vielleicht hilft es weiter: > ------------------------------------------------------------------------------ > FS20-Funkschaltsystem > > 1. Protokoll > > 1.1. Datenrahmen: > Hauscode 16 bit > Adresse 8 bit > Befehl 8 bit (16bit, wenn im ersten Befehlsbyte das Erweiterungsbit gesetzt ist.) > Quersumme 8 bit > > Daten-Bit: > Senden Empfang > 0: 400µs High, 400µs Low 600-1000µs Periodendauer > 1: 600µs High, 600µs Low 1000-1450µs Periodendauer > > Synchronisation: > 0000000000001 (12* „0“, 1* „1“) > Jede Übertragung zu Empfängern wird mit dieser Synchronisationssequenz eingeleitet. > > Parität: > Gerade > > EOT: > 0 > Damit das letzte Datenpaket richtig ausgewertet werden kann, muß ein zusätzliches Daten-Bit > übertragen werden. Diese 0 selber kann allerdings nicht ausgewertet werden! > > 1.1.1. Hauscode: > 0-65535 > Hauscode1: 8bit (High-Byte) > Hauscode2: 8bit (Low-Byte) > > 1.1.2. Adresse: > High-Nibble (4bit): Adreß-Gruppe (Bank / Raum) > 15 = Master- / Funktionsgruppen-Bereich > 0-14 = Adreßraum für Einzeladressen > Low-Nibble (4bit): Unter-Adresse > 15 = alle der Adreß-Gruppe (lokal Master) > 0-14 = Einzel-Adresse / Adresse der Funktionsgruppe > > Das High-Nibble wählt die Adreß-Gruppe aus. Es stehen 15 Adreß-Gruppen zur Verfügung. > Die Adreß-Gruppe „15“ wählt den Master- bzw. Funktionsgruppen-Adreßbereich aus. > Das Low-Nibble bestimmt innerhalb der gewählten Adreß-Gruppe die anzusprechende Unter-Adresse. > Zum Ausführen einer globalen Master-Funktion müssen High- und Low-Nibble der Adresse „15“ sein! > > Reihenfolge der Eingabe und Speicherung von Hauscode und Adresse beim Setup von Sendern: > 1. HC1: [A1|A0|B1|B0|C1|C0|D1|D0] 2. HC2: [E1|E0|F1|F0|G1|G0|H1|H0] > 3. Adr: [I1|I0|J1|J0|K1|K0|L1|L0] > 1.1.3. Befehl: > Unteren 5 bit: > 000h aus > 101h an, 6,25% Einschalten auf Helligkeitsstufe 1 (min.) > 2 02h an, 12,5% > ... > 15 0fh an, 93,75% > 16 10h an, 100% Einschalten auf Helligkeitsstufe 16 (max.) > 1711h an, alter Wert Auf letztem Helligkeitswert einschalten > 1812h toggle Wechsel zwischen “aus” und “an, alter Wert“ > 1913h dim up Eine Helligkeitsstufe heller > 2014h dim down Eine Helligkeitsstufe dunkler > 2115h dim up and down ..., + bis max, kurz warten, - bis min, kurz warten, … > 2216h timeset Timerprogrammierung (Start, Ende) > 2317h send status Nur bei bidirektionalen Komponenten! > 2418h aus, für Timerzeit > 2519h an, 100%, für Timerzeit > 261ah an, alter Wert, für Timerzeit > 271bh reset (auf Auslieferzustand) > 281ch frei > 291dh frei > 301eh frei > 311fh frei > Bit 5: Erweiterungsbit (0 = ohne, 1 = Erweiterungsbyte zwischen Befehl und Quersumme) > Bit 6: bidirektionaler Befehl (normal = 0) > Bit 7: Antwort eines Empfängers (normal = 0) > > Erweiterungsbyte bei gesetztem Erweiterungsbit: > Ist im ersten Befehlsbyte das Erweiterungsbit gesetzt, wird ein Erweiterungsbyte eingeschoben. > Für die Befehle 0 bis 18 und 24 bis 26 gilt folgende Codierung des Erweiterungsbytes: > Das Byte gibt die einmalige Zeitdauer für den Timer in Schritten von 0,25s an. > Bei Befehl 22 wird der Timer des Empfängers fest auf den übertragenen Timerwert gestellt. > Das Low-Nibble gibt den Zahlenwert an. Ist es Null (= 0), wird die Timerfunktion ignoriert und der > Verbraucher dauerhaft/sofort geschaltet. > Das High-Nibble dient als Multiplikator mit dem Faktor 2^x. Es sind nur Werte kleiner oder gleich > 12 sinnvoll. Größere Werte werden auf 12 begrenzt! > Zeit = 2^(High-Nibble) * Low-Nibble * 0,25s > Die maximale Zeitdauer beträgt damit ca. 4,25Std, die minimale 0,25s, sofern dies jeweils von den > Empfängern bis zu den angegebenen Grenzen unterstützt wird. > > 1.1.4. Quersumme > 8bit-Summe aus 6, Hauscode, Adresse und Befehl (und Erweiterungsbyte) bilden > Werden Repeater verwendet, so treten auch um 1 oder 2 erhöhte Quersummen auf, die von den > Empfängern im Normalfall akzeptiert werden sollten. Wurde von einem Empfänger bis 1,6s vor einem > Repeater-Befehl ein normaler Befehl empfangen, so wird der Repeater-Befehl ignoriert. > > > 1.1.5. Komplette Übertragung: > Synchr, HC1, Parity, HC2, Parity, Adresse, Parity, Befehl, Parity, Quersumme, Parity, EOT > 13 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 1 bit > oder: > Synchr, HC1, Parity, HC2, Parity, Adr, Parity, Bef1, Parity, Bef2, Par, Quersumme, Par, EOT > 13 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 1 bit > > Übertragung beginnt mit MSB. > Die Übertragung für ein komplettes Datenpaket mit 1 Befehl dauert 47,6ms bis 65,6ms. > > Wird an der Hand-FB eine Taste < 400ms gedrückt, so wird beim Loslassen folgendes gesendet: > DAT, 10msPAUSE, DAT, 10msPAUSE, DAT, 110msPAUSE > > Wird eine Taste an der Hand-FB länger als 400ms gedrückt, so wird alle 250ms folgendes gesendet: > DAT, 10msPAUSE, DAT > > > Im AUS-Zustand schaltet ein Dimmer bei EIN mit alter Helligkeit ein. > Im AUS-Zustand schaltet ein Dimmer bei DIMUP mit voller Helligkeit ein. > Im EIN-Zustand wird bei DIMUP eine Stufe aufgedimmt. > > Alle Befehle dürfen von Empfängern immer nur 1x ausgewertet werden. Gesendet wird der > Befehl 3x mit einer Pause von 10ms. Dim-Befehle werden nur 2x mit einer Pause von ca. 10ms > und 130ms gesendet. Nach einem erkannten Befehl ignorieren die Empfänger für 120ms weitere > Befehle. Befehle von Repeatern werden für 1,6s ignoriert. > ---------------------------------------------------------------- > Mit Gruss > tom h.