Cordova plugin for Esptouch Smart config for esp8266 and ESP32 chips

Usage no npm install needed!

<script type="module">
  import cordovaPluginEsptouchSmartconfig from '';



A cordova plugin for sending wifi configurations to esp8266 and esp32 based devices using Espressif Esptouch protocol.


cordova plugin add

Use in Ionic project

Ionic (typescript) project will throw error because espTouchSmartConfig is not defined. To prevent this declare espTouchSmartConfig in app.ts or any other module where you are using it.

// In app.component.ts
declare var espTouchSmartConfig: any;



To start smart config

 * @param {string} ssid  SSID of the wifi network which you want to send too device
 * @param {string} bssid BSSID of the wifi network which you want to send to the device
 * @param {string} password Wifi Password
 * @param {boolean} how to send data(broadcast or multicast). send true for broadcasting false otherwise
 * @param {number} maxDevices Maximum number of devices you want to be configured
 * @param {string} encKey Encryption key for AES128 encryption
 * @param {function} successCallback Callback on success
 * @param {function} errorCallback  Callback on error
espTouchSmartConfig.start(ssid,password,bssid,broadcast,maxDevices,encKey, (res)=>{
    // SuccessCallback
    // res is a Json String 
    //	res = [
    //		{
    //			"id": "1",	// Index of device in all configured devices.
    //			"bssid": "809010203040", // Bssid if device - usually mac address of the device
    //			"ip": "" // Obtained ip by the device. 
    //		}
    //	]
}, (err)=>{
    // Errorcallback

// Notes
// maxDevices: It will not guarentee the maxium number of devices picking up the config. But it'll stop as soon as confirmation is received from these many devices. 
// encKey: Keep it's value "" (Empty String) if you are not using encryption 
// This function will automatically check permission for location and ask for permission if not granted. 

To stop smart config

    // Successcallback
}, (err)=>{
    // Errorcallback

Request Permissions

    // Permission granted. 
}, (err)=>{
    // Boo!! Permission not granted.

Android Permissions

This plugin requires permission for location access in Android.

Use with Wifiwizard



  • Ios has not been tested yet.