IPSymcon-Module




Ich setze seit 2005 die Haussteuerungssoftware IP-Symcon(IPS) ein. Ein Vorteil dieser Software besteht darin, das es ein SDK gibt, um selber Funktionalität nativ nachrüsten zu können, die sonst keine Chance oder eine niedrige Priorität auf der offiziellen Featureliste haben.
Das 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 programmiert.
Die erste Version von IPS wird nicht mehr unterstützt und ist nicht kompatibel mit der aktuellen Version.

eigene Module für IPSymcon V1

Meine Module für IPSymcon V1 sind fast alle in die Standard-Distribution aufgegegangen. Zusätzlich gibt es noch unveröffentliche Module , z.B zur direkten Portansteuerung (IOPORT) sowie ein erweitertes EzControl-T10-Modul. Die Module für V1 werden nicht mehr verwendet und ebenfalls nicht mehr weiterentwickelt.

eigene Module für IPSymcon V2

Das aktuelle SDK V2.50 benötigt Delphi 2006/7 oder TurboDelphi. Delphi2009 und höher wird nicht unterstützt. In der Version V2 ist auch ein SOAP-Interface integriert, was automatisch alle Interface-Funktionen als SOAP-Schnittstelle bereitstellt, so das man auch von jedem PC in jeder beliebigen Sprachen an die Funktion und Daten von IPS herankommen kann. (siehe auch IPS-Entwicklerbereich)

  • ws300series
    Modul für ELV 868Mhz Wetterempfänger WS300PC,IPWE1,WDE1 und FS20WUE
  • ELV2
    Modulsammlung für ELV-Geräte FS20PCS, FS20PCE,SI-1,ULA200,UAD8,UIO88,M232
    Bei den Modulen für die ELV-Geräte Uxyz handelt es sich um weitgehend ungetestetet formale Übersetzungen der alten V1-Module, da ich die Geräte nicht mehr habe.
  • EM1010
    Modul für EM1000 Energie-Zähler mit Empfänger EM1010PC
  • LCP100
    Modul für LCP100 Fabdisplay (ab IPS V2.3)
  • HHSwitch
    Modul zum Steuern eines mit HID-Interface versehenen PIC-Controllers
  • FT2232HI2C
    Modul zur Steuerung von I2C-Geräten mit einem FTDI 2232H-Controler
  • FHZdummy
    Modul zur Nutzung von Standard IPS-Instancen FS20,FHT etc, welche eigentlich das FHZ1x00PC-Modul als Parent benötigen, aber statt der FHZ mit PHP-Scripten wie die CUL/CUN-Scripte für EM1010,FS20,FHZ,etc arbeiten
  • DemoLogger
    Programmierbeispiel für Modulerstellung (siehe Tipps): TextLogger für Sockets

Download

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

PHP-Scripte für IPSymcon V2

Ganz ohne Compiler kommen die PHP-Scripte aus, mit denen sich grosse Teile von IPSymcon nutzen lassen.


  • I2CLibrary für ELV und Horter USB I2C-Interface
  • Library für busware.de CUL/CUN-Scripte für EM1010,FS20,FHZ,HMS und FHT-Sensordaten sowie FS20 Aktoren
  • Generator für interne Funktionsreferenz
  • USV-Auswertung mit Daten von APCUPSD
  • USV-Auswertung mit Daten von NUT
  • Plugin für Icinga/Nagios Monitoring Framework
Index
Disclaimer
© 2009-2012 Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 02.05.2012