From 10f248ac10ecee944e5e4051a9ef6907fade0dfe Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 21 Apr 2024 18:44:23 +0100 Subject: [PATCH] ha: only send level change when it changes --- apps/ha/ha.app.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/apps/ha/ha.app.js b/apps/ha/ha.app.js index 676665dc0..7ff236988 100644 --- a/apps/ha/ha.app.js +++ b/apps/ha/ha.app.js @@ -45,12 +45,7 @@ function draw() { y2: R.h, }, }); - const onDrag = e => { - slider.f.dragSlider(e); - if(e.b === 0) - ha.sendValue(trigger.trigger, slider.v.level); - }; - Bangle.prependListener('drag', onDrag); + Bangle.prependListener('drag', slider.f.dragSlider); } const r = slider.c.borderRect; @@ -84,7 +79,19 @@ function draw() { } } -function onSlide(mode, feedback) { +var lastLevel; + +function onSlide(mode, level, e) { + if (e.b !== 0) { + if (lastLevel == null) + lastLevel = level; + } else { + if (lastLevel != null && lastLevel !== level) { + // we've had a drag and level has changed + ha.sendValue(triggers[position].trigger, level); + lastLevel = null; + } + } } function toLeft() {