@kusinta/iot-schema 0.2.0-beta.49 → 0.2.0-beta.50

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kusinta/iot-schema",
3
- "version": "0.2.0-beta.49",
3
+ "version": "0.2.0-beta.50",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": ["src"],
@@ -313,8 +313,12 @@ export declare type DeviceAcl = Message<"kusinta.iot.access.v1.DeviceAcl"> & {
313
313
  * relation their membership records. They hold no action on it — allowed_actions is empty
314
314
  * — and are sent no reading or event of it. The Device they are sent carries its
315
315
  * description only: its endpoints with their device types and implemented lists, and no
316
- * property value. What keeps it working comes as a webrtc.v1.ServiceStatus instead. An
317
- * app should show its readings as withheld, not missing. RESIDENT: the user lives in the
316
+ * property value — save that, while a commissioning grant on the home is active, its
317
+ * installer is also sent each cluster's attribute_behaviours and each endpoint's
318
+ * vendor_attribute_behaviours, the device's statement of how it holds an output, to bind
319
+ * outputs by (commissioning.v1, GRANTS); still no property value. What keeps it working
320
+ * comes as a webrtc.v1.ServiceStatus instead. An app should show its readings as withheld,
321
+ * not missing. RESIDENT: the user lives in the
318
322
  * home the device is filed in, whether or not they also own it; a household admin is given
319
323
  * RESIDENT here too, since they see the device as any resident does. UNSPECIFIED: neither
320
324
  * applies — the device is not in a home, or the user reaches it only by owning it.
@@ -212,8 +212,9 @@ export declare const PermissionActionSchema: GenEnum<PermissionAction>;
212
212
  * quarter hour of their residency, from that quarter hour on.
213
213
  * * As an installer under a commissioning grant on the home, while it is active — the
214
214
  * service view below, and on top of it what commissioning.v1 (GRANTS) lists: the home's
215
- * commissioning and heating records, and the readings a test they run is judged by while
216
- * it runs. Never its history, savings, comfort settings or device events, nor who lives
215
+ * commissioning and heating records, its devices' write behaviours to bind outputs by
216
+ * (device.v1.AttributeBehaviour), and the readings a test they run is judged by while it
217
+ * runs. Never its history, savings, comfort settings or device events, nor who lives
217
218
  * there.
218
219
  * * As service — SERVICE on the apartment, a room in it, or a building or floor above it,
219
220
  * or as the gateway's administrator. Of the building's own devices in what they reach of
@@ -225,7 +226,7 @@ export declare const PermissionActionSchema: GenEnum<PermissionAction>;
225
226
  * RoomClimate.state_withheld marking what is not shown, and its links with
226
227
  * DeviceLink.details_withheld; modes on a home are not sent to them at all — save that the
227
228
  * property owner and the gateway administrators are sent an empty home's rooms and modes
228
- * in full (webrtc.v1 household.proto, EMPTY HOME). Service
229
+ * in full, and its floor zones (webrtc.v1 household.proto, EMPTY HOME). Service
229
230
  * that reaches the apartment itself also gets its climate summary over the disclosed
230
231
  * period. What they newly see of the home reaches them as it happens; what they lose,
231
232
  * at once.
@@ -116,8 +116,9 @@ export const MembershipRelationSchema = /*@__PURE__*/
116
116
  * quarter hour of their residency, from that quarter hour on.
117
117
  * * As an installer under a commissioning grant on the home, while it is active — the
118
118
  * service view below, and on top of it what commissioning.v1 (GRANTS) lists: the home's
119
- * commissioning and heating records, and the readings a test they run is judged by while
120
- * it runs. Never its history, savings, comfort settings or device events, nor who lives
119
+ * commissioning and heating records, its devices' write behaviours to bind outputs by
120
+ * (device.v1.AttributeBehaviour), and the readings a test they run is judged by while it
121
+ * runs. Never its history, savings, comfort settings or device events, nor who lives
121
122
  * there.
122
123
  * * As service — SERVICE on the apartment, a room in it, or a building or floor above it,
123
124
  * or as the gateway's administrator. Of the building's own devices in what they reach of
@@ -129,7 +130,7 @@ export const MembershipRelationSchema = /*@__PURE__*/
129
130
  * RoomClimate.state_withheld marking what is not shown, and its links with
130
131
  * DeviceLink.details_withheld; modes on a home are not sent to them at all — save that the
131
132
  * property owner and the gateway administrators are sent an empty home's rooms and modes
132
- * in full (webrtc.v1 household.proto, EMPTY HOME). Service
133
+ * in full, and its floor zones (webrtc.v1 household.proto, EMPTY HOME). Service
133
134
  * that reaches the apartment itself also gets its climate summary over the disclosed
134
135
  * period. What they newly see of the home reaches them as it happens; what they lose,
135
136
  * at once.
@@ -379,6 +379,9 @@ export declare type FloorZone = Message<"kusinta.iot.heating.v1.FloorZone"> & {
379
379
  * commissioning grant on the home, and unset for the home's other residents; never sent to
380
380
  * service. Unset, too, when it dates from before the recipient's current residency in the
381
381
  * home, or from a home they did not live in at the time (see access.v1.MembershipRelation).
382
+ * While the home is empty (webrtc.v1 household.proto, EMPTY HOME), the property owner and the
383
+ * gateway administrators who reach it are sent uncontrolled_since, never uncontrolled_by (see
384
+ * the file comment).
382
385
  * For a zone outside homes, sent to whoever is given the zone. That rooms is empty, or
383
386
  * control_room_id unset, is what says the zone is uncontrolled; these say only since when
384
387
  * and by whom, where the recipient is given them.
@@ -198,7 +198,11 @@ export declare const UpdateSpaceSchema: GenMessage<UpdateSpace>;
198
198
  * Refused as FAILED_PRECONDITION with metadata {"reason": "handover_pending"}, cascade or not,
199
199
  * while a handover is under way, as UpdateSpace has it, of the home deleted or of any home
200
200
  * beneath the space: a household's records go by its wipe (household.proto, WIPE), never by a
201
- * deletion.
201
+ * deletion. Refused as FAILED_PRECONDITION with metadata {"reason": "home_occupied"}, cascade or
202
+ * not, while any residency of the home deleted, or of any home beneath the space, names someone:
203
+ * a current resident, or a past household whose data has not been wiped. The home's household
204
+ * data goes by a handover first (household.proto, HANDOVER, WIPE), and no residency names a home
205
+ * that was deleted. "handover_pending" is checked before "home_occupied".
202
206
  *
203
207
  * @generated from message kusinta.iot.webrtc.v1.DeleteSpace
204
208
  */
@@ -1480,6 +1484,18 @@ export declare const PutHeatingCircuitSchema: GenMessage<PutHeatingCircuit>;
1480
1484
  /**
1481
1485
  * Creates or replaces a floor zone of a floor circuit; as PutHeatingPlant.
1482
1486
  *
1487
+ * While a home is empty (household.proto, EMPTY HOME), the property owner and the gateway
1488
+ * administrators who reach it may change which of its rooms a stored floor zone of the home
1489
+ * heats, and so bring a zone left uncontrolled back under control (heating.v1, UNCONTROLLED
1490
+ * ZONES). From them, only a stored zone's rooms and control_room_id may change, its rooms
1491
+ * staying in that home. Any other change from them — its output, its circuit, its name — a new
1492
+ * zone, and removing one (RemoveHeatingRecord) are refused as NOT_ENTITLED, the same answer as
1493
+ * for a zone out of reach. A caller not given the home's zones is refused NOT_ENTITLED first.
1494
+ * For one given the zone, a put naming a revision the zone has moved on from is refused as
1495
+ * FAILED_PRECONDITION "STALE_REVISION" before any of the changes above is judged, so a racing
1496
+ * put is told to re-read. It ends at MOVE-IN (household.proto), and the zone mapping they left
1497
+ * is kept: MOVE-IN's reset does not touch heating records.
1498
+ *
1483
1499
  * @generated from message kusinta.iot.webrtc.v1.PutFloorZone
1484
1500
  */
1485
1501
  export declare type PutFloorZone = Message<"kusinta.iot.webrtc.v1.PutFloorZone"> & {
@@ -1519,7 +1535,8 @@ export declare const PutComfortLoadSchema: GenMessage<PutComfortLoad>;
1519
1535
  * FAILED_PRECONDITION with metadata "reason" "STALE_REVISION" when it changed since, and
1520
1536
  * "HAS_CHILDREN" while records lie under it — a plant's circuits, a circuit's zones — so
1521
1537
  * nothing is removed that the caller did not name. Its outputs are returned to rest at once
1522
- * (see heating.v1). Acked.
1538
+ * (see heating.v1). Acked. An empty home's floor zone is not removed by the property owner or
1539
+ * the gateway administrators who are given it: NOT_ENTITLED, as PutFloorZone says.
1523
1540
  *
1524
1541
  * @generated from message kusinta.iot.webrtc.v1.RemoveHeatingRecord
1525
1542
  */