tchellomello / python-ring-doorbell

Python Ring Door Bell is a library written in Python 3 that exposes the Ring.com devices as Python objects.
GNU Lesser General Public License v3.0
546 stars 169 forks source link

Not Receiving Notifications #111

Open problemss opened 5 years ago

problemss commented 5 years ago

I see some comments from over a year ago about notifications not working. I am trying now by setting persist_token=True, push_token_notify_url="http://mysite.com" when I setup my Ring object. I am not receiving anything on the site I have setup. If this is working, what am I doing wrong? If it is not working, can this be an enhancement request?

For now I will experiment with IFTTT to create the trigger, but they are not responsive. Would much rather get it directly from Ring.

tchellomello commented 5 years ago

Hello @problemss, since an update back ago in the Ring servers, the notification stopped to work. That would require more investigation to make it work. Any assistance is very welcome!

jsetton commented 5 years ago

Below are the packets from the latest android app using mitmproxy related to the push notification subscription. Both of them got a 204 response with no content. My testing was unsuccessful using my own site url as push_notification_token in the request. I am not sure if there is anything we can do at this point.

PATCH https://api.ring.com/clients_api/device HTTP/2.0
:authority:     api.ring.com
user-agent:     android:com.ringapp:3.10.1(1)
hardware_id:        <HardwareId>
x-api-lang:     en
authorization:      Bearer <AccessToken>
accept:         application.vnd.api.v11+json
content-type:       application/json; charset=UTF-8
content-length:     637
accept-encoding:    gzip
{
    "device": {
        "metadata": {
            "api_version": "11",
            "app_build": "1",
            "app_instalation_date": "2019-02-13T01:33:18.701Z",
            "app_version": "3.10.1",
            "architecture": "x86",
            "device_model": "Android SDK built for x86",
            "h264": "unknown:52 baseline:52 main:52 unknown:52 high:52 ",
            "is_tablet": false,
            "language": "en",
            "linphone_initialized": false,
            "manufacturer": "Google",
            "os_version": "9 (28)",
            "pn_service": "fcm",
            "resolution": "1440x2712",
            "supports_echo_canceler": false
        },
        "os": "android",
        "push_notification_token": "<FirebaseInstanceIdToken>"
    }
}
POST https://prd-ring-web-us.prd.rings.solutions/api/v1/rs/notifications/bind?api_version=11 HTTP/2.0
:authority:     prd-ring-web-us.prd.rings.solutions
user-agent:     android:com.ringapp:3.10.1(1)
hardware_id:        <HardwareId>
x-api-lang:     en
authorization:      Bearer <AccessToken>
x-ring-app-version: Android-3.10.1
content-type:       application/json; charset=UTF-8
content-length:     241
accept-encoding:    gzip
{
    "deviceId": "<HardwareId>",
    "deviceToken": "<FirebaseInstanceIdToken>",
    "platform": "ANDROID"
}
github-actions[bot] commented 4 months ago

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.