# WAGO 750-881 Starterkit API Frage



## tuxbox (3 Februar 2018)

Hi,

ich habe einige Fragen zu dem oben genannten Produkt und will einfach wissen, ob ich total auf dem Holzweg bin oder ob es in die richtige Richtung geht.

Primär dreht sich die Frage darum, ob das Modul eine API exponiert, hier habe ich nicht wirklich etwas finden können.

Details zu meinem Vorhaben sind wie folgt:

Bei mir steht eine umfangreiche Renovierung an und dabei wollte ich jetzt auch einiges in Richtung Heimautomatisierung und -Steuerung umsetzen. Dazu gehört:
- Rolläden steuern & automatisieren (Hoch & runterfahren nach Außen-, Innentemperatur, Sonnenstand etc.)
- Lichtsteuerung über DALI 
- Steckdosen schalten
- usw.
Nach einiger Recherche erscheint mir hier die WAGO SPS als vernünftiger Ansatz und ich wollte mir das Starterkit zum ersten Ausprobieren holen. 
Ein weiterer Punkt den ich erreichen möchte, ist all diese Funktionen aus meinem Netzwerk von angeschlossenen Geräten steuern zu können, Smartphones, Tablets etc. daher dachte ich an das Ethernet Modul.
Konkret finde ich immer nur Beispiele, dass das Ethernet Modul eine Webvisu zur Verfügung stellt (auch noch als Java Applet :-S), das ist für mich das uninteressanteste, gibt es auch eine entsprechende API die von dem Modul zur Verfügung gestellt wird, mit dem man dann bspw. Digitale Inputs oder ähnliches auslösen kann?
Vom Konzept her wäre bspw. ein Taster am Digitalen Input angeschlossen, um ein Licht zu schalten. Wenn jetzt über den Taster Licht geschaltet wurde, soll bei auslösen eines API Calls das Licht ausgehen und vice versa.

Bin ich hier auf dem richtigen Weg und mit diesem Modul richtig bedient, oder was wäre die sinnvollere Alternative?

Besten Dank im Vorraus!

tuxbox


----------



## Blockmove (3 Februar 2018)

Such mal nach Modbus TCP.
Darüber kannst du am einfachsten mit der Wago kommunizieren.


----------



## tuxbox (4 Februar 2018)

Hi,

das Ethernet Modul exponiert keine Schnittstellen? Ich hatte es so verstanden, dass genau das der Sinn dahinter ist.
würde eher ungern einen weiteren Bus verwendenden auf TCP rumdoktorn, um das Ganze fernzusteuern.

Gruß

tuxbox


----------



## Blockmove (4 Februar 2018)

tuxbox schrieb:


> Hi,
> das Ethernet Modul exponiert keine Schnittstellen? Ich hatte es so verstanden, dass genau das der Sinn dahinter ist.
> würde eher ungern einen weiteren Bus verwendenden auf TCP rumdoktorn, um das Ganze fernzusteuern.



Beim Controller 881 handelt es sich um eine SPS und kein IOT-Spielzeug.
Das Modbus-Protokoll ist in der SPS-Welt wesentlich weiter verbreitet als MQTT, JSON oder Ähnliches.
Die meisten Smarthome-Lösungen (z.B. openhab, IP-Symcon, ...) unterstützen Modbus.

Gruß
Blockmove


----------



## tuxbox (5 Februar 2018)

Vielleicht reden wir nur aneinander vorbei, man kann mit der SPS per Modbus TCP über Ethernet dann kommunizieren? Der Controller stellt seine Funktionalität per Modbus über Ethernet zur Verfügung?

Ansonsten verstehe ich den Kommentar nicht was eine High Level API mit IOT Spielzeug zu tun hat? Das Ding liefert ja einen Webserver von Hause aus mit, es wäre aus meiner Sicht das Normalste dann darüber auch Funktionalität bereit zu stellen.
Low Level gibt es ja auch eine API mit Modbus.

Inzwischen habe ich auch ein PDF von WAGO gefunden, dass die Vermutung Modbus über Ethernet bestätigt.

gruß

tuxbox


----------



## Tobsucht (6 Februar 2018)

Hallo Tuxbox,

da alle Schnittstellen beim Wago Controller offen liegen, steht es einem frei, wie man kommunizieren möchte.
z.B. UDP oder TCP Server/Clients.
Unter Umständen bedeutet dies jedoch einen erheblichen Aufwand.

Da Modbus nativ implementiert ist, bietet sich dieser natürlich an.

Bei einer Hausautomatisierung wird sicherlich die Funktionalität von einem SPS Programm realisiert werden.
Neben den physikalischen Ein- und Ausgängen könnten z.B. auch die über Modbus erreichbaren PFC Variablen zur Steuerung genutzt werden.

Der Webserver bietet auch eine Möglichkeit um auf interne Variablen und die angeschlossenen Module zuzugreifen.
Per SSI können Variablenwerte ausgetauscht werden. Zur Anzeige verwendet man den Platzhalter <!--#READPI ADR=MX10.0&FORMAT=%d-->
Über eine Form und WRITEPI können auch Werte geschrieben werden. Da lässt sich mit JavaScript schon was schönes machen.

Grüße


----------

