@kusinta/iot-schema 0.2.0-beta.45 → 0.2.0-beta.47
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 +1 -1
- package/src/kusinta/iot/access/v1/acl_pb.d.ts +4 -1
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +3 -1
- package/src/kusinta/iot/access/v1/roles_pb.js +3 -1
- package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +10 -2
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +490 -40
- package/src/kusinta/iot/climate/v1/climate_pb.js +86 -14
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +21 -5
- package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +1 -1
- package/src/kusinta/iot/common/v1/types_pb.d.ts +3 -0
- package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +3 -3
- package/src/kusinta/iot/device/v1/device_event_pb.d.ts +4 -2
- package/src/kusinta/iot/device/v1/property_update_pb.d.ts +13 -0
- package/src/kusinta/iot/device/v1/property_update_pb.js +1 -1
- package/src/kusinta/iot/space/v1/space_pb.d.ts +18 -1
- package/src/kusinta/iot/space/v1/space_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +70 -2
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +16 -2
- package/src/kusinta/iot/webrtc/v1/household_pb.d.ts +104 -7
- package/src/kusinta/iot/webrtc/v1/household_pb.js +19 -5
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +190 -45
- package/src/kusinta/iot/webrtc/v1/management_pb.js +48 -34
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +4 -0
|
@@ -10,9 +10,9 @@ import type { MembershipRelation, Role } from "../../access/v1/roles_pb.js";
|
|
|
10
10
|
import type { LorawanProvisioning } from "../../vendor/lorawan/v1/lorawan_pb.js";
|
|
11
11
|
import type { Space } from "../../space/v1/space_pb.js";
|
|
12
12
|
import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb.js";
|
|
13
|
-
import type { ClimateModeKind, ClimateSummaryPeriod } from "../../climate/v1/climate_pb.js";
|
|
13
|
+
import type { ClimateModeKind, ClimateSummaryPeriod, InnerRoomLimits, RoomHistoryResolution } from "../../climate/v1/climate_pb.js";
|
|
14
14
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
15
|
-
import type { CancelHouseholdHandover, ConfirmHouseholdHandover, DemoteHouseholdAdmin, ExportHouseholdData, ListHouseholdHandovers, SetHomeName, StaffAppointment, StartHouseholdHandover } from "./household_pb.js";
|
|
15
|
+
import type { CancelHouseholdHandover, ClearClimateHistory, ConfirmHouseholdHandover, DemoteHouseholdAdmin, ExportHouseholdData, ListHouseholdHandovers, SetHomeName, StaffAppointment, StartHouseholdHandover } from "./household_pb.js";
|
|
16
16
|
import type { BindingRef, CommissioningFact, CommissioningGrantRecord, HouseTemplate, TestKind, TestState } from "../../commissioning/v1/commissioning_pb.js";
|
|
17
17
|
import type { ServiceSignal } from "../../access/v1/acl_pb.js";
|
|
18
18
|
import type { ComfortLoad, ComfortWindow, FloorZone, HeatingCircuit, HeatingPlant } from "../../heating/v1/heating_pb.js";
|
|
@@ -102,6 +102,9 @@ export declare const CreateSpaceSchema: GenMessage<CreateSpace>;
|
|
|
102
102
|
* request setting it is refused whole as NOT_ENTITLED. The household names its home with
|
|
103
103
|
* SetHomeName instead.
|
|
104
104
|
*
|
|
105
|
+
* A heating record the change would leave across a home's boundary is refused or undone as
|
|
106
|
+
* HEATING ACROSS A HOME says.
|
|
107
|
+
*
|
|
105
108
|
* Every descriptive field carries explicit presence: absent means leave it alone, present
|
|
106
109
|
* means set it to this — including to the empty string, which is how a description is
|
|
107
110
|
* cleared.
|
|
@@ -176,7 +179,8 @@ export declare const UpdateSpaceSchema: GenMessage<UpdateSpace>;
|
|
|
176
179
|
* Deletes a space. Refused if the space still holds devices or sub-spaces unless
|
|
177
180
|
* cascade is set, so that emptying a building is always something the caller
|
|
178
181
|
* asked for rather than something a stale client did by accident. Deleting a home, or
|
|
179
|
-
* anything in one, is guarded as UpdateSpace is
|
|
182
|
+
* anything in one, is guarded as UpdateSpace is, heating records included
|
|
183
|
+
* (HEATING ACROSS A HOME).
|
|
180
184
|
*
|
|
181
185
|
* @generated from message kusinta.iot.webrtc.v1.DeleteSpace
|
|
182
186
|
*/
|
|
@@ -221,6 +225,10 @@ export declare const DeleteSpaceSchema: GenMessage<DeleteSpace>;
|
|
|
221
225
|
* assigning onto it is refused as NOT_ENTITLED, and RemoveUserFromSpace answers as for one
|
|
222
226
|
* that does not exist. user_id is never a residency id.
|
|
223
227
|
*
|
|
228
|
+
* While a vacated handover of the home is pending, the property owner or a gateway
|
|
229
|
+
* administrator assigning RESIDENT to someone outside the departing household completes it
|
|
230
|
+
* first rather than being refused as "handover_pending" (household.proto, QUICK TURNOVER).
|
|
231
|
+
*
|
|
224
232
|
* @generated from message kusinta.iot.webrtc.v1.AssignUserToSpace
|
|
225
233
|
*/
|
|
226
234
|
export declare type AssignUserToSpace = Message<"kusinta.iot.webrtc.v1.AssignUserToSpace"> & {
|
|
@@ -295,7 +303,8 @@ export declare const RemoveUserFromSpaceSchema: GenMessage<RemoveUserFromSpace>;
|
|
|
295
303
|
* the gateway, and within the household it is a household admin's, save a device a resident
|
|
296
304
|
* owns, which its owner files (household.proto). A caller not allowed is refused as
|
|
297
305
|
* NOT_ENTITLED, and filing that would leave a link the caller can see across a home's
|
|
298
|
-
* boundary is refused whatever the caller; one they cannot see is removed instead.
|
|
306
|
+
* boundary is refused whatever the caller; one they cannot see is removed instead. A heating
|
|
307
|
+
* record left across it is refused or undone as HEATING ACROSS A HOME says.
|
|
299
308
|
*
|
|
300
309
|
* @generated from message kusinta.iot.webrtc.v1.PlaceDeviceInSpace
|
|
301
310
|
*/
|
|
@@ -322,7 +331,8 @@ export declare const PlaceDeviceInSpaceSchema: GenMessage<PlaceDeviceInSpace>;
|
|
|
322
331
|
* space and with no owner is unfiled, and visible only to the administrator.
|
|
323
332
|
*
|
|
324
333
|
* Taking a device out of a home is guarded as PlaceDeviceInSpace is, and removes its links
|
|
325
|
-
* to devices still in the home
|
|
334
|
+
* to devices still in the home; a heating record it would leave across the boundary is refused
|
|
335
|
+
* or undone as HEATING ACROSS A HOME says.
|
|
326
336
|
*
|
|
327
337
|
* @generated from message kusinta.iot.webrtc.v1.RemoveDeviceFromSpace
|
|
328
338
|
*/
|
|
@@ -352,7 +362,9 @@ export declare const RemoveDeviceFromSpaceSchema: GenMessage<RemoveDeviceFromSpa
|
|
|
352
362
|
*
|
|
353
363
|
* Only a RESIDENT claim makes the caller the owner. A COMPANY claim records that the
|
|
354
364
|
* building owns the device, names no person, and grants the caller no reach. Claims of a
|
|
355
|
-
* device in a home, or of one already claimed, are restricted by the gateway.
|
|
365
|
+
* device in a home, or of one already claimed, are restricted by the gateway. A claim, with
|
|
366
|
+
* initial_space_id or without, that would leave a heating record across a home's boundary is
|
|
367
|
+
* refused or undone as HEATING ACROSS A HOME says.
|
|
356
368
|
*
|
|
357
369
|
* @generated from message kusinta.iot.webrtc.v1.ClaimDevice
|
|
358
370
|
*/
|
|
@@ -404,9 +416,10 @@ export declare type ClaimDevice = Message<"kusinta.iot.webrtc.v1.ClaimDevice"> &
|
|
|
404
416
|
export declare const ClaimDeviceSchema: GenMessage<ClaimDevice>;
|
|
405
417
|
|
|
406
418
|
/**
|
|
407
|
-
* Gives up ownership. The device keeps whatever space filing it has, except that a device in
|
|
408
|
-
*
|
|
409
|
-
*
|
|
419
|
+
* Gives up ownership. The device keeps whatever space filing it has, except that a device in a
|
|
420
|
+
* home stays filed in the home alone, as one of the building's own devices there — as when its
|
|
421
|
+
* owner moves out; if it has none it becomes unfiled. A heating record the release would leave
|
|
422
|
+
* across a home's boundary is undone, never refused (HEATING ACROSS A HOME).
|
|
410
423
|
*
|
|
411
424
|
* @generated from message kusinta.iot.webrtc.v1.ReleaseDevice
|
|
412
425
|
*/
|
|
@@ -566,8 +579,10 @@ export declare const ManagementAckSchema: GenMessage<ManagementAck>;
|
|
|
566
579
|
* to someone else's hardware.
|
|
567
580
|
*
|
|
568
581
|
* In a home it is the other way round: links between its devices are its residents' to
|
|
569
|
-
* make, change and remove, and
|
|
570
|
-
*
|
|
582
|
+
* make, change and remove, and in an empty home (household.proto, EMPTY HOME) the property
|
|
583
|
+
* owner's and the gateway administrators' who reach it; any other caller who reaches it as
|
|
584
|
+
* service is refused as NOT_ENTITLED. A link between a device in a home and one outside it is
|
|
585
|
+
* refused to anyone.
|
|
571
586
|
* The same holds for UpdateDeviceLink and RemoveDeviceLink.
|
|
572
587
|
*
|
|
573
588
|
* @generated from message kusinta.iot.webrtc.v1.CreateDeviceLink
|
|
@@ -712,11 +727,13 @@ export declare const ListDeviceLinksSchema: GenMessage<ListDeviceLinks>;
|
|
|
712
727
|
* as turning a radiator's knob; setting up what the room obeys is ConfigureRoomClimate,
|
|
713
728
|
* and stays with owners, except the lock in a home.
|
|
714
729
|
*
|
|
715
|
-
* In a home, only its residents may set it
|
|
716
|
-
*
|
|
730
|
+
* In a home, only its residents may set it, and in an empty home the property owner and the
|
|
731
|
+
* gateway administrators who reach it (household.proto, EMPTY HOME); any other caller who
|
|
732
|
+
* reaches the room as service is refused as NOT_ENTITLED.
|
|
717
733
|
*
|
|
718
|
-
* Clamped to the room's limits rather than refused outside
|
|
719
|
-
* what the room's RoomClimate then reports
|
|
734
|
+
* Clamped to the room's inner limits (climate.v1.InnerRoomLimits) rather than refused outside
|
|
735
|
+
* them, and the clamped value is what the room's RoomClimate then reports; never to the outer
|
|
736
|
+
* ones (climate.v1.OuterRoomLimits, WHAT THEY BIND).
|
|
720
737
|
*
|
|
721
738
|
* @generated from message kusinta.iot.webrtc.v1.SetRoomTarget
|
|
722
739
|
*/
|
|
@@ -790,17 +807,58 @@ export declare type RoomLimits = Message<"kusinta.iot.webrtc.v1.RoomLimits"> & {
|
|
|
790
807
|
export declare const RoomLimitsSchema: GenMessage<RoomLimits>;
|
|
791
808
|
|
|
792
809
|
/**
|
|
793
|
-
*
|
|
794
|
-
*
|
|
795
|
-
* because this decides what everybody in the room can do.
|
|
810
|
+
* One bound that moves alone, for the same reason as RoomLimits: unset leaves the bound as it
|
|
811
|
+
* is; set, an unset centidegrees removes it.
|
|
796
812
|
*
|
|
797
|
-
*
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
813
|
+
* @generated from message kusinta.iot.webrtc.v1.RoomLimitValue
|
|
814
|
+
*/
|
|
815
|
+
export declare type RoomLimitValue = Message<"kusinta.iot.webrtc.v1.RoomLimitValue"> & {
|
|
816
|
+
/**
|
|
817
|
+
* @generated from field: optional sint32 centidegrees = 1;
|
|
818
|
+
*/
|
|
819
|
+
centidegrees?: number | undefined;
|
|
820
|
+
};
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* Describes the message kusinta.iot.webrtc.v1.RoomLimitValue.
|
|
824
|
+
* Use `create(RoomLimitValueSchema)` to create a new message.
|
|
825
|
+
*/
|
|
826
|
+
export declare const RoomLimitValueSchema: GenMessage<RoomLimitValue>;
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* Configures what a room obeys: its outer limits, its sensors, and whether a change made by
|
|
830
|
+
* hand at one of its devices counts. Authorized as directing, because this decides what
|
|
831
|
+
* everybody in the room can do, and each part by its own deciders:
|
|
832
|
+
* * the outer limits — limits, away_min, move_in_target (climate.v1.OuterRoomLimits) — the
|
|
833
|
+
* property owner or a gateway administrator who reaches the room, or an installer under an
|
|
834
|
+
* active commissioning grant covering it (commissioning.v1, GRANTS), in a home or not. A
|
|
835
|
+
* household's own limits are SetInnerRoomLimits;
|
|
836
|
+
* * sensors — ROLE_PROPERTY_OWNER or a filing role. It orders only the building's own
|
|
837
|
+
* sensors (see RoomClimate.sensor_ids);
|
|
838
|
+
* * lock_device_controls — in a home, its residents', who may send this request with nothing
|
|
839
|
+
* else set, and in an empty home the property owner's and the gateway administrators' who
|
|
840
|
+
* reach it (household.proto, EMPTY HOME); outside homes, ROLE_PROPERTY_OWNER's or a filing
|
|
841
|
+
* role's, as the sensors are.
|
|
842
|
+
* A request that sets anything its caller may not is refused whole as NOT_ENTITLED, so nothing
|
|
843
|
+
* of it applies, with metadata {"field": the first such part, by its proto field name —
|
|
844
|
+
* "limits", "away_min", "move_in_target", "sensors" or "lock_device_controls"}, which tells the
|
|
845
|
+
* caller only what they may not set. Rollout note: outer limits were once a filing role's; a
|
|
846
|
+
* filing role that is neither ROLE_PROPERTY_OWNER nor ROLE_GATEWAY_ADMIN, without a grant, is
|
|
847
|
+
* now refused them, so an app offers the outer limits to those roles alone and sends sensors on
|
|
848
|
+
* their own.
|
|
849
|
+
*
|
|
850
|
+
* Each outer bound the request changes is stamped with the caller's role and the time
|
|
851
|
+
* (climate.v1.OuterLimit); one set to the value it has keeps its stamp. As the outer limits
|
|
852
|
+
* will stand, min above max, away_min above min or max, or move_in_target outside [min, max]
|
|
853
|
+
* where those are set, is refused as INVALID_REQUEST with metadata {"reason": "limits_order"}.
|
|
854
|
+
* A min changed to below the gateway's public-health threshold — its own setting, which no
|
|
855
|
+
* operation in this contract changes; none while unset — needs accept_below_threshold, and is
|
|
856
|
+
* refused without it as FAILED_PRECONDITION with metadata {"reason": "below_threshold",
|
|
857
|
+
* "threshold_centidegrees": the threshold}. Nothing in the answer to the outer limits depends
|
|
858
|
+
* on the home's state — its targets, inner limits, modes, or who lives there — so setting them
|
|
859
|
+
* tells the caller nothing of it; what they clamp is told to the household alone
|
|
860
|
+
* (RoomClimate.outer_limit_clamp). Only the lock in the same request is decided by whether the
|
|
861
|
+
* home is empty, as EMPTY HOME says.
|
|
804
862
|
*
|
|
805
863
|
* Each field moves alone, as on UpdateSpace: unset leaves it as it is.
|
|
806
864
|
*
|
|
@@ -813,7 +871,8 @@ export declare type ConfigureRoomClimate = Message<"kusinta.iot.webrtc.v1.Config
|
|
|
813
871
|
roomId?: SpaceId | undefined;
|
|
814
872
|
|
|
815
873
|
/**
|
|
816
|
-
*
|
|
874
|
+
* The outer limits' min and max (climate.v1.OuterRoomLimits); replaces both bounds, see
|
|
875
|
+
* RoomLimits.
|
|
817
876
|
*
|
|
818
877
|
* @generated from field: kusinta.iot.webrtc.v1.RoomLimits limits = 2;
|
|
819
878
|
*/
|
|
@@ -831,6 +890,27 @@ export declare type ConfigureRoomClimate = Message<"kusinta.iot.webrtc.v1.Config
|
|
|
831
890
|
* @generated from field: optional bool lock_device_controls = 4;
|
|
832
891
|
*/
|
|
833
892
|
lockDeviceControls?: boolean | undefined;
|
|
893
|
+
|
|
894
|
+
/**
|
|
895
|
+
* The outer limits' away minimum and move-in target, each alone; see RoomLimitValue.
|
|
896
|
+
*
|
|
897
|
+
* @generated from field: kusinta.iot.webrtc.v1.RoomLimitValue away_min = 5;
|
|
898
|
+
*/
|
|
899
|
+
awayMin?: RoomLimitValue | undefined;
|
|
900
|
+
|
|
901
|
+
/**
|
|
902
|
+
* @generated from field: kusinta.iot.webrtc.v1.RoomLimitValue move_in_target = 6;
|
|
903
|
+
*/
|
|
904
|
+
moveInTarget?: RoomLimitValue | undefined;
|
|
905
|
+
|
|
906
|
+
/**
|
|
907
|
+
* The caller accepts a min below the public-health threshold, recorded with the bound
|
|
908
|
+
* (OuterRoomLimits.min_accepted_threshold_centidegrees). Ignored on a request that sets no
|
|
909
|
+
* such min.
|
|
910
|
+
*
|
|
911
|
+
* @generated from field: bool accept_below_threshold = 7;
|
|
912
|
+
*/
|
|
913
|
+
acceptBelowThreshold: boolean;
|
|
834
914
|
};
|
|
835
915
|
|
|
836
916
|
/**
|
|
@@ -839,6 +919,36 @@ export declare type ConfigureRoomClimate = Message<"kusinta.iot.webrtc.v1.Config
|
|
|
839
919
|
*/
|
|
840
920
|
export declare const ConfigureRoomClimateSchema: GenMessage<ConfigureRoomClimate>;
|
|
841
921
|
|
|
922
|
+
/**
|
|
923
|
+
* Sets a room's inner limits (climate.v1.InnerRoomLimits). Answered with ManagementAck. A
|
|
924
|
+
* household admin of the home the room is in only (household.proto, HOUSEHOLD ADMIN); anyone
|
|
925
|
+
* else, and a room in no home, is refused as NOT_ENTITLED — never covered by a commissioning
|
|
926
|
+
* grant. min above max is refused as INVALID_REQUEST with metadata {"reason": "limits_order"}.
|
|
927
|
+
* Bounds outside the outer limits are accepted as they are (climate.v1.OuterRoomLimits, HELD).
|
|
928
|
+
* The room's target is clamped into the new limits.
|
|
929
|
+
*
|
|
930
|
+
* @generated from message kusinta.iot.webrtc.v1.SetInnerRoomLimits
|
|
931
|
+
*/
|
|
932
|
+
export declare type SetInnerRoomLimits = Message<"kusinta.iot.webrtc.v1.SetInnerRoomLimits"> & {
|
|
933
|
+
/**
|
|
934
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId room_id = 1;
|
|
935
|
+
*/
|
|
936
|
+
roomId?: SpaceId | undefined;
|
|
937
|
+
|
|
938
|
+
/**
|
|
939
|
+
* Replaces both bounds: a bound unset in it, or limits unset, removes them.
|
|
940
|
+
*
|
|
941
|
+
* @generated from field: kusinta.iot.climate.v1.InnerRoomLimits limits = 2;
|
|
942
|
+
*/
|
|
943
|
+
limits?: InnerRoomLimits | undefined;
|
|
944
|
+
};
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* Describes the message kusinta.iot.webrtc.v1.SetInnerRoomLimits.
|
|
948
|
+
* Use `create(SetInnerRoomLimitsSchema)` to create a new message.
|
|
949
|
+
*/
|
|
950
|
+
export declare const SetInnerRoomLimitsSchema: GenMessage<SetInnerRoomLimits>;
|
|
951
|
+
|
|
842
952
|
/**
|
|
843
953
|
* Switches a mode on a space on, or off with kind UNSPECIFIED. WRITE on the space.
|
|
844
954
|
* Switching one on needs setback_centidegrees; a mode with nothing to set back to is
|
|
@@ -849,11 +959,11 @@ export declare const ConfigureRoomClimateSchema: GenMessage<ConfigureRoomClimate
|
|
|
849
959
|
*
|
|
850
960
|
* In a home, only its residents may switch one on or off: whether a home stands empty is
|
|
851
961
|
* theirs to say. A caller who reaches it as service is refused as NOT_ENTITLED — except
|
|
852
|
-
* that, while the home
|
|
853
|
-
*
|
|
854
|
-
* outlives everyone who could end it. Any other switch-off from them —
|
|
855
|
-
*
|
|
856
|
-
* whether a mode was on
|
|
962
|
+
* that, while the home is empty (household.proto, EMPTY HOME), ROLE_PROPERTY_OWNER or
|
|
963
|
+
* ROLE_GATEWAY_ADMIN may switch one on, and switch off one that is on, so that no mode
|
|
964
|
+
* outlives everyone who could end it. Any other switch-off from them — in a home that is not
|
|
965
|
+
* empty, or with no mode on — is accepted and does nothing, so the answer tells them nothing of
|
|
966
|
+
* whether a mode was on.
|
|
857
967
|
*
|
|
858
968
|
* @generated from message kusinta.iot.webrtc.v1.SetClimateMode
|
|
859
969
|
*/
|
|
@@ -898,7 +1008,9 @@ export declare const SetClimateModeSchema: GenMessage<SetClimateMode>;
|
|
|
898
1008
|
*
|
|
899
1009
|
* A caller who reaches a room inside an apartment as service gets it with
|
|
900
1010
|
* RoomClimate.state_withheld set — what is new as it happens, what is gone at once — and
|
|
901
|
-
* gets no ClimateMode set on that apartment or its rooms
|
|
1011
|
+
* gets no ClimateMode set on that apartment or its rooms; save the property owner and the
|
|
1012
|
+
* gateway administrators while the home is empty, who get both as for a space outside homes
|
|
1013
|
+
* (household.proto, EMPTY HOME).
|
|
902
1014
|
*
|
|
903
1015
|
* @generated from message kusinta.iot.webrtc.v1.ListRoomClimates
|
|
904
1016
|
*/
|
|
@@ -916,12 +1028,13 @@ export declare type ListRoomClimates = Message<"kusinta.iot.webrtc.v1.ListRoomCl
|
|
|
916
1028
|
export declare const ListRoomClimatesSchema: GenMessage<ListRoomClimates>;
|
|
917
1029
|
|
|
918
1030
|
/**
|
|
919
|
-
* Reads a room's history, answered with a climate.v1.RoomHistory
|
|
920
|
-
*
|
|
1031
|
+
* Reads a room's history at one resolution, answered with a climate.v1.RoomHistory. Needs
|
|
1032
|
+
* READ on the room.
|
|
921
1033
|
*
|
|
922
1034
|
* The range is half-open: a bucket is returned when from_time <= at < to_time, so
|
|
923
|
-
* back-to-back windows neither repeat nor skip a bucket. Unset to_time means now;
|
|
924
|
-
*
|
|
1035
|
+
* back-to-back windows neither repeat nor skip a bucket. Unset to_time means now; unset
|
|
1036
|
+
* from_time means RoomHistory.kept_from. Both are clamped to [kept_from, now]. A long range is
|
|
1037
|
+
* answered newest first, in capped pages (RoomHistory.covered_from).
|
|
925
1038
|
*
|
|
926
1039
|
* A room in a home is readable by its residents only, and only from the start of their
|
|
927
1040
|
* current residency (see access.v1.MembershipRelation). A caller who reaches it as service is
|
|
@@ -945,6 +1058,19 @@ export declare type GetRoomHistory = Message<"kusinta.iot.webrtc.v1.GetRoomHisto
|
|
|
945
1058
|
* @generated from field: google.protobuf.Timestamp to_time = 3;
|
|
946
1059
|
*/
|
|
947
1060
|
toTime?: Timestamp | undefined;
|
|
1061
|
+
|
|
1062
|
+
/**
|
|
1063
|
+
* The resolution wanted. Unset, or one the gateway does not give, and the gateway chooses
|
|
1064
|
+
* from the request and the resolutions alone, never from what it holds: the finest
|
|
1065
|
+
* resolution it gives that it keeps for long enough to reach back to from_time, and whose
|
|
1066
|
+
* bucket length fits the span from from_time to to_time (unset: now) into no more buckets
|
|
1067
|
+
* than one answer may give samples (RoomHistory.covered_from); where none does, or from_time
|
|
1068
|
+
* is unset, the coarsest. How long each is kept is the gateway's, the same for every room and
|
|
1069
|
+
* recipient, so the choice tells nothing of a room or of who may read it.
|
|
1070
|
+
*
|
|
1071
|
+
* @generated from field: kusinta.iot.climate.v1.RoomHistoryResolution resolution = 4;
|
|
1072
|
+
*/
|
|
1073
|
+
resolution: RoomHistoryResolution;
|
|
948
1074
|
};
|
|
949
1075
|
|
|
950
1076
|
/**
|
|
@@ -991,7 +1117,9 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
|
|
|
991
1117
|
* this length (climate.v1.ApartmentClimateSummary). UNSPECIFIED: no summary is given.
|
|
992
1118
|
* The gateway's own setting, WEEK unless it is configured otherwise; no operation in this
|
|
993
1119
|
* contract changes it. A change applies to periods that open after it: service is given
|
|
994
|
-
* no period that opened before the last change.
|
|
1120
|
+
* no period that opened before the last change. A household's clear of its climate history
|
|
1121
|
+
* (ClearClimateHistory) likewise leaves service no period from before the clear, and none
|
|
1122
|
+
* until the first period that starts at or after it has closed.
|
|
995
1123
|
*
|
|
996
1124
|
* @generated from field: kusinta.iot.climate.v1.ClimateSummaryPeriod climate_summary_period = 4;
|
|
997
1125
|
*/
|
|
@@ -1030,8 +1158,9 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
|
|
|
1030
1158
|
|
|
1031
1159
|
/**
|
|
1032
1160
|
* Each commissioning grant on this home that was granted since it was last wiped, oldest
|
|
1033
|
-
* first, active ones included
|
|
1034
|
-
*
|
|
1161
|
+
* first, active ones included, and those the property owner or a gateway administrator
|
|
1162
|
+
* granted while it stood empty among them (commissioning.v1, GRANTS): who held commissioning
|
|
1163
|
+
* access to the home, and when. Given to the home's residents only, as staff_appointments is.
|
|
1035
1164
|
*
|
|
1036
1165
|
* @generated from field: repeated kusinta.iot.commissioning.v1.CommissioningGrantRecord commissioning_grants = 9;
|
|
1037
1166
|
*/
|
|
@@ -1770,9 +1899,11 @@ export declare const RequestCommissioningGrantSchema: GenMessage<RequestCommissi
|
|
|
1770
1899
|
/**
|
|
1771
1900
|
* Answers a requested commissioning grant, answered with the CommissioningGrant as stored when
|
|
1772
1901
|
* granted, and with ManagementAck when declined, which ends it. From a household admin of the
|
|
1773
|
-
* home, or for a space outside homes
|
|
1774
|
-
* it; anyone else, and a grant_id that is
|
|
1775
|
-
* is refused as NOT_ENTITLED, so that no
|
|
1902
|
+
* home, or for a space outside homes or an empty home (household.proto, EMPTY HOME) the
|
|
1903
|
+
* property owner or a gateway administrator who reaches it; anyone else, and a grant_id that is
|
|
1904
|
+
* not requested on a space the caller may answer for, is refused as NOT_ENTITLED, so that no
|
|
1905
|
+
* grant id can be probed. So is a grant that names the caller as its installer, whoever they
|
|
1906
|
+
* are (commissioning.v1, GRANTS).
|
|
1776
1907
|
*
|
|
1777
1908
|
* Granting needs ends_at after starts_at, no more than 14 days after it, and starts_at no
|
|
1778
1909
|
* later than 30 days from now; otherwise INVALID_REQUEST with metadata
|
|
@@ -1835,8 +1966,9 @@ export declare const EndCommissioningGrantSchema: GenMessage<EndCommissioningGra
|
|
|
1835
1966
|
|
|
1836
1967
|
/**
|
|
1837
1968
|
* Lists the commissioning grants that have not ended on a space and those below it, answered
|
|
1838
|
-
* with CommissioningGrants: a home's to its residents
|
|
1839
|
-
* property owner and the gateway administrators who reach it
|
|
1969
|
+
* with CommissioningGrants: a home's to its residents, and an empty home's (household.proto,
|
|
1970
|
+
* EMPTY HOME) to the property owner and the gateway administrators who reach it, as one on a
|
|
1971
|
+
* space outside homes is; to an installer, their own.
|
|
1840
1972
|
* Unset root_space_id lists every one the caller may be listed. Anyone may ask; nobody is
|
|
1841
1973
|
* refused, and a caller listed none gets none.
|
|
1842
1974
|
*
|
|
@@ -1857,7 +1989,8 @@ export declare const ListCommissioningGrantsSchema: GenMessage<ListCommissioning
|
|
|
1857
1989
|
|
|
1858
1990
|
/**
|
|
1859
1991
|
* Sets who owns one of the building's own devices as an asset (common.v1.AssetOwner), and
|
|
1860
|
-
* with it
|
|
1992
|
+
* with it whether a room's outer limits can bind the device (climate.v1.OuterRoomLimits), and
|
|
1993
|
+
* nobody's access. Answered with ManagementAck. From the property owner or a gateway
|
|
1861
1994
|
* administrator who reaches the device; anyone else is refused as NOT_ENTITLED. Unset
|
|
1862
1995
|
* asset_owner clears it, as does one with neither owner set.
|
|
1863
1996
|
*
|
|
@@ -2323,6 +2456,18 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
|
|
|
2323
2456
|
*/
|
|
2324
2457
|
value: SetHomeName;
|
|
2325
2458
|
case: "setHomeName";
|
|
2459
|
+
} | {
|
|
2460
|
+
/**
|
|
2461
|
+
* @generated from field: kusinta.iot.webrtc.v1.ClearClimateHistory clear_climate_history = 69;
|
|
2462
|
+
*/
|
|
2463
|
+
value: ClearClimateHistory;
|
|
2464
|
+
case: "clearClimateHistory";
|
|
2465
|
+
} | {
|
|
2466
|
+
/**
|
|
2467
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetInnerRoomLimits set_inner_room_limits = 70;
|
|
2468
|
+
*/
|
|
2469
|
+
value: SetInnerRoomLimits;
|
|
2470
|
+
case: "setInnerRoomLimits";
|
|
2326
2471
|
} | { case: undefined; value?: undefined };
|
|
2327
2472
|
};
|
|
2328
2473
|
|