Riebart / vivint.py

Python object model interface for the Vivint cloud API.
Mozilla Public License 2.0
31 stars 11 forks source link

Is this Repo still active? #11

Open jgordon165 opened 3 years ago

jgordon165 commented 3 years ago

I've added a few PRs today, but I've noticed that there is a PR outstanding that has been out for quite awhile that does fix an existing issue with the Api. Is the owner of this repo open to new contributions or should there be consideration on another generalized repo for this work?

I currently see 9 forks of this project out there, so I know that there is a need for this project in wild. I know this personally as well. Would love to contribute to this project on a more general basis.

thanks

Riebart commented 3 years ago

I'm here, I'll get around to merging in the PRs, but if someone else wanted to take over active maintenance of the project, I would entertain that.

jgordon165 commented 3 years ago

Would be happy to contribute. I've done quite a bit of work outside of these PRs in my fork. Wouldn't say it's the best code but the idea would be to clean it up and integrate it over time.

Riebart commented 3 years ago

I'll make an effort this week to test and integrate existing PRs, so that should give you a good starting point to bring in more features from your fork, if you want. :)

This code was originally very Proof of Concept, and was built just to satisfy my specific needs, and I never really expected it to take off.

If there's a real desire for this, then there's probably a good argument to be made to clean up the code a bunch too.

jgordon165 commented 3 years ago

I think Vivint by itself has become a good hub for home automation. I've made some considerable strides working through this project. I appreciate you working with these, I agree, sometimes it's the small projects that you don't think will amount to anything that see the most growth/opportunity

Riebart commented 3 years ago

I've added a bunch of stuff this evening, including RTSP camera support and some helper functions, setting the armed state, and panel system partitions. I've also combed through the forks to see if there's anything else worth bringing in, and brought most of it.

Might be worth re-raising this on the subreddits for vivint and homeautomation, see if it gets any traction.

Homebridge has a Vivint plugin (https://github.com/timcharper/homebridge-vivint/) that's about as "official" as you get. My understanding is that it was written by someone that works/worked at Vivint, and know how this all worked, and didn't have to reverse engineering any of it.

There's also https://github.com/silvertoken/pyvivintsky and https://github.com/ovirs/pyvivint which contain some more work.

Might be worth seeing if we can agree on a repo to merge everything into, if this really is a community that wants something other than a Homebridge plugin.

Riebart commented 3 years ago

I'm going to try to summon any authors of GitHub projects that seem to be interested a Vivint API to chat about how we might join forces: @ovirs @Leonard-Lee @silvertoken

jgordonpds commented 3 years ago

I saw the door knocker stuff, but the camera is interesting. I love seeing the reinsurgence in this effort.

Riebart commented 3 years ago

I saw the door knocker stuff, but the camera is interesting. I love seeing the reinsurgence in this effort.

The camera stuff is actually really handy. Since Vivint doesn't let you record full-time from your cameras (at least not on my plan), you can use this to ship the video streams to long-term storage, or an external cloud video analytics service.

jgordonpds commented 3 years ago

I've had considerable problems with latency, particularly with the real time stream. Many times I can't answer the door on my app, so i'm curious to see metrics around wifi, latency, that sort of thing. Also I've found the interface to be a bit clunky with the door bell ringer

jgordonpds commented 3 years ago

another thing, if we have some connections with internal workers at Vivint, the ability to use webhooks would be huge. Way better than having to pull for updates on an interval

ovirs commented 3 years ago

hey guys - Sorry, I had been really busy with RL and work recently and didn't had time for any personal projects.

I'll take a look tonight, read the thread and see if there's anything I can assist with given the limited time I have. In december I should have more time available and be able to help if needed.

I have HA integration that's kind of working that I've been using locally for the past year or so. It has support for door sensors, door locks, the alarm panel and cameras. At the time I didn't feel it was in a state that I would be comfortable sharing it with others because the real-time part of it is a bit buggy but if you guys are interested I can share it. Just a warning - it is a bit outdated (latest HA version I've tested it with is 0.112)

ovirs commented 3 years ago

the ability to use webhooks would be huge. Way better than having to pull for updates on an interval

Vivint is using the PubNub message bus for real-time communication. In the package I adapted for home-assistant I gave it a shot and got it working - I'm able to get real-time updates from the door locks, door sensors, the panel and cameras.

ovirs commented 3 years ago

I've had considerable problems with latency, particularly with the real time stream. Many times I can't answer the door on my app, so i'm curious to see metrics around wifi, latency, that sort of thing.

I'm having the same issues. It got a bit better after I got them to upgrade my panel to a newer model, but it's still lagging. In case you have wifi cameras, the API reports the wifi strength for each of them. I think the parameter name is wiss

Riebart commented 3 years ago

Update here: Vivint is killing the browser webapp by "the end of the year". Not sure if they meant 2020, and are late, or are super early in stating it for 2021. The only way to interact with your system will be by mobile app, which ironically makes these sorts of libraries WAY more important

But if you other package devs are relying on browser-debugging that webapp, like I am, to get the API endpoints and such, then we're going to end up with a much harder job. 😞

(Calling @ovirs and @silvertoken as I'm not too sure how else to let you know other than creating a new issue on each repo, which seems excessive)