GithubHelp home page GithubHelp logo

emrysr / devices Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 26.13 MB

list and add EmonCMS devices from mobile app

Home Page: http://code.emrys.cymru/devices/

License: GNU Affero General Public License v3.0

Java 27.40% CSS 5.97% HTML 11.57% JavaScript 45.75% Objective-C 4.33% Swift 4.99%
emoncms energylocal

devices's Introduction

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.

devices's People

Contributors

emrysr avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.