[DEPECRATED] Neurio-SmartThings integration

** UPDATE **

As my Neur.io device took hundreds of hours of development & testing, please take note that the code is now only
available at my store:



For more details about the look&feel and features, refer to the ST community wiki:



AWESOME! I’m going to try this now. I assume that I will need to sign up for API access with Neurio though for this to work?

1 Like

Yes, you need to have the API keys from Neurio… They are releasing them little by little…

Thanks. I sent them an email requesting access to it.

Great !!!

I see the app on my ST app now.
Is it possible to put live graph on tile ?

I just got my API keys. I put the key in the app key field, and the secret in the private key field. I’m getting a general or malformed request body error null… Error. Any ideas on what I missed?

Hi @sidjohn1, please make sure that the API keys are exactly typed as specified by Neurio (no extra spaces at the end for example).

To get more detailed logs, you can enable more tracing by setting the following input parameter:

trace: set to true to get more tracing

And, then enable live logging by going to the following IDE address:


Check for any errors in the logs for the MyNeurioInit smartapp and its associated child device (My Neurio Device).

PM me any errors in the logs, so that I can check them out.


Hello, for those of you who are using the custom Neurio device that I’ve developed.

Today, I added new UI fields for generated Energy stats.

Fore more detail, please refer to



I was really excited about neurio last year when I first stumbled upon it and then I sort of forgot about it. Recently, I remembered, which brought me to your thread.

How are you liking it so far? Would you buy it again, knowing what you know now and having used it for a little while?

@bmmiller, the Neurio device by itself works very well so far. It’s very reliable and I get my Power & Energy metrics
on a regular basis as opposed to my old TED 5000 device which was not as reliable due to technology used (communications via powerline).

I’m also very pleased with the Neurio web portal & app design so far. They have invested a lot of time & efforts in designing easy-to-use interfaces for all types of users out there.

However, the appliance detection is disappointing so far. I own a house and it’s always complaining of the house being too busy.

I think that the overall appliance detection solution at the moment is more geared toward small apartments than houses.

Neurio is supposed to release a new algorithm later on that will correct the issue.

P.S. In the meantime, I’m working on exposing all the appliances detected by Neurio to SmartThings for some home automation scenarios later.



I’ve got my Neurio installed and reporting but it looks like the API key situation has changed slightly since original development. You can request yourself at:


I’ve “registered” an app and gotten a Client ID and Secret Key which I’ve set up in the preferences as the app key and private key, respectively. (For posterity, I attempted it both ways)

I’m still getting a Forbidden error in the logs:
11:31:53 AM: error groovyx.net.http.HttpResponseException: Forbidden @ line 424

In setting up the API app on Neur.io’s site, they ask for a Callback URL, which I’ve just supplied a dummy URL of https://ide.smartthings.com but I’m guessing that’s where the issue might lie?

I’ve also made sure OAuth is setup on the SmartApp.

Any thoughts?

@bmmiller, could you contact support@neur.io to get the API keys needed for the SmartThings integration? The current integration does not support callback & redirection.

It’s my understanding that the API keys generated on their portal are not meant to be used for the SmartThings integration yet.

I’m currently working on a cloud-to-cloud integration (Service Manager), but it needs to be tested and certified by both parties (SmartThings & Neurio) before being released.

For the moment, you’d need to get the private keys provided by support and use MyNeurioInit as described in the following readme file:


After I updated to latest version, now ST app is not pulling data from neurio.

@coolcatiger, could you enable detailed tracing by doing the following:

Edit the preferences of MyNeurio

  • Go to https://graph.api.smartthings.com/device/list
  • Click on the My Neurio object in the list
  • Edit the preferences by clicking on ‘edit’ (middle of the page)
  • Set the trace input parameter to true
  • Save the changes by clicking ‘Save’ at the bottom.

And PM the logs?

The new version still works fine for me (in my environment).

You may have to re-execute MyNeurioInit to re-establish the link with Neurio.


I contacted their support staff and they told me that it shouldn’t matter and probably wasn’t the API key but created one for me anyway.

After this, I noticed that what they provided me appeared in the same location on their website, where I had created my own. In doing this, they just used dummy URLs of testapp.com, etc.

After seeing this, I looked a little bit harder and noticed that I mistakenly reused a Network ID that I had on another device. After changing this, everything appears to be working now.

Reporting it here so we can confirm that the API key we can generate ourselves works fine, and that the callback URL you are supposed to provide will be ignored.

Hello there,

(For iOS users only as the Android version is still not operational)

The new version of my code is now based on a new Service Manager for easier Neurio objects installation and management.

The Service Manager creates not only a new Neurio Sensor device, but also creates your Neurio Appliances
objects within SmartThings.

Given the actual SmartThings platform issues (i.e, execution time constraints), the smartapp can create up to 3 appliances (sometimes 4) at a time.

If you have more than 3 appliances, you can execute the Neurio Service Manager twice and update
the list of appliances during the second run.

In order to use the Service Manager smartapp, you need to create new API keys at the neur.io portal.

Even if you have a Neurio device running now, please follow the step-by-step instructions at



P.S. For those of you who have a Neurio device running now, you still need to get new API keys at the portal. You can still use the old Neurio device till you have created all your Neurio objects with the new Service Manager.

At the end, you can delete the old Neurio Object by clicking on it at https://graph.api.smartthings.com/device/list
and hitting the “delete” button at the bottom of the screen. Before deleting your old Neurio device, please make sure that it is not be assigned to any of your smartapps.

1 Like

Thank you @yvesracine! This looks awesome. I am running into an error though when trying to select my appliances. In the iPhone app it says failed to save page: appliancelist. I also see this in the IDE: 1:36:35 PM: error groovy.json.JsonException: A JSON payload should start with an openning curly brace ‘{’ or an openning square bracket ‘[’.
Instead, ‘null’ was found on line: 1, column: 1 @ line 690

Also, FYI, the URL in the readme for the appliance device type is incorrect and doesn’t work. I was able to find the correct URL, but wanted to let you know so that you could update it.

Let me know if you have any thoughts on this.


Hello @chevyman142000,

I ran into some smartapp’s execution time constraints when trying to create the My Neurio Appliance objects myself.
You need to select few appliances (2-3 max) to avoid this issue (and not the whole bunch).

Also, please run the live logging prior to the MyNeurioServiceMgr smartapp’s execution, so that you can PM me the logs of any errors related to the smartapp or My Neurio device type.

There may be some rate limiting issues on the Neur.io side as well. In that case, you’d have the following error in the logs:

groovyx.net.http.HttpResponseException: Too Many Requests

Let me know.


I’ll check again and let you know!

I getting error while installing server manager app

{“error”:“invalid_request”,“error_description”:“The redirect_uri in the request does not match that of the specified client”}