OpenEnergyMonitor Community

Android programmer to expand AndroidApp

Is there an android programmer out there willing to take on the task of expanding the current MyElectric App to be multi account and multi-instance in respect of having other MyElectric based pages per account.

I have a client who is very keen to have the MyElectric app to monitor their many sites, they want to see heating, lighting, ventilation, hot water, solar and overall use. I believe can replicate the MyElectric webapp to provide a browser based version, the only difference between MyElectric and say MyHeating is the name and the feeds it reports.

However I cannot however make the android app clever enough to store and switch between apikeys, and switch between MyElectric instances. I believe the existing code can be replicated for the additional reports as per the webapp but the emoncms account switching part will need to be new.

The desired hierarchy would be something like

├── account1
│   ├── MyElectic
│   ├── MyHeating
│   ├── MyHotWater
│   ├── MyLighting
│   ├── MySolar
│   └── MyVentilation
├── account2
│   ├── MyElectic
│   ├── MyHeating
│   ├── MyHotWater
│   ├── MyLighting
│   ├── MySolar
│   └── MyVentilation
├── account3
│   ├── MyElectic
│   ├── MyHeating
│   ├── MyHotWater
│   ├── MyLighting
│   ├── MySolar
│   └── MyVentilation
└── account4
    ├── MyElectic
    ├── MyHeating
    ├── MyHotWater
    ├── MyLighting
    ├── MySolar
    └── MyVentilation

Note the MySolar mentioned in this context would be another instance of MyElectric just reporting generation, although I would also be interested in porting the existing MySolar app to the MyElectric app too if the price is right.

In my example above I would hope something like 4 account details of url and apikey and 6 “type” templates of app name, power feed name, energy feed name and possibly display color could provide the 24 pages but I would like the number of both not to be fixed or limited, so we could have (almost) unlimited accounts and if a new circuit crops up for monitoring it can just be named something different like MyAirconditioning and reuse the MyElectric template as with the others.

My client would be funding this venture, they understand I cannot personally do this work and have asked me to see if I can find someone who can, for a price of course.

Anyone interested please answer here or PM me directly.

I’ve been wondering about the Android app, and how there’s also no iOS app.

I’m an iOS developer by trade (and dabbled in Android in the past), and I’ve been wanting to have an excuse to try React Native. I wondered about starting a React Native app for emoncms. This would have the benefit that much of the same code could be used to make an Android app. I think it would fit this kind of app quite well.

I can’t commit to doing anything on this, but would love to find someone to team up with and hack on it together.

1 Like

I had never heard of “React Native” before now so it’s beyond me to comment, an iOS app has been mentioned before but that’s about as far as it got. I wasn’t really looking to undo all the hard work @JumpMaster has done to date, but if that was a better route to a fuller android app and we got other platforms onboard along the way great, primarily though I am after android.

I too have dabbled with android a few years ago so could possibly chip in but feel it is beyond me to produce something of the standard we are looking for.

I’ve posted out a ‘call for developers’ tweet.

It would be good to involve @JumpMaster since he developed the app. Even if he can’t spare the time to undertake the work he may have some thoughts on the architecture / Reactive Native / Phone Gap / IOS and how multi-account could be implemented?

I would love to see MySolarPV added to the Android App :wink:

IOS app would be great, however, much of the mobile traffic to and this forum is from Android devices, I think the sort of folk who like an open-source solution prefer Android over IOS… myself included! I can see clients requesting an IOS app, would be great to support.

I had a look at the code a while back and IIRC the api key is simply passed as an element of the API call to get the data so making it multi account should not be too hard from that point of view. Not sure if you can make an app, that allows you to create multiple tabs of tabs on the fly and retain that setup information.

I was looking at trying to pick up other feeds and displaying them on separate tabs but my knowledge quickly ran out on the Android front. It would be good if it could be a bit more generic so instead of looking for specific ‘apps’ you could choose a feed and choose how to display that feed.

I agree, he was my first thought and I did send him a PM via the form, but I haven’t seen a reply yet .

Hi all!

Sorry, I am around. I’m afraid I do not have the time to commit to expanding the emoncms app.

I do like the idea of making a unified app using something like Reactive or Cordova. My only thought would be the graphing plugin. MPAndroidChart is available for iOS but I’m not sure if it’s it’s usable from Reactive or Cordova. The app purely feeds data to the graph module. Without it the app will need a lot more effort.

1 Like

Hi I’m just having a look at the source now to see if it is something I might be able to help with, I’ll let you know how it goes! (Unless you have found someone)

Not as yet!

I would be very interested in any thoughts you have.

The part I am specifically interested in is the multi-instance and multi-account, there are some other discussions and suggestions on this thread, but my appeal was for that specific functionality.

I’m sure my client would happily “chip in” to a more elaborate plan if it includes that functionality and overall it continues to fit their application as it currently could.

I’m probably the odd one out then :-). I do agree with you that I’d expect more Android users than iOS, but I think iOS is going to be important. I’d expect there to be people who have iPads which they would want to use to view data. Dashboards and the apps on emoncms do work on iOS devices, but a “native” solution would be better.

I’ve been looking into it all. There’s graphing libraries which are usable on both Android and iOS which work from React Native.

If anyone is interested in helping me get something in React Native up and running as a proof of concept, ping me.

Sorry, I guess I took the thread off topic a bit. I would definitely make this a feature of any React Native app I did. I think that’s important too. So is having MySolarPV in there. I do think that it’s worth having someone look at adding multi-instance and multi-account to the existing Android app anyway, even if there is another effort going on.

Ok, I’ve been having a play with how to store multiple account settings etc, it looks do-able
(I’m fairly new to android but plenty of Java background!)
I can’t seem to PM you on here, I guess because I am new to the forum. Can you PM me?

1 Like

You should be ok to PM now! I have upgraded your user status and PM’d

1 Like

What is the dev => testing => deploy route for the emoncms AndroidApp ?

Do we test by manually installing apk?

Is that possible with the current version installed, I assume that needs removing or can we test by installing under a temp dev name eg emoncms2?

Who has access to the repo?

Should we use a new branch?

Who has access to the Google Play account?

I assume a new apk must be pushed to Google Play manually, correct?

Is there still a “beta tester” program via the account on Google Play?

I can make an apk for testing that can be installed manually alongside the existing app.
Don’t know the answer to the other questions!

We can deploy a ‘beta’ version to google play, users can sign up to a beta track to receive beta updates via good play. The app installed on your phone will be updated to the beta version.

@JumpMaster and I have access to the github repo and the Google play developer portal. Anyone can submit pull requests to github repo.

I personally know @tamsin from a local tech group in North Wales as well as the local climbing wall! She’s trustworthy :slight_smile:. It’s great to have her involved.

I’m currently travelling away at the moment, apologies for the slow reply to topics.

1 Like