From 44aec9f1d345f28baaef7f51086a42a242b7a2dc Mon Sep 17 00:00:00 2001 From: Nebz <28622481+NebzHB@users.noreply.github.com> Date: Mon, 20 May 2024 11:47:57 +0200 Subject: [PATCH 1/2] Update index.js --- index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.js b/index.js index d5e9fe7..3cd5745 100755 --- a/index.js +++ b/index.js @@ -6437,11 +6437,13 @@ JeedomBridgedAccessory.prototype.delServices = function(accessory) { // convert range to percentage function rangeToPercentage(value, min, max) { + if(min == 0 && max == 100) { return value; } return Math.floor(((value - min) / (max - min)) * 100); } // convert percentage to range function percentageToRange(percentage, min, max) { + if(min == 0 && max == 100) { return percentage; } return Math.ceil((percentage / 100) * (max - min) + min); } From 956dd57632ff1572ea76b542ec5f1870a89c3ce7 Mon Sep 17 00:00:00 2001 From: Nebz <28622481+NebzHB@users.noreply.github.com> Date: Mon, 20 May 2024 11:55:02 +0200 Subject: [PATCH 2/2] Update index.js --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 3cd5745..4b018ed 100755 --- a/index.js +++ b/index.js @@ -4618,7 +4618,7 @@ JeedomPlatform.prototype.getAccessoryValue = function(characteristic, service, i returnValue = returnValue > (service.maxValue-5) ? service.maxValue : returnValue; // >95% is 100% in home (flaps need yearly tunning) } - if(returnValue === service.TargetValue) {service.Moving=Characteristic.PositionState.STOPPED;} + if(Math.abs(returnValue - service.TargetValue) <= 2) {service.Moving=Characteristic.PositionState.STOPPED; returnValue=service.TargetValue;} else if (service.TargetValue !== undefined && service.Moving===Characteristic.PositionState.STOPPED) {service.TargetValue=undefined;} this.log('debug','---------update Blinds Value(refresh):',returnValue,'% soit',cmd.currentValue,' / ',service.maxValue,' : ',positionStateLabel(service.Moving)); break; @@ -4632,7 +4632,7 @@ JeedomPlatform.prototype.getAccessoryValue = function(characteristic, service, i } returnValue = 100-returnValue; // invert percentage - if(returnValue === service.TargetValue) {service.Moving=Characteristic.PositionState.STOPPED;} + if(Math.abs(returnValue - service.TargetValue) <= 2) {service.Moving=Characteristic.PositionState.STOPPED; returnValue=service.TargetValue;} else if (service.TargetValue !== undefined && service.Moving===Characteristic.PositionState.STOPPED) {service.TargetValue=undefined;} this.log('debug','---------update Inverted Blinds Value(refresh):',returnValue,'% soit',cmd.currentValue,' / ',service.maxValue,' : ',positionStateLabel(service.Moving)); break; @@ -4641,7 +4641,7 @@ JeedomPlatform.prototype.getAccessoryValue = function(characteristic, service, i returnValue = parseInt(cmd.currentValue); returnValue = rangeToPercentage(returnValue, service.minValue, service.maxValue); - if(returnValue === service.TargetValue) {service.Moving=Characteristic.PositionState.STOPPED;} + if(Math.abs(returnValue - service.TargetValue) <= 2) {service.Moving=Characteristic.PositionState.STOPPED; returnValue=service.TargetValue;} else if (service.TargetValue !== undefined && service.Moving===Characteristic.PositionState.STOPPED) {service.TargetValue=undefined;} this.log('debug','---------update WindowMoto Value(refresh):',returnValue,'% soit',cmd.currentValue,' / ',service.maxValue,' : ',positionStateLabel(service.Moving)); break;