NEWS
Gelöst: dp.state Statement
-
Hallo wie kann ich bei diesem Script ermitteln, welches der "triggermarkB" ausgelöst hat?
Welche dp.state.xxxx muß ich nehmen?var triggermarkB = [idRolloL, idRolloR]; on({ id: triggermarkB, change: 'ne' }, function (dp) { log("Bewegung bei den Markisen") setTimeout(function() { text = '\ud83c\udf1e *Markisse Status:*\n Links: ' + getState(idRolloL).val + '\n' + " Rechts: " + getState(idRolloR).val createEventlog("Markisse Bewegung", text) log (text); }, 10000); if (logging) sendTo('whatsapp-cmb.0', 'send', { text, phone: '+4915253938149' }); });
Michael
-
@michihorn sagte: ermitteln, welches der "triggermarkB" ausgelöst hat?
dp.id oder dp.common.name
-
@paul53 Danke perfekt, wenn ich beide Taster drücke gibt es eine Zeitverzögerung, dass bedeutet das Script läuft zweimal schreibt mir zwei mal eine Whatsapp, wie kann ich das unterdrücken, so das nur eine Whatsapp rausgeht?
Michael -
@michihorn sagte in dp.state Statement:
@paul53 Danke perfekt, wenn ich beide Taster drücke gibt es eine Zeitverzögerung, dass bedeutet das Script läuft zweimal schreibt mir zwei mal eine Whatsapp, wie kann ich das unterdrücken, so das nur eine Whatsapp rausgeht?
Da der Auslöser der Tastendruck ist und Du ja auch willst, dass jeder Tastendruck gemeldet wird, kannst Du das wohl nur über einen Zeit-Merker machen und die WhatsApp nur dann schicken, wenn eine festgelegte Zeit zwischen zwei Ereignissen vergangen ist.
Das unterdrückt dann natürlich nicht nur den "Doppeltastendruck", sondern auch mehrfaches schnelles Drücken, je nach eingestellter Zeit. -
@michihorn sagte: nur eine Whatsapp rausgeht?
Für den Timeout eine Timer-Variable deklarieren, verwenden und für die Nachricht auswerten.
var triggermarkB = [idRolloL, idRolloR]; var timer = null; on({ id: triggermarkB, change: 'ne' }, function (dp) { log("Bewegung bei den Markisen") if (logging && !timer) sendTo('whatsapp-cmb.0', 'send', { text, phone: '+4915253938149' }); timer = setTimeout(function() { timer = null; text = '\ud83c\udf1e *Markisse Status:*\n Links: ' + getState(idRolloL).val + '\n' + " Rechts: " + getState(idRolloR).val createEventlog("Markisse Bewegung", text) log (text); }, 10000); });
-
@paul53 Das klappt toll.