NEWS
On ID Grundlage
-
-
Es funktionieren beide Varianten. Nur eben nicht in meinem Hauptscript mit "interval".
Im extra Script kein Problem.@Laser sagte: mit "interval".
Wenn nicht per Trigger, sondern per Polling auf die Flanke reagiert werden soll, benötigt man eine Hilfsvariable:
const id = '0_userdata.0.Logik.TestZustand'; var lastVal = getState(id).val; function abfrage() { const val = getState(id).val; if(!val && lastVal) { // Aktion bei Flanke true --> false } lastVal = val; } setInterval(abfrage,2000); -
Ja, das Ganze kann man natürlich auch so machen. Ohne die tolle "on id" mit "change" ging es ja früher auch.
-
@paul53
dafür ist das ack da.const DP ="0_userdata.0.Logik.TestZustand"; createState(DP, 0, false, { // Datenpunkt wird angelegt name: 'TestZustand', desc: 'Logik.TestZustand', type: 'boolean', def: 'false', role: 'value' }); /*So macht man es, wenn die Flanke wechselt (true - false - true*/ on({id:DP,val:false,change: 'ne'}, function(dp){ console.log("fallende Flanke"); }); /*So macht man es, wenn die Flanke NICHT wechselt (false - false - false)*/ on({id:DP,val:false,change: 'any'}, function(dp){ if(!dp.state.ack){ console.log("fallende Flanke"); setState(DP, false , true); //ack setzen. } });