Skip to content

Frequently Asked Questions


Please note that we only guarantee the released sample code as a verified and functional app building environment. If you find a critical issue with your app, you can use the same environment as our released sample code to build your app and test again.

Common issues when building the Android App

If you run into an error from gradle tools when you are building the Android App. Find the Cordova-Android release note below.

  • Due to the recent changes Google made to Android Studio, Cordova Android now requires Gradle to be installed as a standalone dependency for Android development on all platforms. You can do so by following these instructions at

You can try to install the latest gradle tools and run ionic cordova build android --prod again.

Common issues when building the iOS App

When you Set Up Xcode (Mac OS only) and run the command sudo xcodebuild -license accept and npm i -g ios-deploy ios-sim, it may return error as the picture below.

You should run the following command first and try again.

sudo xcode-select -s

If your Xcode version is >= 9, you may need to set the File > Workspace Settings > Build System to use Legacy Build System.

Error messages after sending a request to control a device

  • Timeout Error

When the app doesn't get any response from the solution 10s after the request is sent, you will see the toast message below. The failure point may be the connection between solution and device. If the network connection between solution and device is not stable, it will take longer to execute the command so app will show the error message to ask you to check your environment.

Message text: Sorry, your request is taking longer than expected. Please check your device and network connection and try again.

  • Unknown Error

When the solution doesn't receive the request from the app properly, the app will show this error message. You should check the solution status and app network connection.

Message text: Sorry, there was an issue completing your request. Please check your device and network settings and try again

Error message in provision process

  • Provision token is expired

You will see this error message if you keep the app in the following scenario for more than 30 days.

  • Keeping the app in the foreground
  • Phone screen is kept on
  • Never log out and log in

Message text: Please reconnect to a network and update your app settings before continuing to connect your device.

  • Error status

App shows the following error message when it doesn't receive the result of provisioning from the solution before it timed out. As long as the device is connected to the solution, it will be considered provisioned. Therefore, you can check the network connection on the phone and make sure it can receive response from the solution.

Message text: Looks like something went wrong while trying to set up your. Please check your device status and network connection before continuing.

Remove the Facebook login function

● Remove settings related to Facebook plugin.

● config.xml

● package.json

● directives.module.ts

● Delete files related to Facebook login



● Remove Facebook login button

  1. Open "src/pages/app-start/app-start.html".

  2. Remove the line as marked in the image below

  3. Open "src/pages/login/login.html".

  4. Remove the line as marked in the image below

  5. You can build the app and see the Facebook login button is gone in the app-start page and the login page.

Remove the integrations button from the setting page

  1. Open "src/pages/settings/settings.html".

  2. Remove the button section as marked in the image below.

    • Alexa

    • Google Home

    • IFTTT

    • SmartThings

  3. You can build the app and find that the removed button is gone in the settings page.

familyName includes space

If familyName includes space in the information model, users may not be able to open iOS app. Please don't include space in familyName when you create an information model.

Hide message pages for provision fail

If your firmware doesn't support provision debug logs, you can hide the pages for provision fail by removing the code marked red below in src/pages/ssid-confirm/ssid-confirm.ts


Before using integration services, please make sure you have done the basic settings.

  • Upload corresponding information model with integration schema
  • Connect to Alexa/Google Home speaker
  • Link ExoHome account to integration services


No action executed after clicking "Check now" button on applet

When you click "Check now", IFTTT will check the data point of the trigger. If the trigger has been activated before, the corresponding action won't be executed again. Therefore, there is no action after you click "Check now" button on an applet.

Admin Site

Latest status is not shown on the admin page

To see the latest status on the admin page, you need to refresh the admin page to get the latest data.

Updated logo is not shown on emails

It depends on Gmail service for when to show the updated logo in emails. They may have cache on their server, so the updated logo is not show on the emails immediately.

Deleted device still shows on the admin page

In order to maintain all historical events and status for devices throughout its lifecycle, when admin users or end users delete a device, the trash bin icon is removed to prevent repetitive deletion and events and device status are kept for future investigation. When the device is re-provisioned, its events and status would be aggregated under the same device entry.


Can't add a device in China

The default NTP server is connecting to Google. If you are adding a device in China, you need to change the NTP server in firmware config file to a NTP server that won't be blocked by Great Firewall.

If you want to support multiple NTP servers(more than the default one), you can implement it in the platform_utils_sync_time_from_ntp() function.

Have more questions? Submit a request