First of all @amosyuen, so glad you have worked on this! Have been looking for eufy integration to Habitat for a while. Am sure there will be many others.
Got the code installed and after a little jigging around with eufy login found my eufy devices (Homebase2, two EufyCam2, and wireless 2k Doorbell).
Used MakerAPI to expose these to iOS Home app and could see tiles for the eufycam2s and doorbell in Home app. (not the HomeBase2)
(screen grabs from makerAPI and Home APP attached)
Setup notes:
My two EufyCam2 and the 2kwireless doorbell are attached to Homebase2 wirelessly.
I have set up the two EufyCam2s in eufy app for apple hksv as they are HomeKit compatible (not the doorbell).
Am exploring to see how it all works so will likely come back with a stack of questions later.
Not present status means the poll http request is failing. So you I would recommend turning on trace logging and seeing why the http request is failing.
Looks like since I wrote the driver for the wired doorbell and the wired doorbell also acts like it's own station with a guard mode, it isn't handling the wireless doorbell correctly, which has the guard mode on the home base station. I pushed a fix in v0.0.4 that should handle the doorbell not having a guard mode properly. Let me know if that fixes the errors and presence problem.
This is just a thought, but since you are creating a device for the camera device could that device include the ability to be a virtual motion device. This would allow integration with something like the Tiny Cam app. I was testing and having good success with that application to bring motion events for the camera from my motion server into Hubitat.
Unfortunately hubitat doesn't support UDP sockets or UDP requests with multiple responses. And looks like it's fairly low priority Persistent UDP - Feature Requests - Hubitat. So it looks like I won't be able to support:
Write commands to devices connected directly to a station (outdoor cameras and wireless doorbells)
Understood, but what i am asking for is not that you receive motion detentions as part of your app but allow the capability to be on the devices like the virtual motion sensor that is currently avaliable. Then i could use a external event to send the command to activate motion on the virtual device.
The purpose would be to eliminate having two devices in hubitat for motion detection with one Eufy device like I would need right now. I can get motion detection into Hubitat with a smartapp called TinyCam Connector. That software simply listens on a webhook for the motion trigger from a remote device that monitors the camera. As the software name indicates it was written to use with the Android App Tiny Cam Pro, but can also take a webhook from any software that will hit the correct URL. I actually have Motion Eye on my unraid server triggering the event. It has actually been working well for some time since i set it up. Once the webhook it called it then well send the state to any Virtual motion device setup. If we could enable the Motion capabilty on your driver then instead of building a second virtual device, i could just point it to the device your driver creates.
Ah, thanks for clarifying what you meant. I'm worried that it might be confusing for other users to have a virtual motion ability that is meant to be controlled by some other app.
Having two different devices doesn't seem too bad in terms of user experience in dashboards and UIs, and might be good in the sense that it clearly separates out the two different data sources.
I've noticed that you use capability "Battery" for Cams and Bases - but I cannot see/get any battery values...
So... Are you planing to integrate the battery values in the near future (for the Cams it would make sense) - or is this just a false declaration in the driver code?