Fragen zu SDK und COMServer mit C#

Hallo,

ich bin seit heute im Besitz meiner ersten FS20 Komponenten und von IPSymcon. Für die Visualisierung würde ich gerne eine C#-Anwendung schreiben.
Beim Lesen der Doku und der Forenbeiträge ist mir aber noch nicht ganz klar geworden, wie sich das am besten realisieren läßt. Konkret stellen sich mir folgende Fragen:

  • Welchen Funktionsumfang bietet der COMServer gegenüber einer Socket-Connection wie sie in dem Beispiel verwendet wird das hier im Forum schon gepostet wurde?

  • bekomme ich über den COMServer Events aus IPSymcon mit?

  • Welche Befehle stehen mir zur Verfügung, wenn ich die Socket-Connection verwende? Ich habe die C#-dll ausprobiert, kann mich auch mit IPS verbinden und z.B. den Info-Befehl erfolgreich ausführen. Den hab ich aber noch nirgends in der Doku entdecken können…

  • Wäre es möglich das im Forum erwähnte C#-Beispiel für die Verwendung des COMServers zu bekommen und / oder das SDK zu bekommen?

Viele Fragen…über Eure Hilfe würde ich mich freuen.

hinrich

Es gibt nur die 2 Möglichkeiten, die du selber beschreibst. Für beides gibt es keine Doku. Du kannst nur hier Fragen und wir werden versuchen darauf zu antworten.

Der ComServer ist ein ganz normaler OLE Server. Du kannst dir die Type Library entsprechend importieren und dann siehst du was alles Möglich ist.

Die Socket-Verbindung geht über die Designer Schnittstelle. Sie bietet auch alle Grundfunktionen an und ist Eventbasiert (Im Gegensatz zum ComServer)

Außerdem wird die Designerschnittstelle in Ver. 2.0 auch vorhanden sein. Beim ComServer ist es noch nicht entschieden.

paresy

erstmal vielen Dank für die schnelle Antwort!!
Deine Antwort klingt für mich danach dass die Designer-Schnittstelle der richtige Weg ist.

Da tauchen auch gleich noch weitere Fragen auf (Bitte nicht übel nehmen wenn ich hier als IPS-Neuling so direkt und viel frage…ich versuche nur möglichst schnell einen Überblick über die Möglichkeiten zu bekommen um loslegen zu können…):

  • Du sagst, die Designer-Schnittstelle sei Eventbasiert…heißt das, dass ich Änderungen von Variablen direkt mitbekomme ohne von aussen ständig pollen zu müssen? Wenn ja: Gibts dafür irgendwo ein Beispiel?

  • Gibt es zur Vewendung der Designer-Schnittstelle generell irgendwelche Beispiele? Ich habe wie schon gesagt mit der C#-dll von Joachim ein bißchen probiert, bekomme aber ausser beim Info-Befehl immer nur FAILED zurück.

  • Hier im Forum wurde öfter das SDK-genannt…woraus besteht das bzw. welche Unterstützung gibt es mir bei der Nutzung der Designerschnittstelle?

Danke im Voraus,

hinrich

  • Du sagst, die Designer-Schnittstelle sei Eventbasiert…heißt das, dass ich Änderungen von Variablen direkt mitbekomme ohne von aussen ständig pollen zu müssen? Wenn ja: Gibts dafür irgendwo ein Beispiel?

Genau so ist es. Kein Pollen notwendig. Beispiele: Nein.
Ich habe dir mal die Delphi Variante per PM zukommen lassen. Dort ist die Implementation etwas umfangreicher.

  • Gibt es zur Vewendung der Designer-Schnittstelle generell irgendwelche Beispiele? Ich habe wie schon gesagt mit der C#-dll von Joachim ein bißchen probiert, bekomme aber ausser beim Info-Befehl immer nur FAILED zurück.

Du hast dich aber per AUTH angemeldet?

  • Hier im Forum wurde öfter das SDK-genannt…woraus besteht das bzw. welche Unterstützung gibt es mir bei der Nutzung der Designerschnittstelle?

Das ist das SDK für Delphi (ab 2005), mit dem man direkt Module für IPS machen kann. Wird in deinem Fall nicht ganz die richtige Wahl sein.

paresy

Ja, ich habe mich über die Konsolenanwendung von Joachim per Auth angemeldet, Status, ist dann „Verbunden“ und im IPS-Debugger sehe ich dass ein Client angemeldet wurde (DesignerInterface: Client Connected) Gebe ich dann „Info“ ein, kommt „OK; Kernel 0.00; Designer 1.00“ zurück.
Alle Versuche, andere Befehle abzusetzen (ListVars etc) werden mit einem „Failed“ quittiert.

Moin moin,

ich lese gerade, dass Du auch eine c#-Sharp-Anwendung für IPS schreiben will. Ich bin auch fleissig dabei und werde so in vier Wochen eine Beta für die FHZ-Heizungssteuerung und einige FS20-Komponenten fertig haben.

Das Ganze wird eine verteilte Anwendung. Die Datenhaltung geschieht im SQLExpress-Server. Eine Server-Komponente sorgt für die Verbindung zwischen SQL und IPS.

Eine Client-Komponente ermöglicht die Erstellung beliebiger Heizungsprofile, die dann Räumen, getrennt nach Kategorien wie Wochentag, Feiertag, Abwesend etc zugewiesen werden können.

Im zweiten Schritt ist dann eine Client-Anwedung für Windows-CE (Simpad) geplant.

Je nach Bedarf werde ich dann später weitere IPS-Geräte (1-Wire etc) hinzufügen.

Es wird eine kostenlose Va<riante geben, die aber auf zwei Räume beschränkt ist. Für die Vollversion werde ich voraussichtlich 50 Euro nehmen.

Joachim

Moin,
hört sich gut an was Du da vorhast. Bei mir liegt der Schwerpunkt etwas anders - jhauptsächlich in der Integration mit anderen Komponenten (Videoüberwachung, Gefahrenmelder). Ich hatte mir dazu auch schon IPS homecontrol mit dem MediaPortal-Plugin angesehen, das ist mir aber von der Oberfläche her zu statisch.
Aber ich bin derzeit noch neu im Thema und lote erstmal die Möglichkeiten aus…in welcher Reihenfolge ich dann welche Teile angehe und wie die Umsetzung nachher wirklich aussieht weiß ich noch nicht. Momentan träume ich von einem Client, der auf WPF bzw. Silverlight basiert.

Ich habe hier einen selbstgeschriebenen HomeAutomation-Server mit Ansteuerung der FHZ 1000 PC sowie einem rudimentären WPF-Client. Beides ist in C# mit der Beta von Visual Studio 2008 entwickelt. Die Kommunikation erfolgt über WCF/WebServices.

Eine Integration in IP-Symcon gibt es jedoch nicht.

Bei Interesse stelle ich den Quellcode gerne per PM zur Verfügung.

  • Christoph