Skip to content

eufy: attempt to add support for FloodLight and SoloCam E30#583

Merged
martijnpoppen merged 4 commits intobropat:developfrom
jarodwilson:e30-cameras
Apr 1, 2025
Merged

eufy: attempt to add support for FloodLight and SoloCam E30#583
martijnpoppen merged 4 commits intobropat:developfrom
jarodwilson:e30-cameras

Conversation

@jarodwilson
Copy link
Copy Markdown
Contributor

This just adds in the serial number matching in what looks like the right places for these two cameras:

  • SoloCam E30 (T8171)
  • FloodLight E30 (T8426)

Fixes: #579

@jarodwilson
Copy link
Copy Markdown
Contributor Author

This is completely untested as of yet, but that's up next... (I only have the SoloCam myself, but another user chimed in about the FloodLight, and adding that too looked simple enough).

@ChayoteJarocho
Copy link
Copy Markdown
Collaborator

Hey @jarodwilson how do you plan to test it? Have you done it before? I was able to test a fix but it took me quite some time to get everything working as expected. I wonder if other people have found easier ways to test the whole eugy integration and add-on with their own fixes. Here I wrote a summary of all I had to do.

@martijnpoppen
Copy link
Copy Markdown
Collaborator

martijnpoppen commented Jan 14, 2025

@jarodwilson keep in mind to also add the device properties inside types.ts

I'll probably add some devices aswell soon into PR :)

@jarodwilson
Copy link
Copy Markdown
Contributor Author

@jarodwilson keep in mind to also add the device properties inside types.ts

I'll probably add some devices aswell soon into PR :)

Oh, yeah, I missed quite a bit of necessary additional information... Just pushed an update to the PR w/stuff replicated from other devices for these two as a starting point. I've not yet had time to get around to actually testing any of this, been busy with other things...

@jarodwilson
Copy link
Copy Markdown
Contributor Author

Hey @jarodwilson how do you plan to test it? Have you done it before? I was able to test a fix but it took me quite some time to get everything working as expected. I wonder if other people have found easier ways to test the whole eugy integration and add-on with their own fixes. Here I wrote a summary of all I had to do.

I did briefly look into how to do this with Home Assistant, and... oof. I think I might actually try some simpler testing just using a one-off install of HomeBridge and its plugin that uses eufy-security-client on a spare raspberry pi zero 2 w I have laying around, with the hopes I can just update the client code there w/o having to jump through docker registry hoops.

@jarodwilson
Copy link
Copy Markdown
Contributor Author

Well. This typescript/nodejs stuff is definitely not in my comfort zone, and trying to use the zero 2 w was an exercise in frustration, since it's got so little memory, but I threw a beefier machine at it, and as of the latest push, I'm at least now seeing the latest camera snapshot come through to Apple Home, but live streaming isn't working yet.

@genomez
Copy link
Copy Markdown

genomez commented Jan 15, 2025

That's a step in the right direction. Not having the option to turn on/off the light of the new Floodlight Cam has thrown off my automations around the house. I mostly have it working through Node-Red and an Alexa Node, but it is not nearly as seamless as my other Floodlights that already work in eufy-security. Thanks for digging into this!

@jarodwilson
Copy link
Copy Markdown
Contributor Author

That's a step in the right direction. Not having the option to turn on/off the light of the new Floodlight Cam has thrown off my automations around the house. I mostly have it working through Node-Red and an Alexa Node, but it is not nearly as seamless as my other Floodlights that already work in eufy-security. Thanks for digging into this!

I don't suppose you've been able to figure out which device ID Eufy gave to the floodlight cam e30? I'd originally slotted the solo cam e30 in at 65, but found out it was actually 88, and having that match actually helped out a LOT more than I realized. Still no video streaming to Apple Home, but motion detection events are registering with HomeBridge:

[01/15/2025, 14:00:27]	[EufySecurity]	INFO	Driveway MOTION DETECTED (vehicle detected)': true
[01/15/2025, 14:00:27]	[EufySecurity]	INFO	Driveway MOTION DETECTED (motion detected)': true
[01/15/2025, 14:00:37]	[EufySecurity]	INFO	Driveway MOTION DETECTED (vehicle detected)': false
[01/15/2025, 14:00:37]	[EufySecurity]	INFO	Driveway MOTION DETECTED (motion detected)': false

There's not much in the way of logging, even with debug logging enabled, to give me any idea why video isn't working. All I see is Apple Home timing out trying to stream video, and a log event of:

[01/15/2025, 15:14:37]	[EufySecurity]	INFO	Driveway Stopped video stream.

@genomez
Copy link
Copy Markdown

genomez commented Jan 15, 2025

How did you figure out 88 was correct for the solo cam?

@genomez
Copy link
Copy Markdown

genomez commented Jan 15, 2025

I do see "type: 87" under attributes for the Floodlight and "type: 88" under the solo cam.

@jarodwilson
Copy link
Copy Markdown
Contributor Author

I do see "type: 87" under attributes for the Floodlight and "type: 88" under the solo cam.

I was looking at the plugin config screen in Homebridge and when clicking on the entity for the camera, I saw a stray "88" there, and figured that it was probably relevant after looking at what was there for my sensors and hb3. :P

Latest push should have the floodlight cam set to 87 now, and complete shot in the dark guesses for a start on parameters/features, based on another floodlight camera.

@jarodwilson jarodwilson force-pushed the e30-cameras branch 2 times, most recently from bad4ff9 to c8a26f6 Compare January 16, 2025 02:06
This just adds in the serial number matching in what looks like the right
places for these two cameras:

- SoloCam E30 (T8171)
- FloodLight E30 (T8426)

It also duplicates the SoloCam C210 and Floodlight Cam E340 definitions as
a starting point.

Fixes: bropat#579

Signed-off-by: Jarod Wilson <[email protected]>
@jarodwilson
Copy link
Copy Markdown
Contributor Author

Well, at this point, I'm not convinced the lack of HomeKit secure video streaming isn't just a problem with the HKSV specific setup bits. The camera most definitely does start streaming video, per logs, and stops when told. Snapshots work just fine, and I'm seeing motion detection events (with type) just fine too. Might try spinning up a devel instance of HomeAssistant per https://developers.home-assistant.io/docs/add-ons/testing/ next to see how things behave there...

@jarodwilson
Copy link
Copy Markdown
Contributor Author

Just confirmed in the homebridge discord, HKSV doesn't work at all with node versions newer than 20.11.0, and I've got 22.11.0 and 20.18.1 currently available. Have been trying to spin up a home assistant dev container, but it doesn't seem to play well with podman, at least in rootless mode.

@jarodwilson
Copy link
Copy Markdown
Contributor Author

Finally got around to doing the entire HA custom add-on dance, which was... painful. But it's up and running, and the camera is indeed streaming video just fine. It doesn't seem the PTZ controls from WebRTC are working for some reason though. They do work fine with the e340 camera I've added in the interim though, so I may still have something slightly still off, but hey, video streaming and snapshots do work.

@jarodwilson
Copy link
Copy Markdown
Contributor Author

This has been working well for me for a month with my SoloCam E30, including P/T, though my use of it within Home Assistant is fairly basic. For what I do though, it's behaving just as well as my three other already supported cameras. What else needs doing to get this towards the point of merging?

@ChayoteJarocho
Copy link
Copy Markdown
Collaborator

@jarodwilson this repo has not had any activity since November, unfortunately. Would you be interested in collaborating with me in creating a fork with multiple maintainers?

@jarodwilson
Copy link
Copy Markdown
Contributor Author

@jarodwilson this repo has not had any activity since November, unfortunately. Would you be interested in collaborating with me in creating a fork with multiple maintainers?

I'm game to help out -- a collaborative thing definitely sounds more appealing than going it alone. However, I don't have a huge amount of time to dedicate to it at the moment, and no new device acquisitions planned in the immediate future. But I've got more than a few ideas about ways the code could be restructure to be a bit more maintenance-friendly -- adding support for a new device requiring "if device X" in 14 different places across multiple different files is... sub-optimal. :)

@martijnpoppen martijnpoppen self-requested a review April 1, 2025 15:25
@martijnpoppen martijnpoppen changed the base branch from master to develop April 1, 2025 15:25
@martijnpoppen martijnpoppen merged commit 24acb3c into bropat:develop Apr 1, 2025
@mfavinsky
Copy link
Copy Markdown

Not working for me with Floodlight Cam E30. Getting a wrong return value error. Here are the logs I'm getting:

[07/25/2025, 21:53:42] [EufySecurity] ERROR Back of House handleSecuritySystemCurrentStateGets: Wrong return value

Error Something wrong with this device
error stack:
• StationAccessory.ts StationAccessory.handleSecuritySystemTargetStateGet
StationAccessory.ts:312
• StationAccessory.ts StationAccessory.handleSecuritySystemCurrentStateGet
StationAccessory.ts:302
• StationAccessory.ts getValue
StationAccessory.ts:89
• BaseAccessory.ts SecuritySystemCurrentState.getHandler
BaseAccessory.ts:154
• Characteristic.ts SecuritySystemCurrentState.
Characteristic.ts:2421
• tslib.js step
tslib.js:196
• tslib.js Object.next
tslib.js:177
• tslib.js
tslib.js:170

@genomez
Copy link
Copy Markdown

genomez commented Jul 27, 2025

Not working for me with Floodlight Cam E30. Getting a wrong return value error. Here are the logs I'm getting:

[07/25/2025, 21:53:42] [EufySecurity] ERROR Back of House handleSecuritySystemCurrentStateGets: Wrong return value

Error Something wrong with this device error stack: • StationAccessory.ts StationAccessory.handleSecuritySystemTargetStateGet StationAccessory.ts:312 • StationAccessory.ts StationAccessory.handleSecuritySystemCurrentStateGet StationAccessory.ts:302 • StationAccessory.ts getValue StationAccessory.ts:89 • BaseAccessory.ts SecuritySystemCurrentState.getHandler BaseAccessory.ts:154 • Characteristic.ts SecuritySystemCurrentState. Characteristic.ts:2421 • tslib.js step tslib.js:196 • tslib.js Object.next tslib.js:177 • tslib.js tslib.js:170

The Floodlight Cam E30 hasn't fully worked for me either. It shows up, but as an example if I try to turn the light on, I get the following error:

Failed to perform the action light/turn_on. {'type': 'result', 'success': False, 'messageld': 'device.set_property.7d2e4f55d5e04d9887e22638XXXXXXXX', 'errorCode': 'device_not_supported'}

However, some things work as intended. For example, the event image updates properly when motion is detected.

@mfavinsky
Copy link
Copy Markdown

How are you getting it to show up? Mine doesn’t even show up.

@Filpin011
Copy link
Copy Markdown

Hello, I have managed to get my Solocam E30 (T8171) working, but I cannot get the PTZ controls to function and cannot control the preset zones and other features. Is there an update planned to make them work? I am available to perform some tests.

image

MELSAID888 pushed a commit to MELSAID888/eufy-security-client that referenced this pull request Dec 21, 2025
NEW: add  SoloCam E30 (T8171) & FloodLight E30 (T8426)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature request]: SoloCam E30 (T8171) support

6 participants