fix: Ensure no camera outlives a failed initialization (#2657)

This commit is contained in:
Dermot Duffy
2026-08-04 21:33:46 -07:00
committed by GitHub
parent 80ec92e3b2
commit 9f88aacefe
13 changed files with 646 additions and 123 deletions
+6 -4
View File
@@ -8,14 +8,16 @@ import { CameraNoEntityError } from './error';
* subclass turns absence into an error for engines that cannot function
* without it (motionEye, Reolink, TPLink).
*/
export class EntityCamera extends Camera {
protected override async _initialize(
export class EntityCamera<
Options extends CameraInitializationOptions = CameraInitializationOptions,
> extends Camera<Options> {
protected override async _initializeBeforeCapabilities(
hass: HomeAssistant,
options: CameraInitializationOptions,
options: Options,
): Promise<void> {
if (!this._entity) {
throw new CameraNoEntityError(this.getConfig());
}
await super._initialize(hass, options);
await super._initializeBeforeCapabilities(hass, options);
}
}