Skip to content

feat: add support for eufyCam C37 (T814X, device type 10037)#950

Open
g0nff wants to merge 1 commit into
bropat:developfrom
g0nff:feat/eufycam-c37
Open

feat: add support for eufyCam C37 (T814X, device type 10037)#950
g0nff wants to merge 1 commit into
bropat:developfrom
g0nff:feat/eufycam-c37

Conversation

@g0nff

@g0nff g0nff commented Jul 1, 2026

Copy link
Copy Markdown

Fix: Issue #931

Add support for eufyCam C37 (T814X, device type 10037)

Adds support for the eufyCam C37 — a 360° outdoor pan & tilt battery/solar camera controlled by a HomeBase Mini (T8025). It was previously detected as an UnknownDevice.

Device details (captured from real hardware)

  • device_type: 10037
  • device_model: T814X
  • Station: T8025 (HomeBase Mini) — HomeBase-controlled, not standalone
  • Firmware: 1.0.7.x, hardware P1

Approach

Modeled on the existing outdoor pan & tilt camera (OUTDOOR_PT_CAMERA), which is the closest match — outdoor 360° pan/tilt, HB3-style detection, battery + solar power source, and the correct CMD_OUTDOOR_PAN_CALIBRATION P2P command path.

  • Add DeviceType.CAMERA_C37 = 10037 and the model-name mapping.
  • Classify as camera / battery / pan & tilt / outdoor pan & tilt; add isCameraC37() helpers.
  • Reuse the outdoor pan & tilt property and command sets, plus pet detection (DeviceMotionDetectionTypePet / DevicePetDetected) since the C37 supports human/pet/vehicle.
  • Route the C37's motion-detection type through the C35 path in both parsing and setting: T8170DetectionTypes has no pet value, whereas EufyCamC35DetectionTypes has identical human/vehicle/all-other values (3/4/32768) plus pet (8), and the bit math is identical. Human/vehicle/all-other behavior is therefore unchanged.
  • No StationProperties/StationCommands entries — the C37 is HomeBase-controlled, and its station (T8025 / HomeBase Mini) is already supported.

Testing

Verified against two real C37 cameras via a local eufy-security-ws build:

  • Both recognized as cameras (type: 10037, model: T814X) — no more "New unknown device detected".
  • Exposed and populated: battery, power source (solar), motion detection, motion tracking, rotation speed, Wi-Fi RSSI, night vision, recording settings, snooze, and human / pet / vehicle detection types.

Note: the detection-type read path is confirmed on-device; the write/toggle path reuses the established C35 code path (no changes to shared logic) but a full write round-trip was not exercised due to P2P constraints of the test setup.

The eufyCam C37 is a 360° outdoor pan & tilt battery/solar camera
controlled by a HomeBase Mini (T8025). Modeled on the outdoor pan & tilt
camera (correct outdoor pan/tilt + calibration P2P commands, HB3-style
detection, power source), with these specifics:

- Add DeviceType.CAMERA_C37 (10037) + model name mapping.
- Classify as camera / battery / pan & tilt / outdoor pan & tilt; add
  isCameraC37() helpers.
- Reuse the outdoor pan & tilt property and command sets, plus pet
  detection (DeviceMotionDetectionTypePet / DevicePetDetected) since the
  C37 supports human/pet/vehicle.
- Route the C37's motion detection type through the C35 path (identical
  human/vehicle/all-other values plus pet=8) in both parsing and setting,
  because the T8170 detection set has no pet value.
- No station property/command entries: the C37 is HomeBase-controlled,
  not standalone.

Verified against real devices: recognized as cameras with battery/solar,
pan/tilt, motion tracking, and human/pet/vehicle detection all exposed.
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.

1 participant