Skip to main content

Python library for interacting with Vivint Sky API

Project description

pyVivintSky

A Python library for interacting with Vivint Sky API.

I own a system by Vivint and was annoyed when I found they didn't post any information about how the API works. After looking over the internet I was able to find a few pieces of information and one gem written by Tim Harper. The homebridge site makes a claim that Tim used to be a Vivint employee which I have no reason to doubt and honestly his work would require some type of inside knowledge to the API.

My intent here was to combine all the work that has been done over the last couple of years and combine them into a working library so I can add an integration to the Home Automation System called Home Assistant (https://www.home-assistant.io/).

Credit

Name Description Link
Tim Harper Tim released a version for Homebridge with very useful information on how the API works. This served as the main basis for how I wrote the integration. https://github.com/timcharper/homebridge-vivint
Reibart Reibart did a lot work trying to reverse the API via browser calls. I used the information from this project to enhance this one. https://github.com/Riebart/vivint.py
Ovirs Ovirs has some additions he made to Reibart work above and it contains information on other devices. https://github.com/ovirs/pyvivint
jhutchins JHutchins did a homework project using the devices and his site contains some infmormatio on the thermostat API calls. https://github.com/jhutchins/vivint

Features

Authentication

Authentication is handled currently via username and password. I would recommend setting up a user on Vivint for just this purpose. This makes it easy to distinguish when events are coming from automation.

This does direct calls to the Vivint API and stores a session key that last 20 mins by default. I then check for the expiration of this key on each call in the future login again if its expired.

PubNub

Message states and changes to devices are handled by PubNub. This API subscribes to the panels PubNub channel and is able to handle messages like doors opening and closing.

Devices

Panel

This is the root device and all child devices are attached to it. Looking at the API its possible for an account to have more than one panel and this makes attempts to handle that.

Feature Status
Armed State In Progress
Update State Not Implemented Yet
PubNub Not Implemented Yet

Wireless Sensors

These are any device that remotely connect to the sytem via wifi. This includes door sensors, break glass, and motion detectors.

Feature Status
Name Working
State Working
PubNub Working

Thermostat

I don't own one of these yet but there is enough information on the other sites I think to implement the features.

Feature Status

Door Locks

I don't own any of these but there is enough information on the other sites I think to implement the features.

Feature Status

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyVivintSky-0.0.2.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyVivintSky-0.0.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file pyVivintSky-0.0.2.tar.gz.

File metadata

  • Download URL: pyVivintSky-0.0.2.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for pyVivintSky-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c97c48ff50bac2b5e1511795db585b32d000f6bf3211e969a611ac731452c633
MD5 d5e566a7cc80cbe75cced445a4239d1e
BLAKE2b-256 f9de082d9dd945aaaba44750043b4a9deb3d2f02bc42149b7ea0c2e96ae8be5f

See more details on using hashes here.

File details

Details for the file pyVivintSky-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyVivintSky-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for pyVivintSky-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 52aa97a264c082f752b87dcc03f8fdfe32bd5c3649075741c44a02e6db43d56e
MD5 5809042db416dc853123fb10b4951232
BLAKE2b-256 7b121b5977d062f14c94fd7a91d704e8a72e66888c9bec657fd9a714c1bdf9ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page