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())