Skip to content

S3 Pro support #17

@mremotegod

Description

@mremotegod

First i appreciate everything that you have done up to this point for trying to get eufy to place nice outside of the native eufy app. i find it a headache i cannot record at 4k in the app and yet stream outside even at 1080p. i have some s330 (eufycam 3), and just recently purchased and installed some eufyCam S3 Pro's.

is it possible to have a toggle to enable under power to display direct power? all of my cameras are wired with a usbc cable and inside the eufy plugin i cannot tell scrypted this is the case. therefore when rebroadcasting it sees the camera is on battery power and is set to on demand.

i stopped rebroadcasting to work on problems 1 by one and for starters i am not getting snapshots for my new Eufycam S3 Pro's.
see log:
[Device_T8162T10244528F0] Created EufyDevice for device_T8162T10244528F0
[Device_T8162T10244528F0] Setting up WebSocket listener for device: T8162T10244528F0
[Device_T8162T10244528F0] WebSocket listener setup complete for device: T8162T10244528F0
[Device_T8162T10244528F0] Created EufyDevice for device_T8162T10244528F0
[Device_T8162T10244528F0] Setting up WebSocket listener for device: T8162T10244528F0
[Device_T8162T10244528F0] WebSocket listener setup complete for device: T8162T10244528F0
[Device_T8162T10244528F0] Scheduled refresh starting
[Device_T8162T10244528F0] Scheduled refresh completed successfully
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 🎥 Starting livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream start command sent successfully
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] 📐 Captured video metadata: 3840x2160 @ 15fps, codec: H265
[Device_T8162T10244528F0] 📹 Livestream confirmed active - receiving video data
[Device_T8162T10244528F0] 📐 Captured video metadata: 3840x2160 @ 15fps, codec: H265
[Device_T8162T10244528F0] 📹 Livestream confirmed active - receiving video data
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] 🛑 Stopping livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream stop command sent successfully
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 🎥 Starting livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream start command sent successfully
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] 📹 Livestream confirmed active - receiving video data
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] 🛑 Stopping livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream stop command sent successfully
[Device_T8162T10244528F0] Updating property powerSource to 0
[Device_T8162T10244528F0] Property powerSource updated successfully
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 🎥 Starting livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream start command sent successfully
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
########################
4/2/2026, 10:41:52 AM
########################
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8162T10244528F0] Scheduled refresh starting
[Device_T8162T10244528F0] Scheduled refresh completed successfully
########################
4/2/2026, 10:51:15 AM
########################
[Device_T8162T10244528F0] Scheduled refresh starting
[Device_T8162T10244528F0] Scheduled refresh completed successfully
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 📸 Taking snapshot from camera stream
[Device_T8162T10244528F0] Using timeout: 15000ms for snapshot capture
[Device_T8162T10244528F0] 📸 Capturing snapshot...
[Device_T8162T10244528F0] 🎥 Starting livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream start command sent successfully
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] Stream started
[Device_T8162T10244528F0] 📹 Livestream confirmed active - receiving video data
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] Failed to capture snapshot: Error: Snapshot capture timed out after 15000ms - no keyframe received
[Device_T8162T10244528F0] 🛑 Stopping livestream (attempt 1/3)
[Device_T8162T10244528F0] ✅ Livestream stop command sent successfully

When i try to load an s330 this is the log:
[Device_T8160P122344475A] Created EufyDevice for device_T8160P122344475A
[Device_T8160P122344475A] Setting up WebSocket listener for device: T8160P122344475A
[Device_T8160P122344475A] WebSocket listener setup complete for device: T8160P122344475A
[Device_T8160P122344475A] Created EufyDevice for device_T8160P122344475A
[Device_T8160P122344475A] Setting up WebSocket listener for device: T8160P122344475A
[Device_T8160P122344475A] WebSocket listener setup complete for device: T8160P122344475A
[Device_T8160P122344475A] Scheduled refresh starting
[Device_T8160P122344475A] Scheduled refresh completed successfully
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 🎥 Starting livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream start command sent successfully
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] 📐 Captured video metadata: 3840x2160 @ 15fps, codec: H265
[Device_T8160P122344475A] 📹 Livestream confirmed active - receiving video data
[Device_T8160P122344475A] 📐 Captured video metadata: 3840x2160 @ 15fps, codec: H265
[Device_T8160P122344475A] 📹 Livestream confirmed active - receiving video data
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] ✅ Snapshot captured: 101470 bytes (keyframe)
[Device_T8160P122344475A] ✅ Snapshot captured: 101470 bytes (keyframe)
[Device_T8160P122344475A] Captured H.264 keyframe: 101470 bytes - converting to JPEG
[Device_T8160P122344475A] Captured H.264 keyframe: 101470 bytes - converting to JPEG
[Device_T8160P122344475A] 🛑 Stopping livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream stop command sent successfully
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 510049 bytes
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 510049 bytes
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 🎥 Starting livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream start command sent successfully
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] 📹 Livestream confirmed active - receiving video data
[Device_T8160P122344475A] ✅ Snapshot captured: 154924 bytes (keyframe)
[Device_T8160P122344475A] ✅ Snapshot captured: 154924 bytes (keyframe)
[Device_T8160P122344475A] Captured H.264 keyframe: 154924 bytes - converting to JPEG
[Device_T8160P122344475A] Captured H.264 keyframe: 154924 bytes - converting to JPEG
[Device_T8160P122344475A] 🛑 Stopping livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream stop command sent successfully
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 705554 bytes
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 705554 bytes
########################
4/2/2026, 10:42:00 AM
########################
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 🎥 Starting livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream start command sent successfully
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] 📹 Livestream confirmed active - receiving video data
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] ✅ Snapshot captured: 128862 bytes (keyframe)
[Device_T8160P122344475A] ✅ Snapshot captured: 128862 bytes (keyframe)
[Device_T8160P122344475A] Captured H.264 keyframe: 128862 bytes - converting to JPEG
[Device_T8160P122344475A] Captured H.264 keyframe: 128862 bytes - converting to JPEG
[Device_T8160P122344475A] 🛑 Stopping livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream stop command sent successfully
[Device_T8160P122344475A] 📹 Livestream confirmed active - receiving video data
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 676677 bytes
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 676677 bytes
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Scheduled refresh starting
[Device_T8160P122344475A] Scheduled refresh completed successfully
[Device_T8160P122344475A] Scheduled refresh starting
[Device_T8160P122344475A] Scheduled refresh completed successfully
########################
4/2/2026, 10:53:09 AM
########################
[Device_T8160P122344475A] Scheduled refresh starting
[Device_T8160P122344475A] Scheduled refresh completed successfully
[Device_T8160P122344475A] Scheduled refresh starting
[Device_T8160P122344475A] Scheduled refresh completed successfully
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] 🎥 Starting livestream (attempt 1/3)
[Device_T8160P122344475A] 📸 Taking snapshot from camera stream
[Device_T8160P122344475A] Using timeout: 15000ms for snapshot capture
[Device_T8160P122344475A] 📸 Capturing snapshot...
[Device_T8160P122344475A] ✅ Livestream start command sent successfully
[Device_T8160P122344475A] Error in state change callback: TypeError: Cannot set properties of undefined (setting 'motionDetected')
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] Stream started
[Device_T8160P122344475A] ✅ Snapshot captured: 133085 bytes (keyframe)
[Device_T8160P122344475A] ✅ Snapshot captured: 133085 bytes (keyframe)
[Device_T8160P122344475A] Captured H.264 keyframe: 133085 bytes - converting to JPEG
[Device_T8160P122344475A] Captured H.264 keyframe: 133085 bytes - converting to JPEG
[Device_T8160P122344475A] 🛑 Stopping livestream (attempt 1/3)
[Device_T8160P122344475A] ✅ Livestream stop command sent successfully
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 702361 bytes
[Device_T8160P122344475A] ✅ Snapshot converted to JPEG: 702361 bytes

im not sure how many users are running S3 Pro's with your plugin but i suspect there will be more to come in the future. any logs you may need to see please let me know and ill be happy to provide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions