Skip to content

emrysr/devices

Repository files navigation

EmonCMS Devices App

Debug | Deploy | Documentation | vscode

feature image

This is a "Companion App" for EmonCMS to discover compatible devices on your network.

New devices can also be "paired" using this app.

Currently Android 10+ users cannot "Add new devices" via the app - issue created

New devices automatically create Wi-Fi hotspots when not connected to a local network. Once you connect to these hotspots you can configure the device to connect to your local Wi-Fi connection.

This app will discover these hotspots and connect your device to your Wi-Fi without manual configuration.

You can also sign into your dashboard to allow your device to be controlled online as well as locally.

Written with Apache Cordova - works on multiple devices, however main development done one Android 9. Other devices and versions should be compatible with this Cordova App.

ℹ️ please post github issue to track problems and fixes


Screenshots

Screenshots of the web based Energy Local Dashboard and this App running on Android

🔗 You can control your device using your Energy Local Dashboard account

Screenshot of Dashboard
Dashboard showing device synced with the Octopus Agile tariff pricing
Screenshot of App
App showing discovered devices

Run on Android device

$ git clone https://github.com/emoncms/cordova-emon-devices.git && cd devices
$ cordova platform add android
$ npm install
$ cordova run android --device

Above commands assumes npm and cordova are installed on the local machine and that the android device is in developer mode with USB debugging enabled.

Required Cordova plugins

$ cordova plugin add cordova-plugin-zeroconf
$ cordova plugin add https://github.com/tripflex/wifiwizard2
$ cordova plugin add cordova-plugin-advanced-http
$ cordova plugin add cordova-plugin-inappbrowser
$ cordova plugin add cordova-plugin-device
$ cordova plugin add cordova-plugin-network-information

or as one liner...

$ cordova plugin add cordova-plugin-zeroconf https://github.com/tripflex/wifiwizard2 cordova-plugin-advanced-http cordova-plugin-inappbrowser cordova-plugin-device cordova-plugin-network-information

__⚠ issue with android 10 security policies not allowing apps to create/drop wifi connections. issue created


Issues compling

You may have problems compiling, try to remove then add the cordova platform to fix this:

$ cordova platform remove android
$ cordova platform add android

or remove the whole platform directory and re-add:

$ rm -rf platforms && cordova platform add android

⚠ NOTE : The Cordova plugins will also need to be re-installed once you remove a platform

Issues

If you find any issues please add them to the issue tracker


Code Documentation

Using jsdoc to produce documentation moved the instructions to README-docs.md


Deploy App

You must increase the android-versionCode every time you want to push a new release to the Play Store.

moved the instructions to README-deploy.md


Debugging

Using vscode code debugging tools

moved the instructions to README-testing.md


Todo

Please use the repo issues tracker to suggest new features

  • Translation - i18n label placeholders and translations
  • Upgrade the WiFiWizard2 plugin once android 10 is supported.