What should I do when I see this dialog stating "Inconsistent plugins: plugins directory and project file mismatch"?
As the dialog says, this "mismatch" is usually due to one of the following conditions:
There is one other thing that can cause this condition, which is not listed above:
This last one is caused by inconsistent naming of plugins that have been added to the new NPM package repo, where the Cordova project has asked plugin authors to place updates to their plugins. Read the last paragraph (below) to understand that issue more closely.
So... What should I do when I see this dialog stating "Inconsistent plugins: plugins directory and project file mismatch"?
In most cases, selecting the "Use Project File" option will do the right thing, because it will attempt to update the project file to match the contents of your project file. This can, in some cases, result in a mismatch between your CLI version number and your core Cordova plugin versions. Such a mismatch is not a fatal problem, but can result in incompatibilities with some plugins. You can fix this version mismatch issue by changing the CLI version to make the XDK update your core plugin versions to match your CLI version (you may have to change the CLI version twice to make that update happen).
If you are using a plugin that has mismatched plugin and package IDs you will see this message every time you open your project, you may be encountering an issue caused by bad plugin naming in the NPM registry. The best thing to do, in this case, is to select "Use Directory" when you open your project. The plugins shown in the sample dialog box (above) are examples of this problem. Look very closely and you will see "dash names" on the left and "dot names" on the right; that is what a package ID and plugin ID mismatch looks like.
The "Use Directory" option throws an error "Cannot read property 'scratchDir' of undefined"
and the "Use Project File" option throws "An internal error occurred during the plugin operation.undefined is not a function".
I am now stuck with an unusable project. What can I do to resolve this?
My Students now call me "Gyro Gearloose".
The students want to work with the BatteryMonitor example: GitHub.com/01org/arduino101-ble-demo and XDK.
Is there anyone who could present a solution with XDK and BatteryMonitor on arduino101 which works?
The projects you are pointing to were not put together by the XDK team, I've not met Calvin Park, who created those samples, so I cannot vouch for their integrity or how well they will work with the XDK. They might have to be updated/modified to work with it.
Within 3491 there are three "companion app" (mobile app) samples that work with corresponding IoT apps. They are "Local Temp," "Touch Notifier," and "BLE Central" (see the image below):
The corresponding IoT apps can be found in the "Internet of Things Embedded Application" section, within "Templates," immediately underneath the "Start a New Project" heading.
We're working on a workspace solution for bringing multiple related apps together, until then, you have to find them in these two places. Clicking the GitHub icon at the bottom of each sample description will take you to the GitHub repo that contains the respective app.