Emoncms local to iOS app

Hi Is there a Manual to Link my local Emoncms on a raspberry to the iOS App. Im a newby and could Not find anything in the Internet. Can Somebody give some help?
Thank you!

Hello @Tobsen,

I don’t know whether, or no there’s a manual for what you are asking. I simply linked the IOS App to my local emoncms account by using the Raspberry Pi’s IP address. For example (in the IOS app under Settings, Switch Account, you can add a local account by press ing + and changing the default to http://YOURIPADDRESS/emoncms. You will also need to add your username and password or, alternatively, enter the API Read Key which you can find under My Account in emoncms.

Note the HTTP versus HTTPS. You will only be able to access your local emoncms on your local network. If you wish access from outside your local network you’ll have to setup the Pi for remote access which I’m not covering here. This is discussed on the OpenEnergy website but I can’t find it right now.

Good luck.

One method I’ve seen discussed here is Dataplicity.

Hi year in my own Network it Is working Without Problems. I will Check if there Is a possibillity to get the Data from external

Hello @Bill.Thomson,

I hope you’re enjoying the ‘cool’ weather in OK :cold_face:

Being, shall we say, ‘frugal’, and having way too many Pi’s on the go, Dataplicity would be too expensive for me to adopt - about $200/yr., as the ‘free’ option (1 device) is somewhat data-limited.

I think I remember reading somewhere (on this site) that simply using Port-Forwarding is not ‘highly’ recommended. I’m not asking for a tutorial on how to setup https and Port-Forwarding securely, but I’m interested in your thoughts on a securely configured https/Port-Forwarding solution. By ‘secure’, I mean disabling SSH Password Authentication and Root Login, Creating a secure Firewall, and Installing and properly configuring Fail2Ban.

Best wishes,


Hi Neil,

I’ve never had a need for a secure port forwarding solution, so can’t speak from
experience, but when it comes to security, in today’s world, it seems you can’t have too
much. I’m not familiar with Fail2Ban so can’t offer any input there. From what 've read on their
wiki page, the concept sounds good, but that’s about all I can say, as I’ve never used it.

After living in Alamogordo NM, (and Fairbanks, AK) Oklahoma weather is a “walk in the park.” :wink:

@Neil I haven’t yet tried it myself but balena (used to be called resin) looks like an interesting alternative to dataplicity though more complex to setup?

Hi @TrystanLea,

balena (resin), looks interesting as five devices can be included which is good. But, I would still be dependent on a third-party which will create a node.js web server running on the local device, which, I feel might interfere with future updates to emoncms, although I could easily be worried about nothing.

What I really need to know is: how can I setup emoncms for https? I know how to setup a website for https but I’m not quite certain about how to go about configuring emoncms for https. After https I’m quite clear on securing the system via firewall and access control, etc.

I realize the topic of https/security may be best discussed elsewhere though.

Best wishes,


Have you had a look at this?

I suggest that post is way out of date.

Do you have a domain that you have access to the DNS records?

Aye, it may well be. But, as Robert Wall has said to me many times, in the process of
searching for it / reading it, there’s an opportunity to find / see other items that may yet help.

1 Like

Hello @borpin,

At this time I do not have a domain name, I would use my external IP address until I’m satisfied all is well, then apply a domain name at that point.



You cannot just use an IP for the SSL cert IIRC - it needs to be a domain (partly because you do not own the IP and assuming it is not a static IP from your ISP it could change at any time). I got a .net domain for a tenner a year specifically for my internal systems.

What you can do with cloudflare is use their DDNS API to point a (sub)domain to your external IP and apply the certificate to that (sub)domain. So I currently have the DDNS pointing an A record to a subdomain e.g. (this isn’t it) for a Pi partially outside my internal LAN (between 2 firewalls).

You can use Duck DNS for a very simple, reliable and free way to get a domain name. I’ve used them for many years without any issues.

If you are on a fixed IP you simply chose a sub-domain name that isn’t already in use and enter that IP address, then will point to your IP address. If your IP is dynamically assigned by your ISP and subject to occasional change, there is an api call provided for you to run regularly in a cronjob to keep duckdns updated with what ever your latest IP address is. Some routers are able to update DDNS providers directly, there is info in their faqs to help do it this way too.

As alternative to Brians suggestion of using cloudfare to provide a SSL cert, I always use letsencrypt, it’s the recommended option of certbot, they work well together and there is an active forum if you do have any questions or difficulties. They are both free and open-source software.