Hallo,
ich habe das Problem, dass ich keine Java-Scripte aus dem AM heraus starten kann. Das Script funktioniert bei Test im Editor, AM-Task wird bei Buttobetätigung aufgerufen, jedoch startet das Script nicht.
Hier meine Vorgehensweise:
Mit der Variablen Rq_Ein2 soll dasScript aufgerufen werden. Es handelt sich um eine Variable im V5-Gateway.
Der Neo-Server läuft auf dem gleichen Gateway.
Variablenanbindung an Button im Neo-Creator
Task im AM. Werden hier andere Aktionen anstelle des Scriptaufrufes getriggert, so laufen diese einwandfrei. Will heißen, Task wird sauber gestartet.
Hier das Script welches ausgeführt werden soll. Test im Editor funktioniert einwandfrei, Script tut was es soll, lässt sich per AM aber nicht triggern
let req_ein_aus = 0;
let control = "";
getDeviceStatus(
"AIO GATEWAY V5+",
"Rq_Ein2",
{"value":"state","extMeta":"-2147483648-2147483647"},
function(err, status) {
err && console.error(err.message);
console.log(status);
req_ein_aus = status; //Server Variable Rq_Ein zwischenspeichern
//req_ein_aus = 1; // Teststeuern
console.log("req_ein_aus = " + status);
switch(req_ein_aus) {
case 1: // manuelles Sperren/Freigaben der Klimaanlage Schwimmbad (Sperren auch bei geshlossenen Tueren)
console.log("in case = 1");
//Abfrage ob Output Freigabe (Kanal G -- Schalter) ein oder ausgeschaltet
getDeviceStatus(
"Kg_UV_00",
"AKS-1616 Schaltaktor 01 UV-Keller",
{"value":"79@state","options":["on","off"]},
function(err, status) {
err && console.error(err.message);
console.log("Klima Freigabe = " + status);
if (status == "on") {
control = "76@on"; //Sperre von Kanal G einschalten
console.log("Klima wird gesperrt");
}
if (status == "off") {
control = "76@off"; //Sperre von Kanal G ausschalten
console.log("Klima wird freigegeben");
}
executeDeviceCommand(
"Kg_UV_00",
"AKS-1616 Schaltaktor 01 UV-Keller",
{"value":control},
function(err) {
err && console.error(err.message);
}
);
executeDeviceCommand(
"AIO GATEWAY V5+",
"Rq_Ein2",
{"value":"setValue","ext":"0","extMeta":"-2147483648-2147483647"},
function(err) {
err && console.error(err.message);
}
);
}
);
//break;
}
}
);
Von
Hallo zdenko,
vielen Dank für die schnelle Unterstützung. Es scheint als würden prinzipiell keine scripts gestartet. Habe das jetzt mal mit dem Scriptnamen "Klima" und simplem Scriptinhalt probiert. Ohne Erfolg. Testen im Editor funktioniert, Script aus AM Task nicht.
Keine Ahnung was ich da noch probieren kann. Bin gerade etwas ratlos. Was kann den Start verhindern? Muss vielleicht irgendwo noch irgendetwas systemseitig parametriert werden?
Von
Starte das gateway neu über config tool
Von
Wenn das nicht geht...reset machen auf werkszustand und ganz neu einrichten
Von
super Idee. Bingo, das einfache Script läuft jetzt. Habe die Spannung vom gateway genommen und wieder eingeschaltet, denke das kommt dem Reset gleich. Aber das eigentliche Script läuft noch immer nicht. Das muss ich später mal in Ruhe durchleuchten. Zumindest wird jetzt überhaupt mal ein script gestartet. Melde mich wieder und werde berichten.
Von
bin jetzt ein kleines Stück weiter, es gibt ein Problem mit den beiden oben definierten Variablen. Er versteht die "let" Anweisung nicht oder falsch. Kann mir schon denken was da los ist. Ich teste weiter
Von
ok das war es. let in var gewandelt und alles funkt. Ich muss mir noch mal den Gültigkeitsbereich von let ansehen.
Nochmal vielen Dank für die Unterstützung. Auf den Reset wär ich nie gekommen.
Von
Super...schöne ostern
Neuen Kommentar hinzufügen