Seite 1 von 1

Taskstart im Automation Manager

Verfasst: 10.01.2020, 00:43
von Micronomic
Hallo,
ich hätte eine Frage zum "Startmodus" im Automation Manager:
Wo liegt der Unterschied bei der Frage:
Falls Task bereits läuft:
1. Task trotzdem starten (Standard)
und
3. Aktuellen Task abbrechen und dann starten
m.E. ist es doch dasselbe:
- bei 1. wird der Task gestartet (was ja bedeuten würde das der aktuelle Task beendet wird und der Task "trotzdem" gestartet wird)
- bei 3. wird der aktuelle Task "abgebrochen" und der Task neu gestartet

oder "wartet" der NEO-Server bei 1. auf das Ende vom Task und startet dann den Task "nochmals" ?
oder laufen bei 1. 2 Tasks "gleichzeitig" ?
Habe darauf in den "Manuals" keine Antworten gefunden.
Weiss jemand wie lange ein Task bei der auslösenden "Sobald" Bedingung aktiv bleibt? Kann ein Task "mehrfach" gestartet werden?
Wäre für Antworten dankbar.

Re: Taskstart im Automation Manager

Verfasst: 10.01.2020, 00:55
von Fonzo
Micronomic hat geschrieben:
10.01.2020, 00:43
Habe darauf in den "Manuals" keine Antworten gefunden.
Was willst Du denn genau machen, das geht nicht ganz hervor aus dem was Du schreibst? Abbrechen kann man imho einen Task nicht einfach, es sei denn Du triggerst ein Skript das bei einer Bedingung abbricht.
Micronomic hat geschrieben:
10.01.2020, 00:43
Weiss jemand wie lange ein Task bei der auslösenden "Sobald" Bedingung aktiv bleibt?
Der Task wird einfach durchlaufen, da bleibt nichts aktiv, ansonsten müsste man den Task in einem Intervall aufrufen.
Micronomic hat geschrieben:
10.01.2020, 00:43
Kann ein Task "mehrfach" gestartet werden?
Meiner Meinung nach löst der Task jedes mal aus wenn die Bedingung greift, Du kannst höchstens einen Reaktivierungsschwellenwert setzten.

Vielleicht gibst Du einfach mal ein Beispiel was Du eigentlich vor hast, damit man besser nachvollziehen kann was Du eigentlich für einen Task erstellen willst.

Re: Taskstart im Automation Manager

Verfasst: 11.01.2020, 19:09
von Micronomic
Hallo Fonzo,
ich habe eine V5+ und im Bad einen HMIP-SWDO Sensor am Fenster und einen AVM DECT Heizkörper-Thermostat
Im Bad ist die Soll-Temperatur vor dem Öffnen des Fensters 20°.
Wenn Fenster auf geht soll der Sensor den Task "Fenster Bad auf" starten, welcher über ein Script den aktuellen Soll-Wert in der Sytemvariable "Temp_Bad_soll" speichert und die Temperatur dann auf 8° setzt.
Wenn das Fenster dann zu geht soll der Sensor den Task "Fenster Bad zu" starten welcher über ein Script den Wert aus der Systemvariable "Temp_Bad_soll" holt und in den Thermostat als aktuellen Soll-Wert übermittelt.
Schwierigkeit ist, dass die Variable beim Testlauf vom Script korrekt gesetzt wird aber im Ablauf vom Task nach dem Ende vom Task "Fenster Bad auf" auf 8 steht obwohl das Script logischerweise VOR dem Setzen der Soll-Temperatur liegt.
Es macht den Anschein, dass der Task zu schnell abläuft und somit die falsche Soll-Temperatur "gemerkt/gespeichert" wird, da die Soll-Temperatur vom Task bereits geändert ist, bevor das Script sich die Soll-Temperatur merken konnte. Eine Lösung habe ich gefunden, indem ich eine Pause von 20 Sekunden hinter dem Script eingefügt habe.
Script.jpg
Script.jpg (30.68 KiB) 1389 mal betrachtet

Trotzdem interessieren mich die im ersten Post gestellten Fragen zu den Unterschieden der Start-Möglichkeiten 1 und 3.
LG Axel

Re: Taskstart im Automation Manager

Verfasst: 12.01.2020, 09:45
von Fonzo
Wie sieht denn der andere Task aus? Es muss ja noch einen Task geben was passiert wenn das Fenster wieder zu ist.

Re: Taskstart im Automation Manager

Verfasst: 12.01.2020, 19:07
von Micronomic
Hallo Fonzo,
Task "Fenster Bad zu":
Script.jpg
Script.jpg (29.34 KiB) 1357 mal betrachtet
mit dem Script "Temperatur_Bad_setzen":
getDeviceStatus(
"AIO GATEWAY V5+ (EA)",
"Temperatur_Bad_soll",
{"value":"state","extMeta":"-21474836.48-21474836.47","scale":"0.01"},
function(err, status) {
err && console.error(err.message);
console.log(status);
executeDeviceCommand(
"Bad",
"Heizung",
{"value":"temp","ext":status,"extMeta":"7.5-28.5","scale":"0.5"},
function(err) {
err && console.error(err.message);
}
);
}
);

und es funktioniert ;-) Die System-Variable "Fenster_Bad_offen" ist zur Sicherheit falls der Task mehrfach anläuft...
LG Axel