python-ring-doorbell icon indicating copy to clipboard operation
python-ring-doorbell copied to clipboard

Feature Request: Motion Snooze Schedule Control

Open jsetton opened this issue 6 years ago • 10 comments

Control motion snooze schedules. This could be used to toggle motion alerts across all clients associated to a specific device.

Motion Schedule List

GET https://api.ring.com/clients_api/doorbots/<doorbotId>/motion_rules?api_version=11 HTTP/1.1
Authorization:	Bearer <token>
X-API-LANG:	en
Hardware_ID:	<hardwareId>
User-Agent:	Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86 Build/PSR1.180720.075)
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip

Motion Schedule Create

POST https://api.ring.com/clients_api/doorbots/<doorbotId>/motion_rules?api_version=11&motion_rule%5Btitle%5D=<title>&motion_rule%5Btime_range%5D%5Bstart_hour%5D=0&motion_rule%5Btime_range%5D%5Bstart_minute%5D=0&motion_rule%5Btime_range%5D%5Bend_hour%5D=23&motion_rule%5Btime_range%5D%5Bend_minute%5D=59&motion_rule%5Bactive%5D=true&motion_rule%5Bdays%5D%5Bmonday%5D=true&motion_rule%5Bdays%5D%5Btuesday%5D=true&motion_rule%5Bdays%5D%5Bwednesday%5D=true&motion_rule%5Bdays%5D%5Bthursday%5D=true&motion_rule%5Bdays%5D%5Bfriday%5D=true&motion_rule%5Bdays%5D%5Bsaturday%5D=true&motion_rule%5Bdays%5D%5Bsunday%5D=true HTTP/1.1
Authorization:	Bearer <token>
X-API-LANG:	en
Hardware_ID:	<hardwareId>
Content-Type:	application/x-www-form-urlencoded
User-Agent:	Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86 Build/PSR1.180720.075)
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
Content-Length:	0

Motion Schedule Delete

DELETE https://api.ring.com/clients_api/doorbots/<doorbotId>/motion_rules/<ruleId>?api_version=11 HTTP/1.1
Authorization:	Bearer <token>
X-API-LANG:	en
Hardware_ID:	<hardwareId>
Content-Type:	application/x-www-form-urlencoded
User-Agent:	Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86 Build/PSR1.180720.075)
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
Content-Length:	0

Motion Schedule Activate

PUT https://api.ring.com/clients_api/doorbots/<doorbotId>/motion_rules/<ruleId>/activate?api_version=11 HTTP/1.1
Authorization:	Bearer <token>
X-API-LANG:	en
Hardware_ID:	<hardwareId>
Content-Type:	application/x-www-form-urlencoded
User-Agent:	Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86 Build/PSR1.180720.075)
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
Content-Length:	0

Motion Schedule Deactivate

PUT https://api.ring.com/clients_api/doorbots/<doorbotId>/motion_rules/<ruleId>/inactivate?api_version=11 HTTP/1.1
Authorization:	Bearer <token>
X-API-LANG:	en
Hardware_ID:	<hardwareId>
Content-Type:	application/x-www-form-urlencoded
User-Agent:	Dalvik/2.1.0 (Linux; U; Android 9; Android SDK built for x86 Build/PSR1.180720.075)
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
Content-Length:	0

jsetton avatar Mar 31 '19 02:03 jsetton

I can get the "Motion Schedule List" working via Postman, but not "Motion Schedule Activate" or "Motion Schedule Deactivate". Any ideas?

242Racing avatar May 22 '19 21:05 242Racing

@242Racing I am not sure. Are you using the proper ruleId? Is "Motion Schedule Create" working?

jsetton avatar May 22 '19 23:05 jsetton

I can get these working: Motion Schedule List, Motion Schedule Create, Motion Schedule Activate. But not Motion Schedule Deactivate. Getting "404 Not Found". Apperently it doesn't like "...deactivate...".

242Racing avatar May 25 '19 17:05 242Racing

Found it! "inactivate" should it be.

242Racing avatar May 25 '19 18:05 242Racing

Good catch! I may have mistyped when formatting the original post. I have updated it.

jsetton avatar May 25 '19 19:05 jsetton

Hey! Thanks for all your work in this! Is this implemented?

freekeys avatar May 02 '20 18:05 freekeys

Is there a way to disable motion detect using this API ? And is there also an option to only disable motion-detect signal from chimes and apps while recording of motion is still possible? Would be great to be able to set motion-detect notifications ON and OFF using this API !

jpveen avatar Aug 16 '20 13:08 jpveen

Would be great to be able to set motion-detect notifications ON and OFF using this API !

You can only snooze #87 or toggle #125 motion alerts on a per app client basis defined by its hardware id. For global toggling, you will need to use scheduling part of this feature request. Basically, have an always disabled schedule already created, and enable it when you want to snooze the alerts and disable it when you want to receive alerts across all your clients.

Is there a way to disable motion detect using this API ?

If you are referring to controlling the camera recording capability, it is possible using the below API calls. This is the other way to globally toggle motion alerts but would lose recording in the process. As for the scheduling capability, these only work on the owner account.

Motion Detection Enable

PATCH https://api.ring.com/devices/v1/devices/<doorbotId>/settings HTTP/1.1
User-Agent:	android:com.ringapp:3.22.3(26360453)
Hardware_ID:	<hardwareId>
X-API-LANG:	en
Authorization:	Bearer <token>
app_brand:	ring
Content-Type:	application/json; charset=UTF-8
Content-Length:	53
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
{
    "motion_settings": {
        "motion_detection_enabled": true
    }
}

Motion Detection Disable

PATCH https://api.ring.com/devices/v1/devices/<doorbotId>/settings HTTP/1.1
User-Agent:	android:com.ringapp:3.22.3(26360453)
Hardware_ID:	<hardwareId>
X-API-LANG:	en
Authorization:	Bearer <token>
app_brand:	ring
Content-Type:	application/json; charset=UTF-8
Content-Length:	54
Host:	api.ring.com
Connection:	Keep-Alive
Accept-Encoding:	gzip
{
    "motion_settings": {
        "motion_detection_enabled": false
    }
}

jsetton avatar Aug 16 '20 15:08 jsetton

I have created PR https://github.com/tchellomello/python-ring-doorbell/pull/282 for the Motion Detection Enable/Disable feature mentioned above.

sdb9696 avatar Aug 01 '23 09:08 sdb9696

There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs. Please make sure to update to the latest ring_doorbell version and check if that solves the issue. Thank you for your contributions.

github-actions[bot] avatar Apr 18 '24 18:04 github-actions[bot]