@camstack/addon-provider-homematic 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -4651,7 +4651,7 @@ function preprocess(fn, schema) {
4651
4651
  });
4652
4652
  }
4653
4653
  //#endregion
4654
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4654
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4655
4655
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4656
4656
  EventCategory["SystemBoot"] = "system.boot";
4657
4657
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15525,7 +15525,8 @@ method(object({
15525
15525
  sessionId: string().optional()
15526
15526
  }), ConvertResultSchema, {
15527
15527
  kind: "mutation",
15528
- auth: "admin"
15528
+ auth: "admin",
15529
+ timeoutMs: 6e5
15529
15530
  });
15530
15531
  var AddonHttpRouteSchema = object({
15531
15532
  method: _enum([
@@ -17061,7 +17062,14 @@ var NotificationRuleConditionsSchema = object({
17061
17062
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
17062
17063
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
17063
17064
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
17064
- eventTypeTokens: array(string()).readonly().optional()
17065
+ eventTypeTokens: array(string()).readonly().optional(),
17066
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
17067
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
17068
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
17069
+ clipDescription: object({
17070
+ text: string().min(1),
17071
+ minSimilarity: number().min(0).max(1)
17072
+ }).optional()
17065
17073
  });
17066
17074
  var NotificationRuleTemplateSchema = object({
17067
17075
  title: string(),
@@ -17303,6 +17311,16 @@ var TrackedDetectionSchema = object({
17303
17311
  zones: array(string()).readonly(),
17304
17312
  state: TrackStateSchema
17305
17313
  });
17314
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
17315
+ var SearchObjectEventsInput = object({
17316
+ text: string(),
17317
+ deviceId: number().optional(),
17318
+ since: number().optional(),
17319
+ until: number().optional(),
17320
+ classFilter: string().optional(),
17321
+ limit: number().default(50),
17322
+ minScore: number().min(0).max(1).default(.2)
17323
+ });
17306
17324
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
17307
17325
  deviceId: number(),
17308
17326
  trackId: string()
@@ -17337,7 +17355,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
17337
17355
  }), method(object({
17338
17356
  eventId: string(),
17339
17357
  kind: MediaFileKindEnum.optional()
17340
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
17358
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
17341
17359
  deviceId: number(),
17342
17360
  timestamp: number(),
17343
17361
  frameWidth: number(),
@@ -21987,6 +22005,12 @@ Object.freeze({
21987
22005
  addonId: null,
21988
22006
  access: "create"
21989
22007
  },
22008
+ "pipelineAnalytics.searchObjectEvents": {
22009
+ capName: "pipeline-analytics",
22010
+ capScope: "device",
22011
+ addonId: null,
22012
+ access: "view"
22013
+ },
21990
22014
  "pipelineExecutor.cacheFrameInPool": {
21991
22015
  capName: "pipeline-executor",
21992
22016
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -4652,7 +4652,7 @@ function preprocess(fn, schema) {
4652
4652
  });
4653
4653
  }
4654
4654
  //#endregion
4655
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4655
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4656
4656
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4657
4657
  EventCategory["SystemBoot"] = "system.boot";
4658
4658
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15526,7 +15526,8 @@ method(object({
15526
15526
  sessionId: string().optional()
15527
15527
  }), ConvertResultSchema, {
15528
15528
  kind: "mutation",
15529
- auth: "admin"
15529
+ auth: "admin",
15530
+ timeoutMs: 6e5
15530
15531
  });
15531
15532
  var AddonHttpRouteSchema = object({
15532
15533
  method: _enum([
@@ -17062,7 +17063,14 @@ var NotificationRuleConditionsSchema = object({
17062
17063
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
17063
17064
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
17064
17065
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
17065
- eventTypeTokens: array(string()).readonly().optional()
17066
+ eventTypeTokens: array(string()).readonly().optional(),
17067
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
17068
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
17069
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
17070
+ clipDescription: object({
17071
+ text: string().min(1),
17072
+ minSimilarity: number().min(0).max(1)
17073
+ }).optional()
17066
17074
  });
17067
17075
  var NotificationRuleTemplateSchema = object({
17068
17076
  title: string(),
@@ -17304,6 +17312,16 @@ var TrackedDetectionSchema = object({
17304
17312
  zones: array(string()).readonly(),
17305
17313
  state: TrackStateSchema
17306
17314
  });
17315
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
17316
+ var SearchObjectEventsInput = object({
17317
+ text: string(),
17318
+ deviceId: number().optional(),
17319
+ since: number().optional(),
17320
+ until: number().optional(),
17321
+ classFilter: string().optional(),
17322
+ limit: number().default(50),
17323
+ minScore: number().min(0).max(1).default(.2)
17324
+ });
17307
17325
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
17308
17326
  deviceId: number(),
17309
17327
  trackId: string()
@@ -17338,7 +17356,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
17338
17356
  }), method(object({
17339
17357
  eventId: string(),
17340
17358
  kind: MediaFileKindEnum.optional()
17341
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
17359
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
17342
17360
  deviceId: number(),
17343
17361
  timestamp: number(),
17344
17362
  frameWidth: number(),
@@ -21988,6 +22006,12 @@ Object.freeze({
21988
22006
  addonId: null,
21989
22007
  access: "create"
21990
22008
  },
22009
+ "pipelineAnalytics.searchObjectEvents": {
22010
+ capName: "pipeline-analytics",
22011
+ capScope: "device",
22012
+ addonId: null,
22013
+ access: "view"
22014
+ },
21991
22015
  "pipelineExecutor.cacheFrameInPool": {
21992
22016
  capName: "pipeline-executor",
21993
22017
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homematic",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Homematic / HomematicIP (CCU3 / RaspberryMatic) device-provider addon for CamStack — wraps the nodehomematic library",
5
5
  "keywords": [
6
6
  "camstack",