Schnittstelle zu CEP-System

Begonnen von Guest, 14 Juli 2011, 14:22:37

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hi!

Wie vor einiger Zeit erwähnt, arbeite ich seit längerer Zeit an einem in
Erlang implementierten Complex Event Processing System mit einer grafischen
Oberfläche zur Definition des Operator-Netzwerkes. Siehe hierzu auch
https://groups.google.com/d/msg/fhem-users/UXpEsAo6poU/zuvqeeGXXLEJ

Die GUI sieht ähnlich aus wie bei Yahoo Pipes.

Es ist geplant, ein Portal online zu stellen, an das neben vieler anderer
Sensorik und Aktorik auch FHEM-Instanzen angebunden werden können.
Das ganze wird open source werden. Ihr könntet den CEP-Server also auch bei
euch zu Hause betreiben.

Demnächst kann ich Euch eine Diplomarbeit online stellen, die das System
ganz gut beschreibt.

Ich stehe jetzt immer noch vor der Frage, wie ich FHEM am besten anbinde.
Momentan greift der CEP-Server via SSH auf den FHEM-Server zu und macht dort
ein telnet 7072 auf. Dieser Ansatz ist für eine große Anzahl verbundener
FHEM-Instanzen kaum brauchbar. Am liebsten wäre mir, FHEM macht selbst zwei
AMQP-Verbindungen (für jede Richtung eine) zum CEP-Server auf. Es müßte von
FHEM nur das, was jetzt über telnet ausgegeben wird, zusätzlich via AMQP
gesendet werden, und das, was via AMQP empfangen wird, müßte an FHEM
übergeben werden, als ob es via telnet eingegeben worden wäre.

Hat jemand eine bessere Idee? Könnte jemand bei der Implementierung helfen?
Mein Perl ist etwas eingerostet.

Gibt es sowas wie ein FHEM-Usertreffen? Ich wäre gern bereit, mal
vorbeizukommen und das System zu demonstrieren.

Gruß
Heiner

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Am liebsten wäre mir, FHEM macht selbst zwei AMQP-Verbindungen (für jede
> Richtung eine) zum CEP-Server auf.

Wenn ich mich recht erinnere ist das AMQP Format relativ einfech, ich habe mal
eine mysql Erweiterung gebaut, um via mysql-trigger Nachrichten in einem Spring
Message Queue zu packen.

Die Rahmenbedingungen in fhem sind da, man muss "nur" ein AMQP Modul bauen.

Dieser muesste im DefFn zwei Verbindung(en) zum CEP Server aufmachen, siehe
z.Bsp 00_CUL.pm: CUL_OpenDev() und CUL_CloseDev(), wie man eine TCP-IP
Verbindung oeffnet, und es in die globale %selectlist eintraegt.  Wenn Daten
auf der Verbindung anstehen, dann wird das ReadFn aufgerufen.  Kommandos fuehrt
man mit AnalyzeCommand(Chain) aus.

Fuer die andere Richtung muss man ein NotifyFn definieren (siehe z.Bsp.
91_notify.pm).

Alternatives Beispiel ist 93_FHEM2FHEM.pm, der oeffnet gleich 2 Verbindungen,
operiert aber auf der "inform raw" Ebene, d.h. tauscht die "unverdauten"
Nachrichten mit der zweiten FHEM Instanz aus, d.h. es wird ein CUL/TUL/FHZ/etc
simuliert.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Wow, danke für die schnelle Antwort!

Ich werde mir die von Dir genannten Module mal ansehen und mal mit perl und
AMQP rumprobieren.




--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com