Hier noch meine Lösung, falls jemand ein ähnliches Problem hat:
Gruß Steffen! ````
// Variablen deklarieren / ID´s einlesen
var request = require ('request');
var bSetAusgang1 = "javascript.0.Netio230B.Set_Ausgang_1";
var bAusgang1 = "javascript.0.Netio230B.Ausgang_1";
! // Ausgang 1 behandeln
on({id: bSetAusgang1, val: true}, function() {
log("1. Ausgang 1 soll geschaltet werden");
LeseStatus (1);
setState(bSetAusgang1, false); // VIS-Variable wieder zurücksetzen
});
! // Status der Ausgänge lesen
function LeseStatus (Out) {
var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=l";
var OutStatus;
request(url, function (error, state, body) {
if (body) {
var abody = body.slice(6, 13).split(' '); // Status der 4 Ausgänge extrahieren und in Array splitten
OutStatus = abody[Out-1]; // Übergebener Wert ist vom Typ string!!
log("2. Ausgang " + Out + " hat Zustand " + OutStatus);
if (OutStatus === "1") {
log("3. Ausgang " + Out + " wird ausgeschaltet");
SchalteAusgang ("0uuu");
setState(bAusgang1, false);
}
if (OutStatus === "0") {
log("3. Ausgang " + Out + " wird eingeschaltet");
SchalteAusgang ("1uuu");
setState(bAusgang1, true);
}
}
});
}
! // Ausgänge schalten
function SchalteAusgang (befehl) {
var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=" + befehl;
log ("4. Sende Befehl: " + url);
request(url, function(error, state, body) {
log("5. Rückmeldung: " + state);
});
}