Skip to content

fix: route indoor cameras on HomeBase through correct livestream path#830

Closed
lenoxys wants to merge 3 commits into
bropat:developfrom
lenoxys:fix/e30-indoor-camera-homebase-livestream
Closed

fix: route indoor cameras on HomeBase through correct livestream path#830
lenoxys wants to merge 3 commits into
bropat:developfrom
lenoxys:fix/e30-indoor-camera-homebase-livestream

Conversation

@lenoxys

@lenoxys lenoxys commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

Problem

Indoor cameras (INDOOR_PT_CAMERA_E30 / type 105, INDOOR_CAMERA / type 30) connected through a HomeBase (e.g. HB3) fail to start livestream. The startLivestream() method falls through to Branch (3) instead of Branch (1) which has the correct payload for HomeBase-connected devices.

Fix

  • Route INDOOR_PT_CAMERA_E30 and INDOOR_CAMERA on HomeBase into Branch (1) — same payload as outdoor pan-and-tilt cameras
  • Standalone indoor cameras continue to hit Branch (3) as before

Additional cleanup

  • Add missing INDOOR_PT_CAMERA_E30 entries to DeviceCommands and StationCommands maps
  • Add isIndoorPTCameraE30(), isIndoorCameraBase(), and isFloodLightT8424() device detection methods (static + instance)
  • Fix duplicate FLOODLIGHT_CAMERA_8424 condition in Branch (2) and replace raw DeviceType checks with method calls

Tested devices

Device Type Connection Result PR Scope
Indoor PT Camera E30 (T8417) 105 HB3 Livestream works yes
Indoor Camera (T8400) 30 HB3 Livestream works yes
Outdoor Pan & Tilt (T8172) 89 HB3 Livestream works no
Solo IndoorCam (T8170) 48 Standalone Livestream works no

Supersedes #721

This PR supersedes #721, which only added pan/tilt/preset commands to SOLO_CAMERA_E30 DeviceCommands (6 lines, untested). This PR covers the same command map additions plus fixes the actual livestream routing, adds StationCommands entries, device detection methods, and has been tested on 4 physical devices. #721 can be closed.

@lenoxys lenoxys force-pushed the fix/e30-indoor-camera-homebase-livestream branch from 5f9b6f9 to 00964c8 Compare March 2, 2026 10:47
@lenoxys

lenoxys commented Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

Fixed the prettier formatting check. I originally wrote the condition multi-line for readability:

(
  (
    device.isIndoorPTCameraE30() ||
    device.isIndoorCameraBase()
  ) && this.isDeviceControlledByHomeBase()
)

Prettier collapsed it to a single line. Not as readable IMO but matches the project style.

@lenoxys

lenoxys commented Mar 16, 2026

Copy link
Copy Markdown
Contributor Author

Note: PR #847 has some complementary P2P session-level changes for the E30. I've asked @ovikiss to rebase it on top of this PR so the two can land as separate, non-overlapping contributions.

@max246

max246 commented May 20, 2026

Copy link
Copy Markdown
Collaborator

need to fix the conflict

@lenoxys

lenoxys commented May 21, 2026

Copy link
Copy Markdown
Contributor Author

Closing — this was superseded by d624f65 (merged via #847). The fix is already in develop.

@lenoxys lenoxys closed this May 21, 2026
@lenoxys lenoxys deleted the fix/e30-indoor-camera-homebase-livestream branch May 21, 2026 19:22
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.

Please bump eufy-security-client after E30 P2P fix merge

2 participants