Moduleinbindung durch JSON

Hallo Leute,

ich habe ein Javaprogramm den ich über Json in das IP-Symcon einbinden möchte. Die Jason-Datei besteht. Wie kann ich die Jsondatei in das IPS einbinden?

Grüße
Mehdi

Ist es ein Konsolenprogramm oder eine API per Webserver.

API per Webserver

Du kannst dir ein PHP Script anlegen, welches regelmäßig gestartet wird. Dieses Script ruft die Daten dann über einen HTTP Aufruf abrufen. Dazu kannst du cURL verwenden:

PHP: cURL - Manual

und wie binde ich die JSON-Datei an IPS?

Eine Datei garnicht. Sondern du fragst diese wie in meiner Antwort davor gennant mittels cURL ab. Das setzt natürlich Kenntnisse in Programmieren voraus. Sonst wird es schwierig. Eine einfache Anbindung ist so nicht möglich.

ich wollte halt PHP umgehen. Ich habe irgendwo mal gelesen dass die IPS durch den JSON Schnittstelle die Möglichkeit bietet in seine Lieblingssprache zu programmieren. :confused::confused::confused:

Ich dachte ich könnte meine Module mit Java programmieren statt mit PHP.

Naja muss halt eben ein PHP Modul werden

Vielleicht hilft dir das ja weiter.

TextParser — IP-Symcon :: Automatisierungssoftware

Irgendwo muss du halt das Mapping machen, welche Daten aus dem JSON in welcher Variable gespeichert werden soll. Da bietet sich als Brücke ein kleines PHP-Script bzw. ab 4. ggf ein PHP-Modul an. Die Programmlogik kannst du ja weiterhin in Java schreiben.

Naja es bleibt mir ja nichts übrig :cool:

Mein Wunsch für die 4. Version:

  • eine native Schnittstelle am besten in XML

Danke und Grüße
magic

Du kannst jederzeit, über die JSON-RPC, mit IPS Daten austauschen.
Datenaustausch — IP-Symcon :: Automatisierungssoftware

Nur ist die Frage, was du überhaupt vorhast.
Module für IPS sind etwas ganz anderes.
Diese verhalten sich dann in IPS wie eine IPS-Instanz.
Und sind immer mit dem dazugehörigen SDK zu erstellen.
Bis IPS 3.4 waren diese in Delphi zu programmieren.
Ab IPS 4.0 sind es PHP-Klassen welche IPS zur Laufzeit nutzt.

Das hat erstmal wenig mit im json-Format codierten Daten zu tun.

Wenn du also eine externe Anwendung hast, kannst du entweder die JSON-RPC, oder ein polling aus IPS nutzen.

Michael

Also, folgende Situation:

Ich will meine Heimkinogeräte über RS232 steuern. Das Programm hierfür werde ich mit Java programmieren.

Jetzt brauche ich eine Schnittstelle womit ich das ganze auch an das Bussystem des Hauses koppeln kann.

Einfaches Beispiel:

Ich komme ins Kino, wähle ein Film aus, drücke auf Play. Der rest soll automatisch starten:

  • AVR schaltet sich ein
  • Soundkanal wird ausgewählt
  • Beamer schaltet sich ein
  • Licht wird gedimmt
  • Film läuft
  • Drücke ich auf Pause, wird das Licht wieder hochgedimmt
  • AVR schaltet kanal auf Musik um
  • Pausenmusik läuft
  • wenn die Welt untergeht und ich im Kino bin und einen Film anschaue, schreibt mir meine Frau eine Textnachricht „die Welt geht unter. Komm hoch“ und der Beamer projeziert die Nachricht an die Leinwand
  • und haufen weitere „sinnlose“ Sachen

Vorschläge? Mich interessiert nur die Schnittstelle von Java zu IPS.

Der Rest ist klar.

Grüsse
Mehdi

dann ist der Link von Nall chan genau das richtige für dich.

Jap.

Hab mir mehr oder weniger die komplette Doku gestern reingewürgt :smiley:

Korrigiert mich bitte wenn ich falsch liege:

  • ich erstelle in IPS eine beliebige Szene. Sagen wir mal Licht Dimmen, Vorhang zu.
  • ich strate diese Szene durch einen Skriptaufruf durch die JSON-Schnittstelle

So habe ich es aus der Doku verstanden.

Moin

Genau. Alles innerhalb von IPS sind letztlich Scripte.

Gruß,

Toni