Skip to main content

A Python library to communicate with Ring Door Bell (

Project description

Python Ring Door Bell is a library written in Python 2.7/3x that exposes the devices as Python objects.

Currently does not provide an official API. The results of this project are merely from reverse engineering.



# Installing from PyPi
$ pip install ring_doorbell

# Installing latest development
$ pip install \

Initializing your Ring object

from ring_doorbell import Ring
myring = Ring('foo@bar', 'secret')


Listing devices linked to your account

# All devices
{'chimes': [<RingChime: Downstairs>],
'doorbells': [<RingDoorBell: Front Door>]}

# All chimes
[<RingChime: Downstairs>]

# All door bells
[<RingDoorBell: Front Door>]

# All stickup cams
[<RingStickUpCam: Driveway>]

Playing with the attributes and functions

for dev in list(myring.stickup_cams + myring.chimes + myring.doorbells):

    # refresh data

    print('Account ID: %s' % dev.account_id)
    print('Address:    %s' % dev.address)
    print('Family:     %s' %
    print('ID:         %s' %
    print('Name:       %s' %
    print('Timezone:   %s' % dev.timezone)
    print('Wifi Name:  %s' % dev.wifi_name)
    print('Wifi RSSI:  %s' % dev.wifi_signal_strength)

    # setting dev volume
    print('Volume:     %s' % dev.volume)
    dev.volume = 5
    print('Volume:     %s' % dev.volume)

    # play dev test shound
    if == 'chimes':
        dev.test_sound(kind = 'ding')
        dev.test_sound(kind = 'motion')

    # turn on lights on floodlight cam
    if == 'stickup_cams' and dev.lights:
        dev.lights = 'on'

Showing door bell events

for doorbell in myring.doorbells:

    # listing the last 15 events of any kind
    for event in doorbell.history(limit=15):
        print('ID:       %s' % event['id'])
        print('Kind:     %s' % event['kind'])
        print('Answered: %s' % event['answered'])
        print('When:     %s' % event['created_at'])
        print('--' * 50)

    # get a event list only the triggered by motion
    events = doorbell.history(kind='motion')

Downloading the last video triggered by ding

doorbell = myring.doorbells[0]
    doorbell.history(limit=100, kind='ding')[0]['id'],

Displaying the last video capture URL


How to contribute


Credits && Thanks

Project details

Download files

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

Files for ring-doorbell, version 0.2.7
Filename, size File type Python version Upload date Hashes
Filename, size ring_doorbell-0.2.7.tar.gz (29.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page