IPSymcon Erweiterungen




Möglichkeiten für Funktionserweiterungen

Ich setze seit 2005 die Haussteuerungssoftware IP-Symcon(IPS) ein. Ein Vorteil dieser Software besteht darin, das es verschiedene Möglichkeiten gibt, um selber Funktionalität nachrüsten zu können, die sonst keine Chance oder eine niedrige Priorität auf der offiziellen Featureliste haben.

PHP-Scripte zur Nutzung innerhalb von IPSymcon

Mit gewöhnlichen PHP-Scripten lassen sich innerhalb von IPS fast alle internen System-Funktionen nutzen, um z.B über Standardschnittstellen mit externen Geräten zu kommunizieren oder um neue IPS Objekte/Variablen anzulegen und zu bearbeiten.

PHP SDK (ab Version 4.0)

Ab Version 4.0 ist es möglich, mit PHP eigene Module zu entwickeln, da das bisher vorhandene Delphi SDK auf Grund der Multiplattformfähigkeit nicht mehr einsetzbar ist.

siehe Informationen im Entwicklerbereich

Web-API

Ab der Version V2.1 ist auch eine SOAP-API integriert, welche automatisch alle Interface-Funktionen als SOAP-Intefaces(WDSL) bereitstellt.
Mit Version V3.0 wurde eine neue JSON-RPC API eingeführt, welche vorrangig gegenüber der SOAP-Implementation genutzt werden soll (siehe auch IPS-Entwicklerbereich und Datenaustausch Referenz). Mit diesen Schnittstellen kann man von überall in jeder beliebigen Sprache die Funktionen und Daten von IPS nutzen. Details siehe im Abschnitt Scripte. Auf Grund der Natur dieser Schnittstellen ist es damit jedoch nicht möglich, direkt auf Ereignisse/Werteänderungen in IPSymcon zu reagieren(Push), sondern Datenänderungen müssen abgefragt werden (Pull). Über die Web APIs ist es auch möglich, IPS Kommandos zusätzlich auch von externen Anwendungen aufzurufen. Mittels des IPS-Wrappers können die Scripte unverändert innerhalb und außerhalb von IPSymcon laufen.

SDK für native Module (bis Version 3.4)

Das IPSymcon SDK besteht aus eine Reihe von Delphi-Schnittstellen, die einen Zugriff auf die IPS -Kernelfunktionen bieten und kleineren Beispieln für die Umsetzung. Sehr lobenswert ist auch die Unterstützung durch den Entwickler der Software im IPS-Forum. So habe ich, teils mit erheblichen Zeitaufwand, auch eigene Module erst für IPS V1, nun für IPS V2/V3 programmiert.
Das SDK gibt es nur für die Windows Platform. Da die kommenden IPS-Versionen platformübergreifend mit C++ geschrieben werden, erscheint, wird das SDK mit dem Erscheinen von IPSymcon 4.0 in 2016 obsolet, damit erstellte Module werden nicht mehr funktionieren.

eigene native Module für IPSymcon V2/V3

Native Module benötigens das IPSymcon SDK.Dieses SDK benötigt Delphi 2006/7 oder TurboDelphi. Delphi2009 und höher wird nicht unterstützt.

Download
Die Module sind abhängig von der IPSymcon-Version. Ältere Versionen können nicht mehr aktualisiert werden.

Es empfielt sich für FTDI basierte Geräte, die jeweils aktuellen Treiber von FTDI zusammen mit den angepassten INF-Files zu verwenden.

Beim korrekte Laden eines Modules kann man in der Konsole unter dem Menupunkt "Über" und dem Button "Module" in der Auflistung das Modul sehen.


Tipps zur Modulerstellung

Module für IPSymcon zu erstellen ist nicht schwer, wenn man einmal den Einstieg geschafft hat. Um Anderen den Einstieg zu erleichtern, habe ich ein Demoprojekt erstellt und nahezu jede Zeile kommentiert. In dem Demoprojekt wird vorgestellt, wie man sich eine Arbeitsumgebung einrichtet und das Grundgerüst eines IPS-Moduls funktioniert. Mittels Copy/Past/Replace kann man 90% des Codes für eigene Projekte übernehmen und "nur noch" die eigene Funktionalität nachrüsten.
Gezeigt wird der grundsätzliche Aufbau eines einfachen Device-Modules, die Implementierung der Basis und der spezifischen Funktionalität, die Arbeit mit Properties und Statusvariablen sowie die Kommunikation über Interface. Das DemoModul implementiert ein Textinterface, bei dem Daten von PHP oder von einem passenden Modul (hier Serversocket) geloggt werden kann. So ist z.B. die Übertragung von Daten aus Unix-Systemen über den TCP-Port möglich

Home
Disclaimer
© 2009-2016 Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 15.01.2016