FS20-Enhanced in IPS einbinden

Guten Abend,

nachdem jetzt schon einige Leute stolze Besitzer des FS20-Enhanced Moduls sind möchte ich an dieser Stelle für die ersten Schritte mit IP-Symcon etwas Hilfestellung geben.

Im Anhang befindet sich ein Zip-File, das ein Formular, die benötigten Scripte und ein Sreenshot der Demo beinhaltet.

Erst einmal zu Installation ( IPS geschlossen !):

Falls Ihr mit IP-Symcon schon gearbeitet habt solltet Ihr im Stammverzeichnis die Datei „Settings.xml“ sichern, denn sonst … ist alles was Ihr vorher erarbeitet habt weg.

Nachdem Ihr die Datei gesichert bzw. umbenannt habt könnt Ihr die Dateien aus dem Zip-File in die entsprechenden Verzeichnisse entpacken.

„Settings.xml“ ins Stammverzeichnis, „FS20-Modul_konfiguration.bin“ in das Verzeichnis Forms und die Scripte in Scripts.

Wenn alles geklappt hat könnt Ihr nun IPS starten. Schaut am besten gleich unter Instances, ob der comport korrekt geöffnet ist. Meine Vorgabe ist Com1. Habt Ihr das Modul an einem anderen Comport, dann müßt Ihr die Instanz entsprechend anpassen.

Wenn der Comport korrekt geöffnet wurde ist alles ok, Ihr könnt nun mit dem Designer das Formular FS20-Modul öffnen.

:eek: Ich empfange keine Daten!

Kein Grund zur Aufregung, bei der Auslieferung arbeitet das Modul im Sendebetrieb im ASCII-Mode, das heißt es wird alles in Klartext übertragen damit der User mit jedem Terminalprogramm die Ausgabe kontrollieren kann.

Wir müßen also zuerst dem Modul mitteilen, das es den IP-Symcon Modus für die Datenübertragung nehmen soll. IP-Symcon kann nämlich keine 0-Bytes empfangen und deshalb brauchen wir einen speziellen Modus.
Jedes Datenpacket besteht aus 10 Byte Nutzdaten, wobei vor den Daten ein Chr(27) als Anfangskennung und nach den Daten ein Chr(28) als Endkennung gesendet wird. Die Eigendlichen Nutzdaten werden als Nibble übertragen und können demnach nur Werte von 0…15 annehmen. Da haben wir es, 0 geht doch nicht! Deshalb wird zu jedem Nibble einfach der Wert 0x80 addiert und schon haben wir das Problem gelöst. Es werden also bei der Datenübertragung vom Modul zum PC insgesamt 22 Bytes übertragen. Im Script werden dann die 10 Nutzbyte wieder zusammengesetzt und auf die globalen Variablen verteilt.
Der Weg vom PC zum Modul ist wieder etwas einfacher, denn senden können wir eine Null.

Jetzt aber zur Konfiguration unseres Moduls.

Damit Das FS20-Enhanced den IP-Symcon Modus benutzt brauchen wir nur im Formular Data1 auf 32 setzen ( im Eingabefeld unter Data1 eintragen und mit Return abschließen !!! ) und Data2 auf 1.
Data1=32 wählt die Funktion RS232.Konfiguration aus und Data2 bestimmt den Modus ( 0 = Nibble- Mode, 1 = IP-Symcon Mode und 2= ASCII-Mode ).

Das wars, jetzt könnt Ihr loslegen.

Wenn Ihr Euch einmal den Screenshot anseht, dann seht Ihr in der History ( Datenempfang ) diverse Einträge, immer 10 Byte.

Das erste Byte gibt immer die Datenart an, also was die folgenden Bytes bedeuten.
Eine 1 steht für direkter Funk-Empfang eines FS20-Senders, 2 empfang über den ersten Repeater und 3 empfang über 2 Repeater. Ja Ihr habt es gesehen, ich habe einen Repeater :smiley:
Die darauffolgende 92 ist der erste Teil meines „Testhauscodes“ und wäre umgerechnet „2241“ gefolgt von dem 2. Teil des Hauscodes 45=„1342“
Der letzte Empfang ist im übrigen der oberste Eintrag, nicht der untere.

Hier in der Liste seht Ihr auch ein wenig vom „inneren Ablauf“.

Nehmt einen EIntrag mit einer führenden 7.

Die Sieben bedeutet, es wurde ein IR-Signal empfangen, die darauffolgene 2 verrät uns es ist der Sircs-Code den Sony benutzt. Das Modul hat also eine IR-Signal mit dem Sircscode und der Adresse 1 mit dem Befehl 1 empfangen.
Diese Adresse ist unserem 2. Ausgang, also Ausgang 1 zugeteilt und das Modul meldet jetzt den Zustandswechsel an unsere Steuerungssoftware weiter. Das geschieht auf 2 wegen.

  1. Jeder Kanal hat eine FS20-Adresse, diese Adresse wird nun wie als wenn sie über Funk empfangen wurde an die RS232 übemittelt. ( Das darüberliegende Datenframe mit der führenden 1 )
  2. Die Adresse wird dazu genutzt um ein Funksignal ab zu setzen, das dem Zustand entspräche. Wenn ich also den Ausgang „ein“ geschaltet habe, dann wird das gleiche Signal ausgestrahlt, als wenn ich auf einer FS20-Fernbedienung „ein“ gedrückt hätte. Das gleiche gilt natürlich auch, wenn ich die Ausgänge über die Taster schalte.
    Im Script wird dann der Zustand in einer Status-Variablen abgelegt, die für unsere Bildchen genutzt wird.
    Das oberste Datenframe ist dann wieder unser Repeater der die Daten natürlich wieder zu uns zurück schickt.

Beim Start von IP-Symcon sind die Statusvariablen natürlich nicht korrekt gesetzt. Ihr solltet als einmal „Ausgänge abfrage“ drücken.
Die Funktion sollte in einer art startscript aufgerufen werden damit dieser Prozess automatisiert bei jedem Start von IP-Symcon abläuft.

So, ich hoffe fürs erste nicht zuviel Verwirrung gestifftet zu haben, wenn dennoch Fragen sind…

MfG Hansi :confused:

FS20-Enhanced-Demo.ZIP (252 KB)