Recognize cocoa_camera_v3, cocoa_floodlight_v2 and stickup_cam_mini_v3 kinds#529
Conversation
These newer Ring camera kinds are logged as "Unknown kind" and fall through to the generic profile, so battery/siren/light/motion-detection capabilities and the model name are not reported. Add each to its existing device-kind family so it is classified correctly: - cocoa_camera_v3 -> STICKUP_CAM_GEN3_KINDS (Stick Up Cam (3rd Gen)) - cocoa_floodlight_v2 -> FLOODLIGHT_CAM_PLUS_KINDS (Floodlight Cam Plus) - stickup_cam_mini_v3 -> INDOOR_CAM_GEN2_KINDS (Indoor Cam (2nd Gen)) Observed on real hardware. Fixes python-ring-doorbell#525. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pins the classification added in the previous commit: each new kind maps to its device-kind family's model name and capabilities, and model() never returns the "Unknown Stickup Cam" fallback. Patches the `kind` property so it needs no network fixtures. - cocoa_floodlight_v2 -> Floodlight Cam Plus (light + siren + motion) - cocoa_camera_v3 -> Stick Up Cam (3rd Gen)(battery + siren + motion) - stickup_cam_mini_v3 -> Indoor Cam (2nd Gen) (siren + motion) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Hey there, I started working on My approach (#531) adds a dedicated But I did verify that all capabilities (motion detection, video, siren) worked as expected with this mapping. |
Summary
Three newer Ring camera
kinds are currently unrecognized and logged asUnknown kind: …, so they fall through to the genericRingStickUpCamprofile. The device is still created (snapshots and WebRTC live view work, since those are not kind-gated), butmodelresolves to "Unknown Stickup Cam" andhas_capability()returnsFalsefor video/motion/battery/siren/light — so battery level readsunknownand the motion-detection / siren / light entities are missing.This adds each kind to its existing device-kind family:
modelcocoa_camera_v3STICKUP_CAM_GEN3_KINDScocoa_floodlight_v2FLOODLIGHT_CAM_PLUS_KINDSstickup_cam_mini_v3INDOOR_CAM_GEN2_KINDSThe change is purely additive (no behavior change for existing kinds), in the same spirit as #255.
Fixes #525.
How these were mapped
Observed on real hardware — a Home Assistant install with several of each of these models. The groupings follow the existing naming lineage (
cocoa_camera/cocoa_floodlightand thestickup_cam_minigen1/gen2 split) and match the observed capabilities: thecocoa_camera_v3unit reports a battery level (consistent with the Stick Up Cam family inSTICKUP_CAM_GEN3_KINDS), while the floodlight and indoor units are wired.One open question
I grouped
stickup_cam_mini_v3withINDOOR_CAM_GEN2_KINDS, so itsmodelreads "Indoor Cam (2nd Gen)". Given the existingstickup_cam_mini→stickup_cam_mini_v2(gen1 → gen2) pattern, you may prefer a dedicatedINDOOR_CAM_GEN3_KINDSwith model "Indoor Cam (3rd Gen)" (wired intomodeland the siren/motion/videohas_capabilitybranches). The capability set is identical either way; happy to switch to that if you'd like — just say the word.🤖 Generated with Claude Code