Eufy Doorbell sends signal to mechanical chime for too long

Well, I have an interesting solution that may help others in the future. To simulate my fix of “reselecting” the mechanical chime again in the mobile app, I modified the lib from https://github.com/FuzzyMistborn/python-eufy-security and added an extra function that resets the mechanical doorbell setting. The script sits on my server, and runs as a cronjob daily. I think that this should work, and will report again if otherwise. Below lists out what modifications were made to each file in the above-mentioned lib.

params.py:
Added under the class ParamType(Enum):

CMD_BAT_DOORBELL_MECHANICAL_CHIME_SWITCH = 1703

camera.py:
Added the entire new function under class Camera:

async def async_reset_chime(self):
        """Reset doorbell mechanical chime"""
        await self.async_set_params({ParamType.CMD_BAT_DOORBELL_MECHANICAL_CHIME_SWITCH: 1})

New script that calls everything called eufy.py:

import asyncio
from aiohttp import ClientSession
from eufy_security import async_login

username = ""
password = ""

async def main() -> None:
    async with ClientSession() as websession:
        #Create an API client:
        api = await async_login(username, password, websession)

        camera = list(api.cameras.values())[0]
        print("Resetting doorbell chime...")
        camera.async_reset_chime
        #print("Camera parameters: %s", camera.params)

asyncio.get_event_loop().run_until_complete(main())
2 Likes