diff --git a/src/HomeSpan.cpp b/src/HomeSpan.cpp index 5efb6fd..5772f10 100644 --- a/src/HomeSpan.cpp +++ b/src/HomeSpan.cpp @@ -912,7 +912,7 @@ void Span::processSerialCommand(const char *c){ if((*chr)->setValidValuesError) LOG0(" *** WARNING #%d! Attempt to set Custom Valid Values for this Characteristic ignored ***\n",++nWarnings); - if((*chr)->format!=STRING && ((*chr)->uvGet((*chr)->value) < (*chr)->uvGet((*chr)->minValue) || (*chr)->uvGet((*chr)->value) > (*chr)->uvGet((*chr)->maxValue))) + if((*chr)->format!=STRING && (!(((*chr)->uvGet((*chr)->value) >= (*chr)->uvGet((*chr)->minValue)) && ((*chr)->uvGet((*chr)->value) <= (*chr)->uvGet((*chr)->maxValue))))) LOG0(" *** WARNING #%d! Value of %g is out of range [%g,%g] ***\n",++nWarnings,(*chr)->uvGet((*chr)->value),(*chr)->uvGet((*chr)->minValue),(*chr)->uvGet((*chr)->maxValue)); } // Characteristics diff --git a/src/HomeSpan.h b/src/HomeSpan.h index 7e1e591..511d3cd 100644 --- a/src/HomeSpan.h +++ b/src/HomeSpan.h @@ -740,7 +740,7 @@ class SpanCharacteristic{ return; } - if(val < uvGet(minValue) || val > uvGet(maxValue)){ + if(!((val >= uvGet(minValue)) && (val <= uvGet(maxValue)))){ LOG0("\n*** WARNING: Attempt to update Characteristic::%s with setVal(%g) is out of range [%g,%g]. This may cause device to become non-responsive!\n\n", hapName,(double)val,uvGet(minValue),uvGet(maxValue)); } diff --git a/src/src.ino b/src/src.ino index 62eef0d..f669275 100644 --- a/src/src.ino +++ b/src/src.ino @@ -29,6 +29,8 @@ #define MAX_LIGHTS 2 +SpanCharacteristic *brightness[2]; + void setup() { Serial.begin(115200); @@ -50,11 +52,14 @@ void setup() { sprintf(c,"Light-%d",i); new Characteristic::Name(c); new Service::LightBulb(); - new Characteristic::On(0,false); + new Characteristic::On(0,true); + brightness[i]=new Characteristic::Saturation(0,true); WEBLOG("Configuring %s\n",c); } new SpanUserCommand('w', " - get web log test",webLogTest); // simulate getting an HTTPS request for weblog + new SpanUserCommand('b', " - change brightness to fraction",[](const char *buf){brightness[0]->setVal(atof(buf+1));}); // simulate getting an HTTPS request for weblog + new SpanUserCommand('c', " - change brightness to fraction",[](const char *buf){brightness[1]->setVal(atof(buf+1));}); // simulate getting an HTTPS request for weblog }