Skip to content

[Bug]: Update EufyCam C35 implementation #748

@PhilippEngler

Description

@PhilippEngler

Client version

3.6.0

Node version

22

Operating System type

Other

Operating system version

independant

Describe the bug

If the C35 is used as standalone device, the properties are not set correctly. The issue is resolved here (PhilippEngler/FixT8110). I have had access to a C35 and verified all properties are now working in for the standalone device.

Because the device can also act as standalone device, the C35 has been added to the SoloDevices-check. This will be important for the handling of the device.

If we want to add devices that can operate as standalone and HomeBase-connected devices, we need to ensure that the properties in types.ts are suitable for the standalone functionality and add it as standalone device (and the other checks, here e.g. isCamera and hasBattery).

I want to ask @max246, @mrohnstock and everyone use the C35 in connection with a HomeBase to check if the solution is working also if the C35 is connected to a HomeBase (I can't verify this because the person who granted me access to the C35 does not use a HomeBase).

For the following properties I have not found a possibility to change them by app, so I have removed them:

[PropertyName.DeviceChimeIndoor]: DeviceChimeIndoorBatteryDoorbellProperty
[PropertyName.DeviceAntitheftDetection]: DeviceAntitheftDetectionProperty
[PropertyName.DeviceChimeHomebaseRingtoneVolume]: DeviceChimeHomebaseRingtoneVolumeBatteryDoorbellProperty
[PropertyName.DeviceImageMirrored]: DeviceImageMirroredProperty
[PropertyName.DeviceNotificationRing]: DeviceNotificationRingProperty
[PropertyName.DeviceContinuousRecordingType]: DeviceContinuousRecordingTypeProperty
[PropertyName.DeviceContinuousRecording]: DeviceContinuousRecordingProperty
[PropertyName.DeviceRingtoneVolume]: DeviceRingtoneVolumeBatteryDoorbellProperty
[PropertyName.DeviceVideoTypeStoreToNAS]: DeviceVideoTypeStoreToNASProperty
[PropertyName.DeviceRTSPStream]: DeviceRTSPStreamProperty
[PropertyName.DeviceRTSPStreamUrl]: DeviceRTSPStreamUrlProperty
[PropertyName.DeviceChimeHomebase]: DeviceChimeHomebaseBatteryDoorbellProperty
[PropertyName.DeviceDualCamWatchViewMode]: DeviceDualCamWatchViewModeProperty
[PropertyName.DeviceMotionDetectionType]: DeviceMotionDetectionTypeProperty
[PropertyName.DeviceVideoWDR]: DeviceWDRProperty
[PropertyName.DeviceChimeHomebaseRingtoneType]: DeviceChimeHomebaseRingtoneTypeBatteryDoorbellProperty
[PropertyName.DeviceLightSettingsBrightnessMotion]: DeviceFloodlightLightSettingsBrightnessMotionProperty

The following properties where changed to work with the standalone device. I would like to ask you, if these are also working for the C35 connected to a HomeBase:

[PropertyName.DeviceNightvision]: DeviceNightvisionProperty
[PropertyName.DeviceSpeakerVolume]: DeviceSpeakerVolumeProperty
[PropertyName.DeviceLightSettingsMotionTriggered]: DeviceFloodlightLightSettingsMotionTriggeredProperty

The following properties where changed to work with the standalone device but these will be changed if the device is connected to a HomeBase automatically (this will happens in device.ts at public getPropertiesMetadata(hidden = false): IndexedProperty):

[PropertyName.DeviceDetectionStatisticsWorkingDays]: DeviceDetectionStatisticsWorkingDaysProperty
[PropertyName.DeviceNotificationType]: DeviceNotificationTypeProperty
[PropertyName.DeviceDetectionStatisticsDetectedEvents]: DeviceDetectionStatisticsDetectedEventsProperty
[PropertyName.DeviceDetectionStatisticsRecordedEvents]: DeviceDetectionStatisticsRecordedEventsProperty
[PropertyName.DeviceAudioRecording]: DeviceAudioRecordingProperty
[PropertyName.DeviceVideoRecordingQuality]: DeviceVideoStreamingQualityCameraProperty
[PropertyName.DeviceMotionDetectionSensitivity]: DeviceMotionDetectionSensitivityCamera2Property

If I remember right, there where some issues with DeviceVideoRecordingQuality (I think this was raised up by @max246)? It might be, that there is the need to update the current property implementation (DeviceVideoRecordingQualitySoloCamerasHB3Property) to handle the new values (the current implementation handles 2K and 1080P whereas the C35 does not support the first. The values might be retrieved from the property 1286.

Until now, we are checking the devices if they are connected to a HomeBase 3. Because of the new HomeBase mini we also need to check against that base. This is also done with this change.

If we need to change properties for get working the C35 working correctly with the HomeBases, we need to add them in device.ts at public getPropertiesMetadata(hidden = false): IndexedProperty).

To reproduce

Use a standalone connected C35 with the v3.6.0. Try to change the fixed properties.

Screenshots & Logfiles

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions