Zur besten Antwort gewählt
Nov 28, 2018 - 06:33
jede minute
die variable offnungszeit um 1 verkleinnern bis sie 0 ist
(mit script eine integer variable erhöhen, so):
getDeviceStatus(
"AIO GATEWAY V5+ (EA)",
"offnungszeit",
{"value":"state","extMeta":"-2147483648-2147483647"},
function(err, status) {
if(!err) {
status = status - 1;
executeDeviceCommand(
"AIO GATEWAY V5+ (EA)",
"offnungszeit",
{"value":"setValue","ext":status,"extMeta":"-2147483648-2147483647"},
function(err) {
err && console.error(err.message);
}
);
}
}
);
so,diesen task speichern aber nicht aktiv machen und auf den server übertrageneinen task anlegen mit auslöser fenster offen
und ein http aktion rein mit folgendem inhalt:
GET
die url sollte so aussehen:
http://192.168.1.20:80/cmd?XC_FNC=setTaskActive&id=5&active=true&au
th=passwort
id=5 sollte die nummer des tasks mit dem intervall seinpasswort ist das passwort des gateways
damit schalten wir jetzt den task 5 aktiv
so wenn die variable offnungszeit auf null kommmt machebn wir in einem task der die variable prüft auf null
bei mir ist Heizstatus eine variable als integer angelegt und eigentlich ist deine offnungszeit variable die im script benutzt wird
in der http aktion kommt diesmal dieses:
http://192.168.1.20:80/cmd?XC_FNC=setTaskActive&id=5&active=false&a
uth=passwort
damit wird der intervall task wieder inactiv....
dabei ist aufzupassen das natürlich wieder die offnungszeit wieder auf den vorangestellten wert zurückgesetzt wird
auch würde ich einen task bei fenster zu erstellen der mit einer http aktion wieder den intervall task auf inaktiv schaltet.
es geht bestimmt man muss nur überlegen welche variablen man braucht und wie das im kopf vorgeht :)
einfach spielen :)
Von
Danke @zdenko33
Ich schau mir Deinen Lösungsansatz mal genau an
Wenn es so funktionieren würde wäre ich schon sehr froh, denn andere Systeme noch zusätzlich möchte ich nicht.
Von
Es sollte schon gehen. Melde dich bei erfolg oder bei problemen
Von
@zdenko33
Habe Deine Info soweit verstanden wie der Aufruf und die Übergabe bzw. Abfrage der Variablen funktioniert.
Habe jedoch noch Fragen:
Wenn ich folgendes Script habe, das durch eine Blockfunktion gestartet wird:
var a = 5;
console.log('Wert von variable a:', a);
console.log('PLSTATUS.Variable.lauf= '+ value);
executeDeviceCommand(
"Variabeln",
"lauf",
{"value":"toggle"},
function(err) {
err && console.error(err.message);
}
);
In welche console werden die Ausgaben gesendet?
Im Benutzer/dokumente Verzeichnis gibt es eine "AIO CREATOR NEO.log", doch in dieser ist der Aufruf der o.g. Script mittels HTTP-Befehl nicht enthalten. Ich finde keine log-datei in der diese Info enthalten ist.
Wie kann ein Status aus einem Script in eine log-datei geschrieben werden, und in welche.
Von
es ist eigentlich gedacht im automationsmanager bei play taste das script zu testen, also im script editor, wenn du auf die play taste klickst testedst du das script und es gibt eine ausgabe in einem fenster.
Ob es eine ausgabe in eine log datei gibt weiss ich nicht, wenn ja dann bestimmt nicht im neo ordner sondern im neo server, also bei dier im v5 plus gateway...das kannst du nachsehen im config tool neo, bzw. laden auf dein pc und ansehen.
Neuen Kommentar hinzufügen