@camstack/addon-provider-dreame 0.2.107 → 0.2.108
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 +133 -0
- package/dist/addon.mjs +133 -0
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -66310,6 +66310,70 @@ var LocationIconAssignmentSchema = object({
|
|
|
66310
66310
|
locationKey: string(),
|
|
66311
66311
|
icon: LocationIconIdSchema
|
|
66312
66312
|
});
|
|
66313
|
+
/**
|
|
66314
|
+
* One (location, description) assignment as it travels.
|
|
66315
|
+
*
|
|
66316
|
+
* Same key discipline as {@link LocationIconAssignmentSchema}, and for the same
|
|
66317
|
+
* reason: this lived for a while in the post-analysis addon's own settings,
|
|
66318
|
+
* keyed by a HAND-TYPED label matched exactly and case-sensitively. A rename in
|
|
66319
|
+
* the Locations page carried the icon and silently orphaned the description —
|
|
66320
|
+
* two authorities for one thing, joined by two different rules. Now both hang
|
|
66321
|
+
* off the location itself, on `locationIconKey`.
|
|
66322
|
+
*/
|
|
66323
|
+
var LocationDescriptionAssignmentSchema = object({
|
|
66324
|
+
locationKey: string(),
|
|
66325
|
+
description: string()
|
|
66326
|
+
});
|
|
66327
|
+
/**
|
|
66328
|
+
* A SITE ZONE — a named part of the property that several locations belong to.
|
|
66329
|
+
*
|
|
66330
|
+
* "Zona notte" holds every bedroom; "Zona giorno" the living room and the
|
|
66331
|
+
* kitchen. A camera belongs to exactly one location, and a location to at most
|
|
66332
|
+
* one zone, so a camera's zone is derived and never stored on the device: the
|
|
66333
|
+
* whole point of this entity is that grouping rooms touches no device row.
|
|
66334
|
+
*
|
|
66335
|
+
* ## Why not `zone`
|
|
66336
|
+
*
|
|
66337
|
+
* Because `zone` is already the most loaded word in this product: 612 source
|
|
66338
|
+
* files and 24 Italian strings where it means a DETECTION zone drawn on a
|
|
66339
|
+
* camera. The two are unrelated — one is a polygon in a frame, the other is a
|
|
66340
|
+
* set of rooms — and a reader who confuses them will look for a camera's
|
|
66341
|
+
* bedrooms. So the code says `siteZone` everywhere, and the UI frees the plain
|
|
66342
|
+
* word by calling the drawn one what it actually is: a detection zone.
|
|
66343
|
+
*
|
|
66344
|
+
* ## The key
|
|
66345
|
+
*
|
|
66346
|
+
* `siteZoneKey(label)` — trimmed, lower-cased, the SAME derivation locations
|
|
66347
|
+
* use (`locationIconKey`). Membership and the icon both hang off it, so a
|
|
66348
|
+
* case-only rename keeps them, which is exactly the orphaning that cost us a
|
|
66349
|
+
* silently-dropped location description.
|
|
66350
|
+
*
|
|
66351
|
+
* The icon vocabulary is the location one, unchanged: a zone is drawn on the
|
|
66352
|
+
* same two surfaces by the same glyph map, so a second vocabulary would be a
|
|
66353
|
+
* second thing to keep drawable (`scripts/check-location-icons-drawable.ts`).
|
|
66354
|
+
*/
|
|
66355
|
+
/**
|
|
66356
|
+
* One zone as it travels: its key, the label the operator typed, its icon and
|
|
66357
|
+
* the locations inside it.
|
|
66358
|
+
*
|
|
66359
|
+
* The LABEL is carried alongside the key because the key is lossy on purpose —
|
|
66360
|
+
* a surface must show "Zona notte", not "zona notte". Locations are carried
|
|
66361
|
+
* here, rather than left to a second call, because every consumer wants both
|
|
66362
|
+
* at once and a viewer that asked twice could render a zone whose membership
|
|
66363
|
+
* it has not fetched yet.
|
|
66364
|
+
*
|
|
66365
|
+
* `icon: null` means nobody chose one, which is NOT the fallback pin: only one
|
|
66366
|
+
* of those two is a choice, and a picker has to draw them differently.
|
|
66367
|
+
*/
|
|
66368
|
+
var SiteZoneSchema = object({
|
|
66369
|
+
zoneKey: string(),
|
|
66370
|
+
label: string(),
|
|
66371
|
+
icon: LocationIconIdSchema.nullable(),
|
|
66372
|
+
/** Folded location keys, sorted. A location listed here need not be
|
|
66373
|
+
* REGISTERED — devices carry labels nobody registered, and those rooms are
|
|
66374
|
+
* the ones that most want grouping. */
|
|
66375
|
+
locationKeys: array(string())
|
|
66376
|
+
});
|
|
66313
66377
|
var ProviderStatusSchema = object({
|
|
66314
66378
|
connected: boolean(),
|
|
66315
66379
|
deviceCount: number(),
|
|
@@ -66908,6 +66972,33 @@ method(object({
|
|
|
66908
66972
|
}), _void(), {
|
|
66909
66973
|
kind: "mutation",
|
|
66910
66974
|
auth: "admin"
|
|
66975
|
+
}), method(_void(), array(LocationDescriptionAssignmentSchema)), method(object({
|
|
66976
|
+
location: string(),
|
|
66977
|
+
description: string().max(400).nullable()
|
|
66978
|
+
}), _void(), {
|
|
66979
|
+
kind: "mutation",
|
|
66980
|
+
auth: "admin"
|
|
66981
|
+
}), method(_void(), array(SiteZoneSchema)), method(object({
|
|
66982
|
+
name: string(),
|
|
66983
|
+
icon: LocationIconIdSchema.nullable().optional()
|
|
66984
|
+
}), _void(), {
|
|
66985
|
+
kind: "mutation",
|
|
66986
|
+
auth: "admin"
|
|
66987
|
+
}), method(object({ name: string() }), _void(), {
|
|
66988
|
+
kind: "mutation",
|
|
66989
|
+
auth: "admin"
|
|
66990
|
+
}), method(object({
|
|
66991
|
+
from: string(),
|
|
66992
|
+
to: string()
|
|
66993
|
+
}), _void(), {
|
|
66994
|
+
kind: "mutation",
|
|
66995
|
+
auth: "admin"
|
|
66996
|
+
}), method(object({
|
|
66997
|
+
location: string(),
|
|
66998
|
+
zone: string().nullable()
|
|
66999
|
+
}), _void(), {
|
|
67000
|
+
kind: "mutation",
|
|
67001
|
+
auth: "admin"
|
|
66911
67002
|
}), method(object({
|
|
66912
67003
|
deviceId: number(),
|
|
66913
67004
|
disabled: boolean()
|
|
@@ -89991,6 +90082,12 @@ Object.freeze({
|
|
|
89991
90082
|
addonId: null,
|
|
89992
90083
|
access: "view"
|
|
89993
90084
|
},
|
|
90085
|
+
"deviceManager.listLocationDescriptions": {
|
|
90086
|
+
capName: "device-manager",
|
|
90087
|
+
capScope: "system",
|
|
90088
|
+
addonId: null,
|
|
90089
|
+
access: "view"
|
|
90090
|
+
},
|
|
89994
90091
|
"deviceManager.listLocationIcons": {
|
|
89995
90092
|
capName: "device-manager",
|
|
89996
90093
|
capScope: "system",
|
|
@@ -90009,6 +90106,12 @@ Object.freeze({
|
|
|
90009
90106
|
addonId: null,
|
|
90010
90107
|
access: "view"
|
|
90011
90108
|
},
|
|
90109
|
+
"deviceManager.listSiteZones": {
|
|
90110
|
+
capName: "device-manager",
|
|
90111
|
+
capScope: "system",
|
|
90112
|
+
addonId: null,
|
|
90113
|
+
access: "view"
|
|
90114
|
+
},
|
|
90012
90115
|
"deviceManager.listWrappersForCap": {
|
|
90013
90116
|
capName: "device-manager",
|
|
90014
90117
|
capScope: "system",
|
|
@@ -90093,12 +90196,24 @@ Object.freeze({
|
|
|
90093
90196
|
addonId: null,
|
|
90094
90197
|
access: "delete"
|
|
90095
90198
|
},
|
|
90199
|
+
"deviceManager.removeSiteZone": {
|
|
90200
|
+
capName: "device-manager",
|
|
90201
|
+
capScope: "system",
|
|
90202
|
+
addonId: null,
|
|
90203
|
+
access: "delete"
|
|
90204
|
+
},
|
|
90096
90205
|
"deviceManager.renameLocation": {
|
|
90097
90206
|
capName: "device-manager",
|
|
90098
90207
|
capScope: "system",
|
|
90099
90208
|
addonId: null,
|
|
90100
90209
|
access: "create"
|
|
90101
90210
|
},
|
|
90211
|
+
"deviceManager.renameSiteZone": {
|
|
90212
|
+
capName: "device-manager",
|
|
90213
|
+
capScope: "system",
|
|
90214
|
+
addonId: null,
|
|
90215
|
+
access: "create"
|
|
90216
|
+
},
|
|
90102
90217
|
"deviceManager.runDeviceAction": {
|
|
90103
90218
|
capName: "device-manager",
|
|
90104
90219
|
capScope: "system",
|
|
@@ -90141,12 +90256,24 @@ Object.freeze({
|
|
|
90141
90256
|
addonId: null,
|
|
90142
90257
|
access: "create"
|
|
90143
90258
|
},
|
|
90259
|
+
"deviceManager.setLocationDescription": {
|
|
90260
|
+
capName: "device-manager",
|
|
90261
|
+
capScope: "system",
|
|
90262
|
+
addonId: null,
|
|
90263
|
+
access: "create"
|
|
90264
|
+
},
|
|
90144
90265
|
"deviceManager.setLocationIcon": {
|
|
90145
90266
|
capName: "device-manager",
|
|
90146
90267
|
capScope: "system",
|
|
90147
90268
|
addonId: null,
|
|
90148
90269
|
access: "create"
|
|
90149
90270
|
},
|
|
90271
|
+
"deviceManager.setLocationZone": {
|
|
90272
|
+
capName: "device-manager",
|
|
90273
|
+
capScope: "system",
|
|
90274
|
+
addonId: null,
|
|
90275
|
+
access: "create"
|
|
90276
|
+
},
|
|
90150
90277
|
"deviceManager.setMetadata": {
|
|
90151
90278
|
capName: "device-manager",
|
|
90152
90279
|
capScope: "system",
|
|
@@ -90177,6 +90304,12 @@ Object.freeze({
|
|
|
90177
90304
|
addonId: null,
|
|
90178
90305
|
access: "create"
|
|
90179
90306
|
},
|
|
90307
|
+
"deviceManager.setSiteZone": {
|
|
90308
|
+
capName: "device-manager",
|
|
90309
|
+
capScope: "system",
|
|
90310
|
+
addonId: null,
|
|
90311
|
+
access: "create"
|
|
90312
|
+
},
|
|
90180
90313
|
"deviceManager.setStreamProfileMap": {
|
|
90181
90314
|
capName: "device-manager",
|
|
90182
90315
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -66307,6 +66307,70 @@ var LocationIconAssignmentSchema = object({
|
|
|
66307
66307
|
locationKey: string(),
|
|
66308
66308
|
icon: LocationIconIdSchema
|
|
66309
66309
|
});
|
|
66310
|
+
/**
|
|
66311
|
+
* One (location, description) assignment as it travels.
|
|
66312
|
+
*
|
|
66313
|
+
* Same key discipline as {@link LocationIconAssignmentSchema}, and for the same
|
|
66314
|
+
* reason: this lived for a while in the post-analysis addon's own settings,
|
|
66315
|
+
* keyed by a HAND-TYPED label matched exactly and case-sensitively. A rename in
|
|
66316
|
+
* the Locations page carried the icon and silently orphaned the description —
|
|
66317
|
+
* two authorities for one thing, joined by two different rules. Now both hang
|
|
66318
|
+
* off the location itself, on `locationIconKey`.
|
|
66319
|
+
*/
|
|
66320
|
+
var LocationDescriptionAssignmentSchema = object({
|
|
66321
|
+
locationKey: string(),
|
|
66322
|
+
description: string()
|
|
66323
|
+
});
|
|
66324
|
+
/**
|
|
66325
|
+
* A SITE ZONE — a named part of the property that several locations belong to.
|
|
66326
|
+
*
|
|
66327
|
+
* "Zona notte" holds every bedroom; "Zona giorno" the living room and the
|
|
66328
|
+
* kitchen. A camera belongs to exactly one location, and a location to at most
|
|
66329
|
+
* one zone, so a camera's zone is derived and never stored on the device: the
|
|
66330
|
+
* whole point of this entity is that grouping rooms touches no device row.
|
|
66331
|
+
*
|
|
66332
|
+
* ## Why not `zone`
|
|
66333
|
+
*
|
|
66334
|
+
* Because `zone` is already the most loaded word in this product: 612 source
|
|
66335
|
+
* files and 24 Italian strings where it means a DETECTION zone drawn on a
|
|
66336
|
+
* camera. The two are unrelated — one is a polygon in a frame, the other is a
|
|
66337
|
+
* set of rooms — and a reader who confuses them will look for a camera's
|
|
66338
|
+
* bedrooms. So the code says `siteZone` everywhere, and the UI frees the plain
|
|
66339
|
+
* word by calling the drawn one what it actually is: a detection zone.
|
|
66340
|
+
*
|
|
66341
|
+
* ## The key
|
|
66342
|
+
*
|
|
66343
|
+
* `siteZoneKey(label)` — trimmed, lower-cased, the SAME derivation locations
|
|
66344
|
+
* use (`locationIconKey`). Membership and the icon both hang off it, so a
|
|
66345
|
+
* case-only rename keeps them, which is exactly the orphaning that cost us a
|
|
66346
|
+
* silently-dropped location description.
|
|
66347
|
+
*
|
|
66348
|
+
* The icon vocabulary is the location one, unchanged: a zone is drawn on the
|
|
66349
|
+
* same two surfaces by the same glyph map, so a second vocabulary would be a
|
|
66350
|
+
* second thing to keep drawable (`scripts/check-location-icons-drawable.ts`).
|
|
66351
|
+
*/
|
|
66352
|
+
/**
|
|
66353
|
+
* One zone as it travels: its key, the label the operator typed, its icon and
|
|
66354
|
+
* the locations inside it.
|
|
66355
|
+
*
|
|
66356
|
+
* The LABEL is carried alongside the key because the key is lossy on purpose —
|
|
66357
|
+
* a surface must show "Zona notte", not "zona notte". Locations are carried
|
|
66358
|
+
* here, rather than left to a second call, because every consumer wants both
|
|
66359
|
+
* at once and a viewer that asked twice could render a zone whose membership
|
|
66360
|
+
* it has not fetched yet.
|
|
66361
|
+
*
|
|
66362
|
+
* `icon: null` means nobody chose one, which is NOT the fallback pin: only one
|
|
66363
|
+
* of those two is a choice, and a picker has to draw them differently.
|
|
66364
|
+
*/
|
|
66365
|
+
var SiteZoneSchema = object({
|
|
66366
|
+
zoneKey: string(),
|
|
66367
|
+
label: string(),
|
|
66368
|
+
icon: LocationIconIdSchema.nullable(),
|
|
66369
|
+
/** Folded location keys, sorted. A location listed here need not be
|
|
66370
|
+
* REGISTERED — devices carry labels nobody registered, and those rooms are
|
|
66371
|
+
* the ones that most want grouping. */
|
|
66372
|
+
locationKeys: array(string())
|
|
66373
|
+
});
|
|
66310
66374
|
var ProviderStatusSchema = object({
|
|
66311
66375
|
connected: boolean(),
|
|
66312
66376
|
deviceCount: number(),
|
|
@@ -66905,6 +66969,33 @@ method(object({
|
|
|
66905
66969
|
}), _void(), {
|
|
66906
66970
|
kind: "mutation",
|
|
66907
66971
|
auth: "admin"
|
|
66972
|
+
}), method(_void(), array(LocationDescriptionAssignmentSchema)), method(object({
|
|
66973
|
+
location: string(),
|
|
66974
|
+
description: string().max(400).nullable()
|
|
66975
|
+
}), _void(), {
|
|
66976
|
+
kind: "mutation",
|
|
66977
|
+
auth: "admin"
|
|
66978
|
+
}), method(_void(), array(SiteZoneSchema)), method(object({
|
|
66979
|
+
name: string(),
|
|
66980
|
+
icon: LocationIconIdSchema.nullable().optional()
|
|
66981
|
+
}), _void(), {
|
|
66982
|
+
kind: "mutation",
|
|
66983
|
+
auth: "admin"
|
|
66984
|
+
}), method(object({ name: string() }), _void(), {
|
|
66985
|
+
kind: "mutation",
|
|
66986
|
+
auth: "admin"
|
|
66987
|
+
}), method(object({
|
|
66988
|
+
from: string(),
|
|
66989
|
+
to: string()
|
|
66990
|
+
}), _void(), {
|
|
66991
|
+
kind: "mutation",
|
|
66992
|
+
auth: "admin"
|
|
66993
|
+
}), method(object({
|
|
66994
|
+
location: string(),
|
|
66995
|
+
zone: string().nullable()
|
|
66996
|
+
}), _void(), {
|
|
66997
|
+
kind: "mutation",
|
|
66998
|
+
auth: "admin"
|
|
66908
66999
|
}), method(object({
|
|
66909
67000
|
deviceId: number(),
|
|
66910
67001
|
disabled: boolean()
|
|
@@ -89988,6 +90079,12 @@ Object.freeze({
|
|
|
89988
90079
|
addonId: null,
|
|
89989
90080
|
access: "view"
|
|
89990
90081
|
},
|
|
90082
|
+
"deviceManager.listLocationDescriptions": {
|
|
90083
|
+
capName: "device-manager",
|
|
90084
|
+
capScope: "system",
|
|
90085
|
+
addonId: null,
|
|
90086
|
+
access: "view"
|
|
90087
|
+
},
|
|
89991
90088
|
"deviceManager.listLocationIcons": {
|
|
89992
90089
|
capName: "device-manager",
|
|
89993
90090
|
capScope: "system",
|
|
@@ -90006,6 +90103,12 @@ Object.freeze({
|
|
|
90006
90103
|
addonId: null,
|
|
90007
90104
|
access: "view"
|
|
90008
90105
|
},
|
|
90106
|
+
"deviceManager.listSiteZones": {
|
|
90107
|
+
capName: "device-manager",
|
|
90108
|
+
capScope: "system",
|
|
90109
|
+
addonId: null,
|
|
90110
|
+
access: "view"
|
|
90111
|
+
},
|
|
90009
90112
|
"deviceManager.listWrappersForCap": {
|
|
90010
90113
|
capName: "device-manager",
|
|
90011
90114
|
capScope: "system",
|
|
@@ -90090,12 +90193,24 @@ Object.freeze({
|
|
|
90090
90193
|
addonId: null,
|
|
90091
90194
|
access: "delete"
|
|
90092
90195
|
},
|
|
90196
|
+
"deviceManager.removeSiteZone": {
|
|
90197
|
+
capName: "device-manager",
|
|
90198
|
+
capScope: "system",
|
|
90199
|
+
addonId: null,
|
|
90200
|
+
access: "delete"
|
|
90201
|
+
},
|
|
90093
90202
|
"deviceManager.renameLocation": {
|
|
90094
90203
|
capName: "device-manager",
|
|
90095
90204
|
capScope: "system",
|
|
90096
90205
|
addonId: null,
|
|
90097
90206
|
access: "create"
|
|
90098
90207
|
},
|
|
90208
|
+
"deviceManager.renameSiteZone": {
|
|
90209
|
+
capName: "device-manager",
|
|
90210
|
+
capScope: "system",
|
|
90211
|
+
addonId: null,
|
|
90212
|
+
access: "create"
|
|
90213
|
+
},
|
|
90099
90214
|
"deviceManager.runDeviceAction": {
|
|
90100
90215
|
capName: "device-manager",
|
|
90101
90216
|
capScope: "system",
|
|
@@ -90138,12 +90253,24 @@ Object.freeze({
|
|
|
90138
90253
|
addonId: null,
|
|
90139
90254
|
access: "create"
|
|
90140
90255
|
},
|
|
90256
|
+
"deviceManager.setLocationDescription": {
|
|
90257
|
+
capName: "device-manager",
|
|
90258
|
+
capScope: "system",
|
|
90259
|
+
addonId: null,
|
|
90260
|
+
access: "create"
|
|
90261
|
+
},
|
|
90141
90262
|
"deviceManager.setLocationIcon": {
|
|
90142
90263
|
capName: "device-manager",
|
|
90143
90264
|
capScope: "system",
|
|
90144
90265
|
addonId: null,
|
|
90145
90266
|
access: "create"
|
|
90146
90267
|
},
|
|
90268
|
+
"deviceManager.setLocationZone": {
|
|
90269
|
+
capName: "device-manager",
|
|
90270
|
+
capScope: "system",
|
|
90271
|
+
addonId: null,
|
|
90272
|
+
access: "create"
|
|
90273
|
+
},
|
|
90147
90274
|
"deviceManager.setMetadata": {
|
|
90148
90275
|
capName: "device-manager",
|
|
90149
90276
|
capScope: "system",
|
|
@@ -90174,6 +90301,12 @@ Object.freeze({
|
|
|
90174
90301
|
addonId: null,
|
|
90175
90302
|
access: "create"
|
|
90176
90303
|
},
|
|
90304
|
+
"deviceManager.setSiteZone": {
|
|
90305
|
+
capName: "device-manager",
|
|
90306
|
+
capScope: "system",
|
|
90307
|
+
addonId: null,
|
|
90308
|
+
access: "create"
|
|
90309
|
+
},
|
|
90177
90310
|
"deviceManager.setStreamProfileMap": {
|
|
90178
90311
|
capName: "device-manager",
|
|
90179
90312
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreame",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.108",
|
|
4
4
|
"description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|