NEWS
HM Keymatic: Mehrfacher Statuswechsel
-
Hi,
ok, hatte ich so schon mal probiert, glaube ich, und hatte nicht so recht funktioniert.
Werde es aber noch einmal so aufsetzten.
Danke.
Frank
-
Hi,
ok, hatte ich so schon mal probiert, glaube ich, und hatte nicht so recht funktioniert.
Werde es aber noch einmal so aufsetzten.
Danke.
Frank `
versuch mal und post was du in blockly gemacht hast dan koennen wir mal drueber schaun und dir helfen.
En ich die logic der keymatic so sehe sollte die logic im blockly welche ich geschrieben haben das problem so loesen man kan dabei aber einige fehler machen.
Da koennen wir uns aber gegenseitig bei helfen und wir haben auch noch unseren blocky guru @rantanplan
-
Mache ich am WE
Danke
-
So, falls jemand über diesen Beitrag stolpert. Hier die Blockly-Lösung, mit es bei mir nun funktioniert.
Statt auf den "flatternden" Datenpunkt STATE der Keymatic zu triggern, mache ich das nun in allen weiteren Skripten mit meinem eigenen Logik-Datenpunkt "Status Türschloss ist auf", den ich wie folgt setzte:
@Dutchman: Danke nochmal für Dein Hilfeangebot.
Grüße
Frank
-
Hi Frank,
Hatte ich das richtig verstanden dass die keymatic den Status true | false | true gibt wegen der Verzögerung?
Wen ja sei dir bitte bewusst dass du jetzt 3 Mal einen timer auslöst.
Das kannst du umgehen durch voor de timer erst einen Reset timer hinzu zu fügen
–-----------------------
Send from mobile device
-
Ja, dessen war ich mir bewusst, aber so ist es natürlich noch eleganter.
Ich vermute Du meist so:
Bedankt!
-
-
Hallo,
könntet ihr auch den Scriptcode posten, da ich alles auf Scriptbasis habe würde ich gerne sehen was Blocky draus macht.
Danke
-
Klar:
var timeout; on({id: 'hm-rpc.0.JEQ0082309.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); timeout = setTimeout(function () { if (getState("hm-rpc.0.JEQ0082309.1.STATE").val == true) { if (getState("status.0.Türschloss_auf").val == false) { setState("status.0.Türschloss_auf"/*Status Türschloss ist auf*/, true, true); } } else { if (getState("status.0.Türschloss_auf").val == true) { setState("status.0.Türschloss_auf"/*Status Türschloss ist auf*/, false, true); } } }, 2000); });
-
Danke