diff --git a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino index 04492039519..0c58dd2cb41 100644 --- a/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino +++ b/libraries/RainMaker/examples/RMakerCustom/RMakerCustom.ino @@ -26,7 +26,14 @@ static Device *my_device = NULL; void sysProvEvent(arduino_event_t *sys_event) { - switch (sys_event->event_id) { + switch (sys_event->event_id){ + case ARDUINO_EVENT_WIFI_STA_GOT_IP: + Serial.print("\nConnected IP address : "); + Serial.println(IPAddress(sys_event->event_info.got_ip.ip_info.ip.addr)); + break; + case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: + Serial.println("\nDisconnected. Connecting to the AP again... "); + break; case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); @@ -41,9 +48,34 @@ void sysProvEvent(arduino_event_t *sys_event) break; case ARDUINO_EVENT_PROV_CRED_SUCCESS: wifi_prov_mgr_stop_provisioning(); + break; + case ARDUINO_EVENT_PROV_CRED_RECV: + Serial.println("\nReceived Wi-Fi credentials"); + Serial.print("\tSSID : "); + Serial.println((const char *) sys_event->event_info.prov_cred_recv.ssid); + Serial.print("\tPassword : "); + Serial.println((char const *) sys_event->event_info.prov_cred_recv.password); break; - default:; - } + case ARDUINO_EVENT_PROV_CRED_FAIL: + Serial.println("\nProvisioning failed!\nPlease reset to factory and retry provisioning\n"); + if(sys_event->event_info.prov_fail_reason == WIFI_PROV_STA_AUTH_ERROR) + { + Serial.println("\nWi-Fi AP password incorrect"); + } + else + { + Serial.println("\nWi-Fi AP not found....Add API \" nvs_flash_erase() \" before beginProvision()"); + } + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + Serial.println("\nProvisioning Successful"); + break; + case ARDUINO_EVENT_PROV_END: + Serial.println("\nProvisioning Ends"); + break; + default: + break; + } } void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx) diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino index 04c070cf21b..4c26d2ad00d 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/RMakerCustomAirCooler.ino @@ -43,7 +43,14 @@ static Device *my_device = NULL; void sysProvEvent(arduino_event_t *sys_event) { - switch (sys_event->event_id) { + switch (sys_event->event_id){ + case ARDUINO_EVENT_WIFI_STA_GOT_IP: + Serial.print("\nConnected IP address : "); + Serial.println(IPAddress(sys_event->event_info.got_ip.ip_info.ip.addr)); + break; + case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: + Serial.println("\nDisconnected. Connecting to the AP again... "); + break; case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); @@ -58,9 +65,34 @@ void sysProvEvent(arduino_event_t *sys_event) break; case ARDUINO_EVENT_PROV_CRED_SUCCESS: wifi_prov_mgr_stop_provisioning(); + break; + case ARDUINO_EVENT_PROV_CRED_RECV: + Serial.println("\nReceived Wi-Fi credentials"); + Serial.print("\tSSID : "); + Serial.println((const char *) sys_event->event_info.prov_cred_recv.ssid); + Serial.print("\tPassword : "); + Serial.println((char const *) sys_event->event_info.prov_cred_recv.password); break; - default:; - } + case ARDUINO_EVENT_PROV_CRED_FAIL: + Serial.println("\nProvisioning failed!\nPlease reset to factory and retry provisioning\n"); + if(sys_event->event_info.prov_fail_reason == WIFI_PROV_STA_AUTH_ERROR) + { + Serial.println("\nWi-Fi AP password incorrect"); + } + else + { + Serial.println("\nWi-Fi AP not found....Add API \" nvs_flash_erase() \" before beginProvision()"); + } + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + Serial.println("\nProvisioning Successful"); + break; + case ARDUINO_EVENT_PROV_END: + Serial.println("\nProvisioning Ends"); + break; + default: + break; + } } void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx) diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino index 4cc78f2a0b3..00e060857a2 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/RMakerSonoffDualR3.ino @@ -36,28 +36,56 @@ static Switch *my_switch2 = NULL; void sysProvEvent(arduino_event_t *sys_event) { - switch (sys_event->event_id) { + switch (sys_event->event_id){ + case ARDUINO_EVENT_WIFI_STA_GOT_IP: + Serial.print("\nConnected IP address : "); + Serial.println(IPAddress(sys_event->event_info.got_ip.ip_info.ip.addr)); + break; + case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: + Serial.println("\nDisconnected. Connecting to the AP again... "); + break; case ARDUINO_EVENT_PROV_START: -#if CONFIG_IDF_TARGET_ESP32 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); - printQR(service_name, pop, "ble"); -#else +#if CONFIG_IDF_TARGET_ESP32S2 Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); printQR(service_name, pop, "softap"); +#else + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); + printQR(service_name, pop, "ble"); #endif break; - case ARDUINO_EVENT_WIFI_STA_CONNECTED: - Serial.printf("\nConnected to Wi-Fi!\n"); - digitalWrite(gpio_led, true); - break; case ARDUINO_EVENT_PROV_INIT: wifi_prov_mgr_disable_auto_stop(10000); break; case ARDUINO_EVENT_PROV_CRED_SUCCESS: wifi_prov_mgr_stop_provisioning(); + break; + case ARDUINO_EVENT_PROV_CRED_RECV: + Serial.println("\nReceived Wi-Fi credentials"); + Serial.print("\tSSID : "); + Serial.println((const char *) sys_event->event_info.prov_cred_recv.ssid); + Serial.print("\tPassword : "); + Serial.println((char const *) sys_event->event_info.prov_cred_recv.password); break; - default:; - } + case ARDUINO_EVENT_PROV_CRED_FAIL: + Serial.println("\nProvisioning failed!\nPlease reset to factory and retry provisioning\n"); + if(sys_event->event_info.prov_fail_reason == WIFI_PROV_STA_AUTH_ERROR) + { + Serial.println("\nWi-Fi AP password incorrect"); + } + else + { + Serial.println("\nWi-Fi AP not found....Add API \" nvs_flash_erase() \" before beginProvision()"); + } + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + Serial.println("\nProvisioning Successful"); + break; + case ARDUINO_EVENT_PROV_END: + Serial.println("\nProvisioning Ends"); + break; + default: + break; + } } diff --git a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino index 688feed9bf7..9d4c023e9bc 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino +++ b/libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino @@ -27,15 +27,20 @@ static Switch *my_switch = NULL; void sysProvEvent(arduino_event_t *sys_event) { - switch (sys_event->event_id) { + switch (sys_event->event_id){ + case ARDUINO_EVENT_WIFI_STA_GOT_IP: + Serial.print("\nConnected IP address : "); + Serial.println(IPAddress(sys_event->event_info.got_ip.ip_info.ip.addr)); + break; + case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: + Serial.println("\nDisconnected. Connecting to the AP again... "); + break; case ARDUINO_EVENT_PROV_START: #if CONFIG_IDF_TARGET_ESP32S2 - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", - service_name, pop); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop); printQR(service_name, pop, "softap"); #else - Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", - service_name, pop); + Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop); printQR(service_name, pop, "ble"); #endif break; @@ -44,9 +49,34 @@ void sysProvEvent(arduino_event_t *sys_event) break; case ARDUINO_EVENT_PROV_CRED_SUCCESS: wifi_prov_mgr_stop_provisioning(); + break; + case ARDUINO_EVENT_PROV_CRED_RECV: + Serial.println("\nReceived Wi-Fi credentials"); + Serial.print("\tSSID : "); + Serial.println((const char *) sys_event->event_info.prov_cred_recv.ssid); + Serial.print("\tPassword : "); + Serial.println((char const *) sys_event->event_info.prov_cred_recv.password); break; - default:; - } + case ARDUINO_EVENT_PROV_CRED_FAIL: + Serial.println("\nProvisioning failed!\nPlease reset to factory and retry provisioning\n"); + if(sys_event->event_info.prov_fail_reason == WIFI_PROV_STA_AUTH_ERROR) + { + Serial.println("\nWi-Fi AP password incorrect"); + } + else + { + Serial.println("\nWi-Fi AP not found....Add API \" nvs_flash_erase() \" before beginProvision()"); + } + break; + case ARDUINO_EVENT_PROV_CRED_SUCCESS: + Serial.println("\nProvisioning Successful"); + break; + case ARDUINO_EVENT_PROV_END: + Serial.println("\nProvisioning Ends"); + break; + default: + break; + } } void write_callback(Device *device, Param *param, const param_val_t val,