Als erstes stellt sich die Frage über die Art des Modules – handelt es sich um eine reine Hardware Anbindung oder um ein allgemeines Module, das eine allgemeine Aufgabe löst und mit verschiedenster Hardware kommunizieren kann.
Je nach dem ist die Platzierung in der IPSLibrary zu wählen, eventuell sollte man auch über eine Aufteilung in Hardware und Module Teil nachdenken.
Vor der Entwicklung/Implementierung eines neuen Modules wäre eine aktive Diskussion hier im Forum sicher wünschenswert, um möglichst viele Anforderungen bereits im Design zu berücksichtigen.
Anbindung neuer Hardware sollte möglichst über IPSComponent/IPSMessageHandler erfolgen (siehe auch Post weiter oben).
Um neue Hardware in bestehende Module zu integrieren, sollte es in Zukunft reichen, eine IPSComponent Klasse der jeweiligen Hardware zu implementieren
Detailierter Installations Ablauf:
Module gliedern sich in einen Installations- und einen Application Teil. Der Applikations Teil gliedert sich wiederum in Konfiguration, Daten und die eigenliche Programm Logik (das spiegelt sich auch in der verwendeten Struktur wieder.
Die Installation wird mit dem IPSModuleManager gesteuert, dieser benötigt für die Installation eines Modules 3 Files:
[ul]
[li]DownloadList File, beinhaltet alle Dateien, die zur Installation eines Modules nötig sind.[/li] [li]Installations INI File, beinhaltet alle Parameter, die bei der Installation angepasst werden können (WebFront, Mobile …).[/li] [li]Installations Script File, dieses Script erledigt die eigentliche Installation (Anlegen der Variablen, Events, …). [/li][/ul]
Nach dem Starten von LoadModule wird zuerst eine aktuelle Version des DownloadList Files geladen und danach alle darin aufgelisteten Files. Für alle aufgelisteten „Default“ Files wird beim erstmaligen Laden eine „Working Copy“ angelegt, die bei späteren Updates aber nicht mehr überschrieben wird.
Beim erstmaligen Laden des Modules erfolgt auch die Registrierung der Scripts in der IP-Symcon Baum Struktur.
Mit dem Starten von InstallModule wird das Installations Script ausgeführt. Dort wird als erstes die Version aller benötigten Sub-Module überprüft und danach startet die eigentliche Installation, die alle benötigten Objekte angelegt (Variablen, Events, …).
Ein Beispiel zur Entwicklung eines eigenen Modules ist im WIKIzu finden