WEBIO 12DIGITAL: Unterschied zwischen den Versionen
K (Ph1959de verschob die Seite WebIO Digital nach WEBIO 12DIGITAL, ohne dabei eine Weiterleitung anzulegen: Anpassung an richtige Schreibweise des Modulnamens) |
Krikan (Diskussion | Beiträge) K (Commandref-Link in Modulbox manuell gesetzt (Unterstrich im Modulname wird sonst nicht beachtet)) |
||
Zeile 2: | Zeile 2: | ||
|ModPurpose=Ansteurung von W&T WebIO Digital | |ModPurpose=Ansteurung von W&T WebIO Digital | ||
|ModType=d | |ModType=d | ||
|ModCmdRef=WEBIO_12DIGITAL | |||
|ModForumArea=Sonstiges | |ModForumArea=Sonstiges | ||
|ModTechName=23_WEBIO_12DIGITAL.pm | |ModTechName=23_WEBIO_12DIGITAL.pm |
Aktuelle Version vom 8. Dezember 2015, 13:55 Uhr
WEBIO_12DIGITAL | |
---|---|
Zweck / Funktion | |
Ansteurung von W&T WebIO Digital | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 23_WEBIO_12DIGITAL.pm |
Ersteller | Sascha alias sachag |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
FHEM Modul zur Ansteurung von W&T WebIO Digital Ausgängen
Allgemeines
Die Firma Wiesemann & Theis GmbH in Wuppertal stellt diverse Geräte zur Daten- und Signalübertragung in Industrieqaulität her. Die Geräte sind relativ hochpreisig, aber auch sehr robust.
Die WebIOs zeichnen sich durch einen recht hohen Bereich in der Versorgungsspannung (12-24V AC/DC) und der Eingangsspannung (max. Eingangsspannung +/-30V, Schaltschwelle 8V +/- 1V) sowie einem geringem Steuerstrom an den Eingängen ("Ein"-Strom = 2,2 mA) aus. Sie besitzen eine galvanische Trennung. Die Ausgänge sind entweder digital (12x 6V-30V, 500mA) oder potentialfreie Relaiskontakte (6x Schaltspannung max 48V AC bei 5A Laststrom bzw. Schaltspannung max 30V DC bei 5A Laststrom). Die Digitalausgänge können in Gruppen zusammengefasst werden, um höhere Ströme zu schalten.
Basic Syntax
Definition
define <name> WEBIO_12DIGITAL <IP|FQDN> <WebIO-Output-Nummer> <Poll-Intervall für Statusabfrage in Sekunden>
Die Kommunikation erfolgt über HTTP. Im angegebenen Intervall wird der Status des Ausgangs geprüft um eine Statusänderung durch Steuerbefehle außerhalb von FHEM zu erfassen.
on / off
set <name> on|off
Schaltet den Ausgang ein bzw. aus.
on for timer
set <name> on-for-timer <timer>
Schaltet den Ausgang für den Wert von Timer in Sekunden ein. Die Steuerung erfolgt durch das Modul, welches nach dem Timerablauf einen Off-Befehl sendet.
Beispiel:
set <name> on-for-timer 10
: Schaltet den Ausgang für 10 Sekunden auf ON.
Konfiguration WebIO
IP-Adresse
Die IP-Adresse des WebIO kann mit der Windows-Software WuTility gesetzt werden, welche auch ein Firmwareupgrade ermöglicht. Alternativ kann die IP-Adresse über die V.24-Schnittstelle administriert werden.
Login auf WebIO
Nach Setzen der IP wird die restliche Konfiguration via HTTP im Webbrowser vorgenommen. Nach Aufruf der Adresse http://IP-des_WebIO erscheint die eingestellte Startseite. Zur Konfiguration muss man sich zuerst einloggen. Das Default Passwort ist leer.
Nach dem Login wird man gefragt, ob man im Expertenmodus oder über Profile arbeiten möchte. Beide Modis sind grundsätzlich gleich, jedoch markiert der Profil-Modus die für das gewählte Profil zu administrierenden Menüpunkte im Parameterbaum.
Zweig im Webinterface: Home -> Config
Passwort
Zum Schalten via HTTP wird das Operator-Passwort des WebIO benötigt. Das das Modul kein Kennwort unterstützt, muss dieses im Web-IO leer gelassen werden.
Zweig im Webinterface: Home -> Config -> Session Control -> New Password
HTTP-Steuerung aktivieren
Damit die Ausgänge gesteuert werden können, muss der Punkt 'HTTP GET enable' aktiviert sein.
Zweig im Webinterface: Home -> Config -> Device -> Basic Settings -> HTTP
Ausgangskonfiguration
Die Ausgänge müssen für die Steuerung via HTTP eingestellt werden.
Zweig im Webinterface: Config -> Device -> Output Mode
Überwachung der WebIO-Inputs
Diese Funktion wird nicht durch das Modul unterstützt, kann aber recht einfach über das Telnet-Interface von FHEM abgebildet werden. Auch hier ist nur der Vorgang ohne Kennwortschutz auf dem FHEM-Telnet-Interface getestet und dokumentiert.
Einrichtung im FHEM
Im FHEM wird pro Input ein Dummy angelegt:
define <name> Dummy
Beispiel entspr. der folgenden WebIO-Konfiguration:
define WuTest1 Dummy
Einrichtung im WebIO
Im WebIO wird pro Input ein TCP-Alarm eingerichtet, welcher den Zustand an das Telnet-Interface sendet:
Bei der Befehlszeile ist darauf zu achten, dass diese mit einem Return abgeschlossen ist, da ansonsten die Befehlsausführung scheitert.
zyklische Statusaktualisierung
Da die Zustände nicht gepollt werden, könnte es passieren, dass eine Änderung nicht im FHEM registriert wird. Um dieses Risiko zu minimieren gibt es 2 Wege den Status. zyklisch zu aktualisieren. Zum Einen kann mit dem HTTPMOD zyklisch der Input gelesen werden, zum Anderen kann der Alarm auch zyklisch gestartet werden. Zudem kann der Status nach Restart des WebIO neu übermittelt werden:
Prüfung via HTTPMOD
Diese Option bietet sich an, wenn man keinen Dummy anlegen will und die zyklische Prüfung des Input-Status ausreicht.
define WebIO_I0 HTTPMOD http://WebIO-Adresse/input0?PW=& Prüfintevall
attr WebIO_I0 userattr reading00Name reading00Regex
attr WebIO_I0 reading00Name Input00
attr WebIO_I0 reading00Regex input0;(.*)
Beim Anlegen über die GUI-Kommandozeile kann der Punkt userattr ignoriert werden, dies wir automatisch durch das Anlegen der anderen Attribute erledigt. Beim direkten Eintragen in die Konfig (nicht empfohlen) müssen im Attribut Regex 2 Semikolons angegeben werden Um nun den Dummy zu setzen, bedarf es noch eines Notify.
Prüfung via zyklischer Alarme im Web-IO
In diesem Beispiel soll nun der Status minütlich übertragen, sowie nach einem Restart des WebIO.
Eine Überprüfung zeigte, dass die zyklische Übertragung nicht funktioniert. Laut Handbuch muss noch der Time Trigger administriert werden:
Nun konnte ein minütliches Update des Inputstatus geprüft werden. Details zum Sytax des Time Trigger sind im Handbuch des WebIO zu finden. Dieser soll sich jedoch an dem Syntax des Linux-Cron orientieren.
Einschränkung
Sehr kurze ON-Impulse am Eingang führten im Test dazu, dass der OFF-Zustand nicht mehr gesetzt wurde. Im Trace hat sich gezeigt, dass das WebIO den OFF-Befehl nicht sendet.
Wenn das Übermitteln einer Zustandsänderung scheitert, wird der Input-Zustand nicht gepollt, es wird also erst bei der nächsten Zustandsänderung der Dummy-Zustand angepasst. Dieser Umstand lässt sich durch die oben beschriebene zyklische Übertragung des Zustandes reduzieren.
Links
- Herstellerwebsite: www.wut.de