@Daniel1103
Also.. ein Script in Blockly zusammenbauen kann ich dir leider nicht. Ich würde das über eine Scriptverkettung in JS lösen. Das geht wahrscheinlich irgendwie auch als Blockly, nur das kann ich noch weniger gut hier schreiben. Durch die Aufspaltung in kleinere Funktionseinheiten wird es besser skalierbare und einfacher zu handeln.
Mein Aufbau sähe so aus:
var timeout = null;
var script_active = false;
var activationDelay = 100;
on ({id:'datenpunkt_aktivierung_durch_vis', change:'ne'}, function() {
if (obj.newState.val) { setTimeout(function() { script_active = true; },activationDelay); }
else script_active=false; });
function Activate() {
if (timeout == null && script_active) {
timeout = setTimeout(function() { timeout = null; }, 100);
// Hier deine Aktion machen
}
}
on ({ id: 'datenpunkt_sensor_1', change: 'gt'} Activate);
on ({ id: 'datenpunkt_sensor_2', change: 'gt'}, Activate);
...
on ({ id: 'datenpunkt_sensor_N', change: 'gt'}, Activate);
dazu noch ein paar Warnhinweise
ich bin im Büro, kann die Syntax also nicht checken - es können Tippfehler drin sein
die Variable ActivationDelay gibt an wieviel zeit zwischen Aktivierung im Vis und Scharf gehen vergeht.
Die Datenpunkte musst du natürlich korrekt setzen, ich kenne deine Objektstruktur nicht.
Du brauchst für jeden Sensor den du überwachen willst ein "on" statement
Durch das "change:'gt'" triggert der "on" Befehl nur auf Änderungen von false auf true, nicht umgekehrt
Durch das "change:'ne" triggert der erste "on" Befehl nur auf Änderungen, nicht auf Aktualisierungen des Status
Was du bei // Hier deine Aktion machen rein kopieren musst kannst Du dir aus dem Quelltext des Blocklys das du oben hast heraus kopieren. Ich kenne die Syntax für Pushover leider nicht.
Ich hoffe das Gibt Dir ein paar Hinweise.