kirbs- / sensi

API Wrapper for Emerson Sensi WiFi thermostats.
GNU General Public License v2.0
34 stars 10 forks source link

sensi api changed #6

Open ghost opened 6 years ago

ghost commented 6 years ago

I've been using your wrapper for a while for gathering home metrics and automation, looks they just overhauled their API architecture. https://sensiapi.io is the new URI.

I don't have a full list to report of what no longer works but they did depreciate a lot from what i can see. More of an FYI.

kirbs- commented 6 years ago

Wasn't aware, thanks for the heads up. Looks like they put their new website behind a pay wall and started charging to manage multiple thermostats.

Edit: looks like you can still manage multiple thermostats, but only through their iOS/Android app.

ghost commented 6 years ago

yah I have a conversation going with their support to get more info on all the changes. I haven't tried the changes in your methods but manually trying their API I wasn't able to get the authorize working.

they basically told me, yah it changed to this new url and many of the functions you could do might not work anymore and we haven't published any API doco... :( . I'm trying to get more info from them.

where did you find all their API info? just trial and error, traffic sniffing or did they at one time have it published?

kirbs- commented 6 years ago

Originally I got in touch with Emerson to see if there was API access for developers. But they didn't have any plans to open it up. I ended up watching the network traffic when interacting with the old website. The API was obfuscated, but pretty easy to deconstruct.

Ideally I want to connect directly to the thermostat instead of routing a command through Emerson. Just haven't figured out how to access whatever OS it's running.

kirbs- commented 5 years ago

@RebelIT Did you ever hear back from Emerson?

mrdotkom commented 5 years ago

Not the OP but I believe I had success using the oauth.sensiapi.io//api/authorize URI

Now failing on an undefined method "icd" which I assume is meant to be returned in the authentication response?

ghost commented 5 years ago

@kirbs I did hear back awhile ago. They basically said yes it changed to adopt their new cloud platform and multi-device control subscription based model. They said there still is an external API but they are not publishing documentation to the public. It's there for existing app developers that have legacy hooks into sensi control.

I haven't revisited it since.

gcolin59 commented 5 years ago

Not the OP but I believe I had success using the oauth.sensiapi.io//api/authorize URI

Now failing on an undefined method "icd" which I assume is meant to be returned in the authentication response?

mrdotkom, any chance you could elaborate on this success a little? I've been trying to get this sensiapi.io to do something, anything, for a little bit and getting nothing but headaches for the effort.

mrdotkom commented 5 years ago

check out https://sensiapi.io//api/authorize (the // is very important!), i wonder if we're meant to pass in a resource through there but so far the only thing that hasn't resulted in '{"message":"Missing Authentication Token"}' has been the double slash

However it looks like things may have changed yet again as I was able to see the request hit oauth last I checked but now I get an invalid request. Haven't had time to play with it recently and might have forgotten my password.

Let me know if you make any headway, still trying to scrape this damn thing into my NMS for automation purposes!

On Wed, Dec 26, 2018 at 6:07 PM gcolin59 notifications@github.com wrote:

Not the OP but I believe I had success using the oauth.sensiapi.io//api/authorize URI

Now failing on an undefined method "icd" which I assume is meant to be returned in the authentication response?

mrdotkom, any chance you could elaborate on this success a little? I've been trying to get this sensiapi.io to do something, anything, for a little bit and getting nothing but headaches for the effort.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kirbs-/sensi/issues/6#issuecomment-450038958, or mute the thread https://github.com/notifications/unsubscribe-auth/ArNFuVQA_e_rrFfaYHtsyGJw8lf7XaOOks5u9AEogaJpZM4UqVxh .