diff --git a/examples/20-DynamicBridge/20-DynamicBridge.ino b/examples/20-DynamicBridge/20-DynamicBridge.ino index e25382a..1213926 100644 --- a/examples/20-DynamicBridge/20-DynamicBridge.ino +++ b/examples/20-DynamicBridge/20-DynamicBridge.ino @@ -30,7 +30,7 @@ #define MAX_LIGHTS 10 nvs_handle savedData; -int accNum[MAX_LIGHTS]={0}; +int accNum[MAX_LIGHTS+1]={0}; ////////////////////////////////////// @@ -56,9 +56,9 @@ void setup() { if(accNum[i]>0) addLight(accNum[i]); - new SpanUserCommand('a'," add a new light accessory with id=num",addAccessory); - new SpanUserCommand('d'," delete a light accessory with id=num",deleteAccessory); - new SpanUserCommand('u',"update configuration database",[](const char *buf){homeSpan.updateDatabase();}); + new SpanUserCommand('a'," - add a new light accessory with id=",addAccessory); + new SpanUserCommand('d'," - delete a light accessory with id=",deleteAccessory); + new SpanUserCommand('u',"update accessories database",updateAccessories); } @@ -142,10 +142,21 @@ void deleteAccessory(const char *buf){ Serial.printf("Deleting Accessory: Light-%d\n",n); delete acc; - int i; // delete entry in accNum + int i; // find entry in accNum for(i=0;accNum[i]!=n;i++); - accNum[i]=0; + for(;i