Kennt jemand die kleinen Fernwirkgeräte von W&T? Ich habe vor kurzem eines abstauben können und frage mich nun ob ich dieses Teil über IPSymcon ansteuern kann! Web-IO 12x Digital Input, 12x Digital Output heißt das Gerät, genaueres steht auf der Herstellerhomepage.
Vielleicht weiß jemand Bescheid und kann mir helfen!
… kein Problem mit IPS.
Mit dem „WWW Reader“ sollte es klappen.
Alle notwendigen Befehle hat der Hersteller für das „Web-IO“ dokumentiert.
MST
PS: Beispiel um eine Allnet IP-Steckdose All3075 ein- und aus zu schalten
Auch hier bitte die Doku des Herstellers lesen - mehr können wir leider nicht supporten
$id = 20085; // vom WWWReader
$status = 1; // 1 fpr AN / 0 für AUS
WWWReader_SetPage($id, "http://192.168.2.85/r?b=1&r=0&s=". $status);
WWWReader_UpdatePage($id)
Hab mich mal ein bisschen damit ausseinander gesetzt. Leider mit wenig Erfolg, da ich mich zum Beispiel auf dem WuT einloggen muß bevor ich schalten kann. Hab momentan keine Idee wie ich das mit dem WWWReader hinbringen soll. Hat schon mal jemand etwas ähnliches gebastelt und kann mir ein „Besipielscript“ posten damit ich mir das Ganze etwas vorstellen kann?
Andere Frage: Könnte ich die Sache in IPS auch per TCP/UDP Sockets lösen? Das könnte das WuT auch, sollte ich es per HTML/PHP nicht hinbekommen. Dafür wäre Client- bzw. Serversocket in IPS zu verwenden oder?
Hoffe auf eine kleine Starthilfe :rolleyes:
Kommando zurück !!! Hab bereits einen Ansatz gefunden. Echt jedes Mal wenn ich hier euch befrage komme ich selbst drauf! DANKE
Ich habe einen 57631, aber die Befehle müssten dieselben sein. Ich habe das Ganze jetzt per IPS und WWWReader gelöst. Setzen der Outputs mache ich mit dem Befehel
Das bei PW=… dein Passwort rein muß, brauch ich dir nicht erklären oder?
Die Inputs liest du mit
http://192.168.100.18/input0?PW=wut&
du erhälst dann zum Beispiel
input0;OFF
zurück.
Wie ich alles drumherum gemacht habe bzw. wie du die Outputs dann in eine Variable bringst usw. kannst du hier http://www.ipsymcon.de/forum/f3/text-parser-5423/ (oder eben nicht Text Parser ;-)) wunderbar nachlesen, da haben mich RWN und Torro ganz toll unterstützt!
Viel Spaß beim Tüfteln, finde die Teile echt toll!! Stehe für weitere Fragen gerne zur Verfügung.
genau das habe ich befürchtet. Leider unterstützen die 50xxx noch kein http zugriff(Die Kiste ist 10 Jahre alt^^). Sondern das läuft alles nur mit dieser TCP Client Socket Verbindung. Nur da stehe ich total auf dem Schlauch. Auf der W&T Seite gibt es leider nur ein Beispiel wie man das in Delphi lösen kann. Aber am WE sind die Kids im Urlaub und meine Frau muß arbeiten, da werde ich mich mal damit beschäftigen.
und schon stehe ich vor einem Problem. Ich habe einen Client Socket Verbindung erstellt und mit dem E/A - Com - Server verbunden. Aus dem Manual geht folgendes herrvor:
Um den Inhalt eines Paketes eindeutig identifizieren und auswerten zu können, müssen alle
Daten in Form dieser E/A-Strukturen an den E/A-Com-Server gesendet werden. Alle Stukturen
beginnen mit dem gleichen Header, der aus den folgenden 4 WORDs (16bit_Integer) besteht:
send_sequence und rec_sequence werden nur ausgefüllt, wenn man im Mode UDP die Kontrolle der Paketreihenfolge selbst implementieren möchte . Sonst sind diese Werte immer 0 und dürfen nicht weggelassen werden!
Der Wert struct_typ identifiziert den Inhalt der Struktur nach den ersten 4 WORDs und length gibt die Gesamtlänge der Struktur in Bytes an, also inklusive der ersten 4 WORDs.
Wenn einzelne Ausgänge gesetzt werden sollen habe ich mir mal das Beispiel genommen:
send_sequence= 0;
rec_sequence= 0;
struct_typ= 0x0009;// Struktur-Typ SET_BIT
length= 12;// Paketlänge in Bytes
typedef struct _SET_BIT
{ word set_bits; // Bit = 1: | Bitposition = 0:
// Ausgang wird gesetzt| wird nicht gesetzt
word value;// Pegel der zu setzenden Bits
} SET_BIT;
Bsp.:
set_bits = 0x0124 / value = 0x0104
Die Digitalen Ausgaenge A2 und A8 (Zaehlweise A0…11) werden auf HIGH
gesetzt und der Ausgang A5 auf LOW. Alle anderen Ausgaenge werden nicht
veraendert.
Nachdem ich die Pakete mal analysiert habe , mußte ich feststellen, das natürlich das „low“ Byte vor dem „high“ Byte stehen muß. Somit ist z.b. das Setzen des Ausgangs 0 wie folgt möglich.
nachdem ich nun alle Schwierigkeiten beseitigt habe, läuft das ganze nun. Es ist doch wesentlich einfacher Ausgänge zu setzen und Inputs über eine TCP Client Socket Verbindung abzufragen, als es auf den ersten Blick ausschaut. Ich habe den Modus so gesetzt , das wenn Änderungen an den Eingängen auftreten, ein Datensatz an IPS gesendet wird.
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Datenempfang.ips.php
Trigger :
Interval :
*/
include'global.ips.php';
$Daten = GetvalueString("WuT");
if (ord($Daten{4}) == 8){ // 8 = Daten kommen vom Input
$Input = ord($Daten{10})+ ord($Daten{11})*256 ; //Position 10 low Byte Position 11 high Byte
for ($i=0; $i<=11; $i++){ // Eingang 0 - 11 auswerten
$Bit = ($Input >> $i) & 1; // aus dem Integer , 0 oder 1 ermitteln
SetValueBoolean("WuTIn".($i) , ($Bit == 1)); // einzelne Boolvariablen setzen
}
}
?>
Mit TCP Client Socket und meinem fast nicht vorhanden PHP-Wissen hätte ich die W&T niemals in mein IPS gebracht. Aber gerade daran sieht man jetzt hier, wie flexibel die Teile in der Handhabung sind. Und du bringst sie überall im IP-Netzwerk unter.
Ich habe die Version mit COM-Server integriert. Seit gestern habe ich auf dem W&T noch ein 1-Wire Netzwerk stecken per DS9097U.
Leider sind die W&T’s nícht ganz billig, zumindest für meinen Geschmack…