fronzbot/blinkpy

Night vision toggling is broken for older devices (owl)

cocasema opened this issue · 0 comments

The "camera config update" API path was accidentally changed during refactoring in #717

old camera.py :133

def night_vision(self, value):
    ...
    if self.product_type == "owl" and value in ["auto", "on", "off"]:
        url = f"{self.sync.urls.base_url}/api/v1/accounts/{self.sync.blink.account_id}/networks/{self.network_id}/owls/{self.camera_id}/config"

https://github.com/fronzbot/blinkpy/pull/717/files/f73d325eda27138b39bdaf3457e800d1ba0cfed2..ad53610caef1c05b32805593728e3c9f06afd8b8#diff-d079967596da1387b447c866be244e0b9c5d67558dadfabc496c4c99d28cb191L133

/config vs /update

new api.py :387

def request_update_config(blink, network, camera_id, product_type="owl", data=None):
    ...
    if product_type == "owl":
        url = f"{blink.urls.base_url}/api/v1/accounts/{blink.account_id}/networks/{network}/owls/{camera_id}/update"

https://github.com/fronzbot/blinkpy/pull/717/files/f73d325eda27138b39bdaf3457e800d1ba0cfed2..ad53610caef1c05b32805593728e3c9f06afd8b8#diff-4a2f83dc5aa9a7f5c5a99aceb91c8af8e311706b2edc2c00f08834710b01f0c0R387

Logs:

DEBUG:blinkpy.api:Making POST request to https://rest-u012.immedia-semi.com/api/v1/accounts/A/networks/N/owls/C/config: {"illuminator_enable": "on"}
<ClientResponse(https://rest-u012.immedia-semi.com/api/v1/accounts/A/networks/N/owls/C/config) [200 OK]>

vs

DEBUG:blinkpy.api:Making POST request to https://rest-u012.immedia-semi.com/api/v1/accounts/A/networks/N/owls/C/update: {"illuminator_enable": "on"}
<ClientResponse(https://rest-u012.immedia-semi.com/api/v1/accounts/A/networks/N/owls/C/update) [404 Not Found]>