@kusinta/iot-schema 0.2.0-beta.34 → 0.2.0-beta.36
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/roles_pb.d.ts +5 -4
- package/src/kusinta/iot/access/v1/roles_pb.js +5 -4
- package/src/kusinta/iot/climate/v1/climate_pb.d.ts +304 -0
- package/src/kusinta/iot/climate/v1/climate_pb.js +74 -10
- package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +194 -1
- package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
- package/src/kusinta/iot/device/v1/device_pb.d.ts +39 -2
- package/src/kusinta/iot/device/v1/device_pb.js +1 -1
- package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
- package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +21 -15
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +520 -4
- package/src/kusinta/iot/signaling/v1/signaling_pb.js +101 -7
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +10 -7
- package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +42 -0
- package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +18 -1
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +2 -2
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +31 -6
- package/src/kusinta/iot/webrtc/v1/management_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +223 -34
- package/src/kusinta/iot/webrtc/v1/members_pb.js +43 -8
package/package.json
CHANGED
|
@@ -22,9 +22,10 @@ export declare const file_kusinta_iot_access_v1_roles: GenFile;
|
|
|
22
22
|
* role narrows what may appear there; it does not put anything there on its own.
|
|
23
23
|
*
|
|
24
24
|
* The building-server gateway holds each user's roles itself and authorises from what it
|
|
25
|
-
* holds. The one role it cannot know is the administration of
|
|
26
|
-
* the api-server
|
|
27
|
-
* (webrtc.v1.AppTokenClaims.roles)
|
|
25
|
+
* holds. The one role it cannot know is the administration of the organisation that owns it,
|
|
26
|
+
* which the api-server keeps: that one it takes from the app's token
|
|
27
|
+
* (webrtc.v1.AppTokenClaims.roles), and the api-server tells it who those administrators are
|
|
28
|
+
* (signaling.v1.VouchedAdministrators), which can end that administration but never grant it. The api-server learns the rest from the gateway
|
|
28
29
|
* (reporting.v1.GatewayMember). A user may hold several at once and the effective ceiling is
|
|
29
30
|
* their union.
|
|
30
31
|
*
|
|
@@ -41,7 +42,7 @@ export declare const file_kusinta_iot_access_v1_roles: GenFile;
|
|
|
41
42
|
* STAFF. A user who holds ROLE_TECHNICIAN, ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN on a
|
|
42
43
|
* gateway is staff there: they serve the building rather than live in it. Wherever this
|
|
43
44
|
* schema says "staff" or "a staff member" it means exactly that, as the gateway holds roles,
|
|
44
|
-
*
|
|
45
|
+
* every vouched administrator included; holding ROLE_RESIDENT besides changes nothing. The
|
|
45
46
|
* term carries one rule about people: staff are named to whoever may list every member; a
|
|
46
47
|
* resident is named only to the people they live with; and where anyone lives is told by
|
|
47
48
|
* user id only to their own household, and to anyone else only under a residency id
|
|
@@ -29,9 +29,10 @@ export const RoleSchema = /*@__PURE__*/
|
|
|
29
29
|
* role narrows what may appear there; it does not put anything there on its own.
|
|
30
30
|
*
|
|
31
31
|
* The building-server gateway holds each user's roles itself and authorises from what it
|
|
32
|
-
* holds. The one role it cannot know is the administration of
|
|
33
|
-
* the api-server
|
|
34
|
-
* (webrtc.v1.AppTokenClaims.roles)
|
|
32
|
+
* holds. The one role it cannot know is the administration of the organisation that owns it,
|
|
33
|
+
* which the api-server keeps: that one it takes from the app's token
|
|
34
|
+
* (webrtc.v1.AppTokenClaims.roles), and the api-server tells it who those administrators are
|
|
35
|
+
* (signaling.v1.VouchedAdministrators), which can end that administration but never grant it. The api-server learns the rest from the gateway
|
|
35
36
|
* (reporting.v1.GatewayMember). A user may hold several at once and the effective ceiling is
|
|
36
37
|
* their union.
|
|
37
38
|
*
|
|
@@ -48,7 +49,7 @@ export const RoleSchema = /*@__PURE__*/
|
|
|
48
49
|
* STAFF. A user who holds ROLE_TECHNICIAN, ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN on a
|
|
49
50
|
* gateway is staff there: they serve the building rather than live in it. Wherever this
|
|
50
51
|
* schema says "staff" or "a staff member" it means exactly that, as the gateway holds roles,
|
|
51
|
-
*
|
|
52
|
+
* every vouched administrator included; holding ROLE_RESIDENT besides changes nothing. The
|
|
52
53
|
* term carries one rule about people: staff are named to whoever may list every member; a
|
|
53
54
|
* resident is named only to the people they live with; and where anyone lives is told by
|
|
54
55
|
* user id only to their own household, and to anyone else only under a residency id
|
|
@@ -207,9 +207,63 @@ export declare type RoomClimate = Message<"kusinta.iot.climate.v1.RoomClimate">
|
|
|
207
207
|
* the sensors service may see are still sent, since setting a room up is service work.
|
|
208
208
|
* Its climate over time is available to service only as an ApartmentClimateSummary.
|
|
209
209
|
*
|
|
210
|
+
* explanations, target_held_until, planning and the comfort band are withheld in the
|
|
211
|
+
* same way.
|
|
212
|
+
*
|
|
210
213
|
* @generated from field: bool state_withheld = 15;
|
|
211
214
|
*/
|
|
212
215
|
stateWithheld: boolean;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Why the room is being held where it is, when that differs from simply holding its
|
|
219
|
+
* target: a plan heating ahead of an expensive hour, the heat source busy with hot water,
|
|
220
|
+
* a floor zone held back. Most significant first. An app that shows one shows the first
|
|
221
|
+
* it can show: a kind and subject it knows, a pair that kind lists, and not past its
|
|
222
|
+
* ends_at. Empty: nothing beyond the target and condition needs explaining.
|
|
223
|
+
*
|
|
224
|
+
* A window, a lost sensor and the rest of RoomClimateCondition are told by condition and
|
|
225
|
+
* never repeated here; a target a person set is told by target_change and
|
|
226
|
+
* target_held_until; whether the room is planned for at all is told by planning — one
|
|
227
|
+
* fact, one place.
|
|
228
|
+
*
|
|
229
|
+
* Sent with the room, so a replaced room replaces its list: an explanation absent from
|
|
230
|
+
* the latest RoomClimate no longer holds.
|
|
231
|
+
*
|
|
232
|
+
* @generated from field: repeated kusinta.iot.climate.v1.ClimateExplanation explanations = 16;
|
|
233
|
+
*/
|
|
234
|
+
explanations: ClimateExplanation[];
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* When a target a person set will next be moved by the gateway on its own — a schedule
|
|
238
|
+
* step, a plan taking over again. Unset: it holds until somebody changes it. Told so that
|
|
239
|
+
* a person is not surprised when their change ends. Unset whenever target_change is
|
|
240
|
+
* withheld from the recipient, for the same reasons: it describes the same change.
|
|
241
|
+
*
|
|
242
|
+
* @generated from field: google.protobuf.Timestamp target_held_until = 17;
|
|
243
|
+
*/
|
|
244
|
+
targetHeldUntil?: Timestamp | undefined;
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Whether a plan steers the room. See RoomPlanning.
|
|
248
|
+
*
|
|
249
|
+
* @generated from field: kusinta.iot.climate.v1.RoomPlanning planning = 18;
|
|
250
|
+
*/
|
|
251
|
+
planning: RoomPlanning;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* The comfort band in force, in centidegrees: the lowest and highest a plan may hold the
|
|
255
|
+
* room at while it heats ahead, coasts or saves on dear energy. Both set or neither, low
|
|
256
|
+
* no higher than high, and within [min_centidegrees, max_centidegrees] where those are
|
|
257
|
+
* set. Absent: no band, and a plan holds the room at its target — never 0 °C.
|
|
258
|
+
*
|
|
259
|
+
* @generated from field: optional sint32 comfort_band_low_centidegrees = 19;
|
|
260
|
+
*/
|
|
261
|
+
comfortBandLowCentidegrees?: number | undefined;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @generated from field: optional sint32 comfort_band_high_centidegrees = 20;
|
|
265
|
+
*/
|
|
266
|
+
comfortBandHighCentidegrees?: number | undefined;
|
|
213
267
|
};
|
|
214
268
|
|
|
215
269
|
/**
|
|
@@ -218,6 +272,45 @@ export declare type RoomClimate = Message<"kusinta.iot.climate.v1.RoomClimate">
|
|
|
218
272
|
*/
|
|
219
273
|
export declare const RoomClimateSchema: GenMessage<RoomClimate>;
|
|
220
274
|
|
|
275
|
+
/**
|
|
276
|
+
* One reason a room, or a part of its heating, is where it is.
|
|
277
|
+
*
|
|
278
|
+
* @generated from message kusinta.iot.climate.v1.ClimateExplanation
|
|
279
|
+
*/
|
|
280
|
+
export declare type ClimateExplanation = Message<"kusinta.iot.climate.v1.ClimateExplanation"> & {
|
|
281
|
+
/**
|
|
282
|
+
* @generated from field: kusinta.iot.climate.v1.ClimateExplanationKind kind = 1;
|
|
283
|
+
*/
|
|
284
|
+
kind: ClimateExplanationKind;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* What the cause acts on. The gateway always sets it. An app shows nothing for an
|
|
288
|
+
* explanation whose subject is unspecified or unknown to it, rather than presenting it
|
|
289
|
+
* as the room's.
|
|
290
|
+
*
|
|
291
|
+
* @generated from field: kusinta.iot.climate.v1.ClimateExplanationSubject subject = 2;
|
|
292
|
+
*/
|
|
293
|
+
subject: ClimateExplanationSubject;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* When the explanation stops holding. Unset: while the room's latest RoomClimate carries
|
|
297
|
+
* it. An app MUST NOT show an explanation past its ends_at, also while it cannot reach
|
|
298
|
+
* the gateway, and while it cannot reach the gateway it shows none without an ends_at:
|
|
299
|
+
* an explanation that outlives its window is a claim about the room nobody is making any
|
|
300
|
+
* more. An explanation that holds because of a leased write ends no later than that
|
|
301
|
+
* lease, after which the output is back at its lapse value whatever the gateway does.
|
|
302
|
+
*
|
|
303
|
+
* @generated from field: google.protobuf.Timestamp ends_at = 3;
|
|
304
|
+
*/
|
|
305
|
+
endsAt?: Timestamp | undefined;
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Describes the message kusinta.iot.climate.v1.ClimateExplanation.
|
|
310
|
+
* Use `create(ClimateExplanationSchema)` to create a new message.
|
|
311
|
+
*/
|
|
312
|
+
export declare const ClimateExplanationSchema: GenMessage<ClimateExplanation>;
|
|
313
|
+
|
|
221
314
|
/**
|
|
222
315
|
* A mode on a home ends when whoever switched it on stops being one of its residents: a new
|
|
223
316
|
* tenant does not inherit the previous one's holiday. A mode on a room ends when the room
|
|
@@ -619,6 +712,217 @@ export enum RoomClimateCondition {
|
|
|
619
712
|
*/
|
|
620
713
|
export declare const RoomClimateConditionSchema: GenEnum<RoomClimateCondition>;
|
|
621
714
|
|
|
715
|
+
/**
|
|
716
|
+
* Whether a plan steers a room: one that looks ahead at prices, weather and the heat
|
|
717
|
+
* source and moves the room within its comfort band. A standing state of the room, not a
|
|
718
|
+
* reason, so it is a field of its own rather than an explanation.
|
|
719
|
+
*
|
|
720
|
+
* @generated from enum kusinta.iot.climate.v1.RoomPlanning
|
|
721
|
+
*/
|
|
722
|
+
export enum RoomPlanning {
|
|
723
|
+
/**
|
|
724
|
+
* Not stated.
|
|
725
|
+
*
|
|
726
|
+
* @generated from enum value: ROOM_PLANNING_UNSPECIFIED = 0;
|
|
727
|
+
*/
|
|
728
|
+
UNSPECIFIED = 0,
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* A plan steers the room. Its explanations say what it is doing.
|
|
732
|
+
*
|
|
733
|
+
* @generated from enum value: ROOM_PLANNING_PLANNED = 1;
|
|
734
|
+
*/
|
|
735
|
+
PLANNED = 1,
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* No plan steers the room: planning is switched off for it, or was never set up. The
|
|
739
|
+
* room follows its target and schedule.
|
|
740
|
+
*
|
|
741
|
+
* @generated from enum value: ROOM_PLANNING_NOT_PLANNED = 2;
|
|
742
|
+
*/
|
|
743
|
+
NOT_PLANNED = 2,
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* A plan would steer the room but cannot be made — prices or a forecast are missing —
|
|
747
|
+
* so the room follows its target and schedule until one can.
|
|
748
|
+
*
|
|
749
|
+
* @generated from enum value: ROOM_PLANNING_UNAVAILABLE = 3;
|
|
750
|
+
*/
|
|
751
|
+
UNAVAILABLE = 3,
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Describes the enum kusinta.iot.climate.v1.RoomPlanning.
|
|
756
|
+
*/
|
|
757
|
+
export declare const RoomPlanningSchema: GenEnum<RoomPlanning>;
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* What held a room, or a part of its heating, where it is. A closed list of causes: the
|
|
761
|
+
* gateway sends a kind, never a sentence, and the app names each kind in its user's
|
|
762
|
+
* language. What the cause acts on is ClimateExplanation.subject, and each kind lists the
|
|
763
|
+
* subjects it may carry. A pair a kind does not list is shown as nothing, so a pair added
|
|
764
|
+
* later reaches an older app as nothing rather than as a guess.
|
|
765
|
+
*
|
|
766
|
+
* No kind identifies another household or anything about one, its activity included.
|
|
767
|
+
* Where a limit is shared — a building's power, a shared heat source — the explanation
|
|
768
|
+
* says that this room was limited, never by whom or because of whom. A kind that a source
|
|
769
|
+
* or limit shared with other homes drives — HOT_WATER_PRIORITY on a shared heat source,
|
|
770
|
+
* SHARED_POWER_BUDGET, DISTRICT_HEATING_PEAK on a shared connection — is sent only where at
|
|
771
|
+
* least three homes share that source or limit, in rooms in homes and outside them alike.
|
|
772
|
+
* Below that, its onset and end would track another home's use as it happens, and the
|
|
773
|
+
* room carries no explanation for it.
|
|
774
|
+
*
|
|
775
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateExplanationKind
|
|
776
|
+
*/
|
|
777
|
+
export enum ClimateExplanationKind {
|
|
778
|
+
/**
|
|
779
|
+
* Sender did not set a kind, or sent one this client's schema does not know. An app
|
|
780
|
+
* shows nothing for it rather than guessing.
|
|
781
|
+
*
|
|
782
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_UNSPECIFIED = 0;
|
|
783
|
+
*/
|
|
784
|
+
UNSPECIFIED = 0,
|
|
785
|
+
|
|
786
|
+
/**
|
|
787
|
+
* Heated ahead of a dearer or colder period, within the comfort band, so less is needed
|
|
788
|
+
* then. Subjects: ROOM, FLOOR_ZONE.
|
|
789
|
+
*
|
|
790
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_PRE_HEAT = 1;
|
|
791
|
+
*/
|
|
792
|
+
PRE_HEAT = 1,
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Held back while stored heat carries the room, within the comfort band. Subjects: ROOM,
|
|
796
|
+
* FLOOR_ZONE.
|
|
797
|
+
*
|
|
798
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_COASTING = 2;
|
|
799
|
+
*/
|
|
800
|
+
COASTING = 2,
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* Held back while energy is expensive, within the comfort band. Subjects: ROOM,
|
|
804
|
+
* FLOOR_ZONE, COMFORT_LOAD, ADD_ON_HEATER.
|
|
805
|
+
*
|
|
806
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_PRICE_HIGH = 3;
|
|
807
|
+
*/
|
|
808
|
+
PRICE_HIGH = 3,
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* Held back to keep the home's own electricity use below a peak it is charged for.
|
|
812
|
+
* Subjects: ROOM, FLOOR_ZONE, COMFORT_LOAD, ADD_ON_HEATER.
|
|
813
|
+
*
|
|
814
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_PEAK_GUARD = 4;
|
|
815
|
+
*/
|
|
816
|
+
PEAK_GUARD = 4,
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* Paused while the heat source heats domestic hot water. Subjects: ROOM, FLOOR_ZONE.
|
|
820
|
+
*
|
|
821
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_HOT_WATER_PRIORITY = 5;
|
|
822
|
+
*/
|
|
823
|
+
HOT_WATER_PRIORITY = 5,
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* Held back to keep electricity that several homes share — a building's connection, a
|
|
827
|
+
* shared heat source — within its limit. Subjects: ROOM, FLOOR_ZONE, COMFORT_LOAD,
|
|
828
|
+
* ADD_ON_HEATER.
|
|
829
|
+
*
|
|
830
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_SHARED_POWER_BUDGET = 6;
|
|
831
|
+
*/
|
|
832
|
+
SHARED_POWER_BUDGET = 6,
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* Held back to keep a district-heating connection below its charged peak. Subjects:
|
|
836
|
+
* ROOM, FLOOR_ZONE.
|
|
837
|
+
*
|
|
838
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_DISTRICT_HEATING_PEAK = 7;
|
|
839
|
+
*/
|
|
840
|
+
DISTRICT_HEATING_PEAK = 7,
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* Not heated further because the room is at the top of its comfort band, even though
|
|
844
|
+
* energy is cheap. Subjects: ROOM, FLOOR_ZONE.
|
|
845
|
+
*
|
|
846
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_AT_COMFORT_CEILING = 8;
|
|
847
|
+
*/
|
|
848
|
+
AT_COMFORT_CEILING = 8,
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Run on a cautious fixed share of the time because the reading that steers it has gone
|
|
852
|
+
* quiet. Subjects: FLOOR_ZONE only — a room's own lost sensor is told by condition. In
|
|
853
|
+
* the room whose sensor steers the zone, condition says the sensor is lost and this says
|
|
854
|
+
* what the zone does about it.
|
|
855
|
+
*
|
|
856
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_NO_READING = 9;
|
|
857
|
+
*/
|
|
858
|
+
NO_READING = 9,
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* Off because it is outside its time window — a heated floor kept warm for comfort, a
|
|
862
|
+
* towel heater. Subjects: COMFORT_LOAD only.
|
|
863
|
+
*
|
|
864
|
+
* @generated from enum value: CLIMATE_EXPLANATION_KIND_OUTSIDE_WINDOW = 10;
|
|
865
|
+
*/
|
|
866
|
+
OUTSIDE_WINDOW = 10,
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
/**
|
|
870
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateExplanationKind.
|
|
871
|
+
*/
|
|
872
|
+
export declare const ClimateExplanationKindSchema: GenEnum<ClimateExplanationKind>;
|
|
873
|
+
|
|
874
|
+
/**
|
|
875
|
+
* What a cause acts on.
|
|
876
|
+
*
|
|
877
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateExplanationSubject
|
|
878
|
+
*/
|
|
879
|
+
export enum ClimateExplanationSubject {
|
|
880
|
+
/**
|
|
881
|
+
* Sender did not set a subject, or sent one this client's schema does not know — some
|
|
882
|
+
* decoders read an unknown value as this one. Never the room as a whole.
|
|
883
|
+
*
|
|
884
|
+
* @generated from enum value: CLIMATE_EXPLANATION_SUBJECT_UNSPECIFIED = 0;
|
|
885
|
+
*/
|
|
886
|
+
UNSPECIFIED = 0,
|
|
887
|
+
|
|
888
|
+
/**
|
|
889
|
+
* The room's heating as a whole.
|
|
890
|
+
*
|
|
891
|
+
* @generated from enum value: CLIMATE_EXPLANATION_SUBJECT_ROOM = 1;
|
|
892
|
+
*/
|
|
893
|
+
ROOM = 1,
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* A floor zone heating this room. A zone's explanation is sent only in rooms on the same
|
|
897
|
+
* side of a home's boundary as the zone's control room: rooms in the same home as it, or
|
|
898
|
+
* rooms outside homes when it is outside one. A zone that heats rooms on both sides
|
|
899
|
+
* explains itself on its control room's side alone, so a fact withheld across that
|
|
900
|
+
* boundary does not cross it here.
|
|
901
|
+
*
|
|
902
|
+
* @generated from enum value: CLIMATE_EXPLANATION_SUBJECT_FLOOR_ZONE = 2;
|
|
903
|
+
*/
|
|
904
|
+
FLOOR_ZONE = 2,
|
|
905
|
+
|
|
906
|
+
/**
|
|
907
|
+
* A comfort load in the room: a heated floor kept warm for comfort, a towel heater.
|
|
908
|
+
*
|
|
909
|
+
* @generated from enum value: CLIMATE_EXPLANATION_SUBJECT_COMFORT_LOAD = 3;
|
|
910
|
+
*/
|
|
911
|
+
COMFORT_LOAD = 3,
|
|
912
|
+
|
|
913
|
+
/**
|
|
914
|
+
* The heat source's add-on heater.
|
|
915
|
+
*
|
|
916
|
+
* @generated from enum value: CLIMATE_EXPLANATION_SUBJECT_ADD_ON_HEATER = 4;
|
|
917
|
+
*/
|
|
918
|
+
ADD_ON_HEATER = 4,
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
/**
|
|
922
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateExplanationSubject.
|
|
923
|
+
*/
|
|
924
|
+
export declare const ClimateExplanationSubjectSchema: GenEnum<ClimateExplanationSubject>;
|
|
925
|
+
|
|
622
926
|
/**
|
|
623
927
|
* A setback that applies to every room in a space while it is on.
|
|
624
928
|
*
|
|
@@ -10,7 +10,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
10
10
|
* Describes the file kusinta/iot/climate/v1/climate.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_kusinta_iot_climate_v1_climate = /*@__PURE__*/
|
|
13
|
-
fileDesc("
|
|
13
|
+
fileDesc("CiRrdXNpbnRhL2lvdC9jbGltYXRlL3YxL2NsaW1hdGUucHJvdG8SFmt1c2ludGEuaW90LmNsaW1hdGUudjEiogEKDFRhcmdldENoYW5nZRImCgJhdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoEdXNlchgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZEgAEjMKBmRldmljZRgDIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkSABCBAoCYnkizggKC1Jvb21DbGltYXRlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIgChN0YXJnZXRfY2VudGlkZWdyZWVzGAIgASgRSACIAQESOwoNdGFyZ2V0X2NoYW5nZRgDIAEoCzIkLmt1c2ludGEuaW90LmNsaW1hdGUudjEuVGFyZ2V0Q2hhbmdlEioKHWVmZmVjdGl2ZV90YXJnZXRfY2VudGlkZWdyZWVzGAQgASgRSAGIAQESFgoOb3ZlcnJpZGVzX21vZGUYBSABKAgSNwoNbW9kZV9zcGFjZV9pZBgNIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSHQoQbWluX2NlbnRpZGVncmVlcxgGIAEoEUgCiAEBEh0KEG1heF9jZW50aWRlZ3JlZXMYByABKBFIA4gBARI1CgpzZW5zb3JfaWRzGAggAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSGgoSc2Vuc29yc19jb25maWd1cmVkGA4gASgIEiIKFW1lYXN1cmVkX2NlbnRpZGVncmVlcxgJIAEoEUgEiAEBEjYKC21lYXN1cmVkX2J5GAogASgLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSPwoJY29uZGl0aW9uGAsgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tQ2xpbWF0ZUNvbmRpdGlvbhIcChRsb2NrX2RldmljZV9jb250cm9scxgMIAEoCBIWCg5zdGF0ZV93aXRoaGVsZBgPIAEoCBJACgxleHBsYW5hdGlvbnMYECADKAsyKi5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkNsaW1hdGVFeHBsYW5hdGlvbhI1ChF0YXJnZXRfaGVsZF91bnRpbBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoIcGxhbm5pbmcYEiABKA4yJC5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLlJvb21QbGFubmluZxIqCh1jb21mb3J0X2JhbmRfbG93X2NlbnRpZGVncmVlcxgTIAEoEUgFiAEBEisKHmNvbWZvcnRfYmFuZF9oaWdoX2NlbnRpZGVncmVlcxgUIAEoEUgGiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzQiAKHl9lZmZlY3RpdmVfdGFyZ2V0X2NlbnRpZGVncmVlc0ITChFfbWluX2NlbnRpZGVncmVlc0ITChFfbWF4X2NlbnRpZGVncmVlc0IYChZfbWVhc3VyZWRfY2VudGlkZWdyZWVzQiAKHl9jb21mb3J0X2JhbmRfbG93X2NlbnRpZGVncmVlc0IhCh9fY29tZm9ydF9iYW5kX2hpZ2hfY2VudGlkZWdyZWVzIsMBChJDbGltYXRlRXhwbGFuYXRpb24SPAoEa2luZBgBIAEoDjIuLmt1c2ludGEuaW90LmNsaW1hdGUudjEuQ2xpbWF0ZUV4cGxhbmF0aW9uS2luZBJCCgdzdWJqZWN0GAIgASgOMjEua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlRXhwbGFuYXRpb25TdWJqZWN0EisKB2VuZHNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIoMDCgtDbGltYXRlTW9kZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSNQoEa2luZBgCIAEoDjInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuQ2xpbWF0ZU1vZGVLaW5kEiEKFHNldGJhY2tfY2VudGlkZWdyZWVzGAMgASgRSACIAQESLQoJc3RhcnRzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgdlbmRzX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgZzZXRfYnkYBiABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSMgoJd2FybV9mcm9tGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlc0IMCgpfd2FybV9mcm9tInkKD1Jvb21DbGltYXRlTGlzdBIyCgVyb29tcxgBIAMoCzIjLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGUSMgoFbW9kZXMYAiADKAsyIy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkNsaW1hdGVNb2RlIvMCChFSb29tSGlzdG9yeVNhbXBsZRImCgJhdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIgoVbWVhc3VyZWRfY2VudGlkZWdyZWVzGAIgASgRSACIAQESIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgDIAEoEUgBiAEBEioKHWVmZmVjdGl2ZV90YXJnZXRfY2VudGlkZWdyZWVzGAQgASgRSAKIAQESIAoTdmFsdmVfb3Blbl9wZXJtaWxsZRgFIAEoDUgDiAEBEh8KEnZhbHZlX29wZW5fc2Vjb25kcxgGIAEoDUgEiAEBQhgKFl9tZWFzdXJlZF9jZW50aWRlZ3JlZXNCFgoUX3RhcmdldF9jZW50aWRlZ3JlZXNCIAoeX2VmZmVjdGl2ZV90YXJnZXRfY2VudGlkZWdyZWVzQhYKFF92YWx2ZV9vcGVuX3Blcm1pbGxlQhUKE192YWx2ZV9vcGVuX3NlY29uZHMiqwEKC1Jvb21IaXN0b3J5EjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEi0KCWtlcHRfZnJvbRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOgoHc2FtcGxlcxgDIAMoCzIpLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUhpc3RvcnlTYW1wbGUi1AIKEUNsaW1hdGVQZXJpb2RNZWFuEi0KCXN0YXJ0c19hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoHZW5kc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIgoVbWVhc3VyZWRfY2VudGlkZWdyZWVzGAMgASgRSACIAQESIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgEIAEoEUgBiAEBEiIKGm1lYXN1cmVkX2NvdmVyYWdlX3Blcm1pbGxlGAUgASgNEiAKGHRhcmdldF9jb3ZlcmFnZV9wZXJtaWxsZRgGIAEoDRIWCg5yb29tc19tZWFzdXJlZBgHIAEoDRINCgVyb29tcxgIIAEoDUIYChZfbWVhc3VyZWRfY2VudGlkZWdyZWVzQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIr4CChdBcGFydG1lbnRDbGltYXRlU3VtbWFyeRI2CgxhcGFydG1lbnRfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjwKBnBlcmlvZBgCIAEoDjIsLmt1c2ludGEuaW90LmNsaW1hdGUudjEuQ2xpbWF0ZVN1bW1hcnlQZXJpb2QSQgoJd2VpZ2h0aW5nGAMgASgOMi8ua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVdlaWdodGluZxItCglrZXB0X2Zyb20YBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKB3BlcmlvZHMYBSADKAsyKS5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkNsaW1hdGVQZXJpb2RNZWFuKtUCChRSb29tQ2xpbWF0ZUNvbmRpdGlvbhImCiJST09NX0NMSU1BVEVfQ09ORElUSU9OX1VOU1BFQ0lGSUVEEAASIgoeUk9PTV9DTElNQVRFX0NPTkRJVElPTl9IT0xESU5HEAESJAogUk9PTV9DTElNQVRFX0NPTkRJVElPTl9OT19UQVJHRVQQAhImCiJST09NX0NMSU1BVEVfQ09ORElUSU9OX1NFTlNPUl9MT1NUEAMSJgoiUk9PTV9DTElNQVRFX0NPTkRJVElPTl9XSU5ET1dfT1BFThAEEiUKIVJPT01fQ0xJTUFURV9DT05ESVRJT05fTk9fSEVBVElORxAFEi4KKlJPT01fQ0xJTUFURV9DT05ESVRJT05fSEVBVElOR19VTlJFQUNIQUJMRRAGEiQKIFJPT01fQ0xJTUFURV9DT05ESVRJT05fTk9fU0VOU09SEAcqhgEKDFJvb21QbGFubmluZxIdChlST09NX1BMQU5OSU5HX1VOU1BFQ0lGSUVEEAASGQoVUk9PTV9QTEFOTklOR19QTEFOTkVEEAESHQoZUk9PTV9QTEFOTklOR19OT1RfUExBTk5FRBACEh0KGVJPT01fUExBTk5JTkdfVU5BVkFJTEFCTEUQAyqABAoWQ2xpbWF0ZUV4cGxhbmF0aW9uS2luZBIoCiRDTElNQVRFX0VYUExBTkFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIlCiFDTElNQVRFX0VYUExBTkFUSU9OX0tJTkRfUFJFX0hFQVQQARIlCiFDTElNQVRFX0VYUExBTkFUSU9OX0tJTkRfQ09BU1RJTkcQAhInCiNDTElNQVRFX0VYUExBTkFUSU9OX0tJTkRfUFJJQ0VfSElHSBADEicKI0NMSU1BVEVfRVhQTEFOQVRJT05fS0lORF9QRUFLX0dVQVJEEAQSLworQ0xJTUFURV9FWFBMQU5BVElPTl9LSU5EX0hPVF9XQVRFUl9QUklPUklUWRAFEjAKLENMSU1BVEVfRVhQTEFOQVRJT05fS0lORF9TSEFSRURfUE9XRVJfQlVER0VUEAYSMgouQ0xJTUFURV9FWFBMQU5BVElPTl9LSU5EX0RJU1RSSUNUX0hFQVRJTkdfUEVBSxAHEi8KK0NMSU1BVEVfRVhQTEFOQVRJT05fS0lORF9BVF9DT01GT1JUX0NFSUxJTkcQCBInCiNDTElNQVRFX0VYUExBTkFUSU9OX0tJTkRfTk9fUkVBRElORxAJEisKJ0NMSU1BVEVfRVhQTEFOQVRJT05fS0lORF9PVVRTSURFX1dJTkRPVxAKKvcBChlDbGltYXRlRXhwbGFuYXRpb25TdWJqZWN0EisKJ0NMSU1BVEVfRVhQTEFOQVRJT05fU1VCSkVDVF9VTlNQRUNJRklFRBAAEiQKIENMSU1BVEVfRVhQTEFOQVRJT05fU1VCSkVDVF9ST09NEAESKgomQ0xJTUFURV9FWFBMQU5BVElPTl9TVUJKRUNUX0ZMT09SX1pPTkUQAhIsCihDTElNQVRFX0VYUExBTkFUSU9OX1NVQkpFQ1RfQ09NRk9SVF9MT0FEEAMSLQopQ0xJTUFURV9FWFBMQU5BVElPTl9TVUJKRUNUX0FERF9PTl9IRUFURVIQBCpvCg9DbGltYXRlTW9kZUtpbmQSIQodQ0xJTUFURV9NT0RFX0tJTkRfVU5TUEVDSUZJRUQQABIaChZDTElNQVRFX01PREVfS0lORF9BV0FZEAESHQoZQ0xJTUFURV9NT0RFX0tJTkRfSE9MSURBWRACKqEBChRDbGltYXRlU3VtbWFyeVBlcmlvZBImCiJDTElNQVRFX1NVTU1BUllfUEVSSU9EX1VOU1BFQ0lGSUVEEAASHgoaQ0xJTUFURV9TVU1NQVJZX1BFUklPRF9EQVkQARIfChtDTElNQVRFX1NVTU1BUllfUEVSSU9EX1dFRUsQAhIgChxDTElNQVRFX1NVTU1BUllfUEVSSU9EX01PTlRIEAMqbwoXQ2xpbWF0ZVN1bW1hcnlXZWlnaHRpbmcSKQolQ0xJTUFURV9TVU1NQVJZX1dFSUdIVElOR19VTlNQRUNJRklFRBAAEikKJUNMSU1BVEVfU1VNTUFSWV9XRUlHSFRJTkdfUk9PTVNfRVFVQUwQAUICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_identity_v1_identity]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message kusinta.iot.climate.v1.TargetChange.
|
|
@@ -26,47 +26,54 @@ export const TargetChangeSchema = /*@__PURE__*/
|
|
|
26
26
|
export const RoomClimateSchema = /*@__PURE__*/
|
|
27
27
|
messageDesc(file_kusinta_iot_climate_v1_climate, 1);
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Describes the message kusinta.iot.climate.v1.ClimateExplanation.
|
|
31
|
+
* Use `create(ClimateExplanationSchema)` to create a new message.
|
|
32
|
+
*/
|
|
33
|
+
export const ClimateExplanationSchema = /*@__PURE__*/
|
|
34
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 2);
|
|
35
|
+
|
|
29
36
|
/**
|
|
30
37
|
* Describes the message kusinta.iot.climate.v1.ClimateMode.
|
|
31
38
|
* Use `create(ClimateModeSchema)` to create a new message.
|
|
32
39
|
*/
|
|
33
40
|
export const ClimateModeSchema = /*@__PURE__*/
|
|
34
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
41
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 3);
|
|
35
42
|
|
|
36
43
|
/**
|
|
37
44
|
* Describes the message kusinta.iot.climate.v1.RoomClimateList.
|
|
38
45
|
* Use `create(RoomClimateListSchema)` to create a new message.
|
|
39
46
|
*/
|
|
40
47
|
export const RoomClimateListSchema = /*@__PURE__*/
|
|
41
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
48
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 4);
|
|
42
49
|
|
|
43
50
|
/**
|
|
44
51
|
* Describes the message kusinta.iot.climate.v1.RoomHistorySample.
|
|
45
52
|
* Use `create(RoomHistorySampleSchema)` to create a new message.
|
|
46
53
|
*/
|
|
47
54
|
export const RoomHistorySampleSchema = /*@__PURE__*/
|
|
48
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
55
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 5);
|
|
49
56
|
|
|
50
57
|
/**
|
|
51
58
|
* Describes the message kusinta.iot.climate.v1.RoomHistory.
|
|
52
59
|
* Use `create(RoomHistorySchema)` to create a new message.
|
|
53
60
|
*/
|
|
54
61
|
export const RoomHistorySchema = /*@__PURE__*/
|
|
55
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
62
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 6);
|
|
56
63
|
|
|
57
64
|
/**
|
|
58
65
|
* Describes the message kusinta.iot.climate.v1.ClimatePeriodMean.
|
|
59
66
|
* Use `create(ClimatePeriodMeanSchema)` to create a new message.
|
|
60
67
|
*/
|
|
61
68
|
export const ClimatePeriodMeanSchema = /*@__PURE__*/
|
|
62
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
69
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 7);
|
|
63
70
|
|
|
64
71
|
/**
|
|
65
72
|
* Describes the message kusinta.iot.climate.v1.ApartmentClimateSummary.
|
|
66
73
|
* Use `create(ApartmentClimateSummarySchema)` to create a new message.
|
|
67
74
|
*/
|
|
68
75
|
export const ApartmentClimateSummarySchema = /*@__PURE__*/
|
|
69
|
-
messageDesc(file_kusinta_iot_climate_v1_climate,
|
|
76
|
+
messageDesc(file_kusinta_iot_climate_v1_climate, 8);
|
|
70
77
|
|
|
71
78
|
/**
|
|
72
79
|
* Describes the enum kusinta.iot.climate.v1.RoomClimateCondition.
|
|
@@ -87,11 +94,68 @@ export const RoomClimateConditionSchema = /*@__PURE__*/
|
|
|
87
94
|
export const RoomClimateCondition = /*@__PURE__*/
|
|
88
95
|
tsEnum(RoomClimateConditionSchema);
|
|
89
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Describes the enum kusinta.iot.climate.v1.RoomPlanning.
|
|
99
|
+
*/
|
|
100
|
+
export const RoomPlanningSchema = /*@__PURE__*/
|
|
101
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 1);
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Whether a plan steers a room: one that looks ahead at prices, weather and the heat
|
|
105
|
+
* source and moves the room within its comfort band. A standing state of the room, not a
|
|
106
|
+
* reason, so it is a field of its own rather than an explanation.
|
|
107
|
+
*
|
|
108
|
+
* @generated from enum kusinta.iot.climate.v1.RoomPlanning
|
|
109
|
+
*/
|
|
110
|
+
export const RoomPlanning = /*@__PURE__*/
|
|
111
|
+
tsEnum(RoomPlanningSchema);
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateExplanationKind.
|
|
115
|
+
*/
|
|
116
|
+
export const ClimateExplanationKindSchema = /*@__PURE__*/
|
|
117
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 2);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* What held a room, or a part of its heating, where it is. A closed list of causes: the
|
|
121
|
+
* gateway sends a kind, never a sentence, and the app names each kind in its user's
|
|
122
|
+
* language. What the cause acts on is ClimateExplanation.subject, and each kind lists the
|
|
123
|
+
* subjects it may carry. A pair a kind does not list is shown as nothing, so a pair added
|
|
124
|
+
* later reaches an older app as nothing rather than as a guess.
|
|
125
|
+
*
|
|
126
|
+
* No kind identifies another household or anything about one, its activity included.
|
|
127
|
+
* Where a limit is shared — a building's power, a shared heat source — the explanation
|
|
128
|
+
* says that this room was limited, never by whom or because of whom. A kind that a source
|
|
129
|
+
* or limit shared with other homes drives — HOT_WATER_PRIORITY on a shared heat source,
|
|
130
|
+
* SHARED_POWER_BUDGET, DISTRICT_HEATING_PEAK on a shared connection — is sent only where at
|
|
131
|
+
* least three homes share that source or limit, in rooms in homes and outside them alike.
|
|
132
|
+
* Below that, its onset and end would track another home's use as it happens, and the
|
|
133
|
+
* room carries no explanation for it.
|
|
134
|
+
*
|
|
135
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateExplanationKind
|
|
136
|
+
*/
|
|
137
|
+
export const ClimateExplanationKind = /*@__PURE__*/
|
|
138
|
+
tsEnum(ClimateExplanationKindSchema);
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Describes the enum kusinta.iot.climate.v1.ClimateExplanationSubject.
|
|
142
|
+
*/
|
|
143
|
+
export const ClimateExplanationSubjectSchema = /*@__PURE__*/
|
|
144
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 3);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* What a cause acts on.
|
|
148
|
+
*
|
|
149
|
+
* @generated from enum kusinta.iot.climate.v1.ClimateExplanationSubject
|
|
150
|
+
*/
|
|
151
|
+
export const ClimateExplanationSubject = /*@__PURE__*/
|
|
152
|
+
tsEnum(ClimateExplanationSubjectSchema);
|
|
153
|
+
|
|
90
154
|
/**
|
|
91
155
|
* Describes the enum kusinta.iot.climate.v1.ClimateModeKind.
|
|
92
156
|
*/
|
|
93
157
|
export const ClimateModeKindSchema = /*@__PURE__*/
|
|
94
|
-
enumDesc(file_kusinta_iot_climate_v1_climate,
|
|
158
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 4);
|
|
95
159
|
|
|
96
160
|
/**
|
|
97
161
|
* A setback that applies to every room in a space while it is on.
|
|
@@ -105,7 +169,7 @@ export const ClimateModeKind = /*@__PURE__*/
|
|
|
105
169
|
* Describes the enum kusinta.iot.climate.v1.ClimateSummaryPeriod.
|
|
106
170
|
*/
|
|
107
171
|
export const ClimateSummaryPeriodSchema = /*@__PURE__*/
|
|
108
|
-
enumDesc(file_kusinta_iot_climate_v1_climate,
|
|
172
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 5);
|
|
109
173
|
|
|
110
174
|
/**
|
|
111
175
|
* The length of the periods an ApartmentClimateSummary is given in. Each period runs from
|
|
@@ -130,7 +194,7 @@ export const ClimateSummaryPeriod = /*@__PURE__*/
|
|
|
130
194
|
* Describes the enum kusinta.iot.climate.v1.ClimateSummaryWeighting.
|
|
131
195
|
*/
|
|
132
196
|
export const ClimateSummaryWeightingSchema = /*@__PURE__*/
|
|
133
|
-
enumDesc(file_kusinta_iot_climate_v1_climate,
|
|
197
|
+
enumDesc(file_kusinta_iot_climate_v1_climate, 6);
|
|
134
198
|
|
|
135
199
|
/**
|
|
136
200
|
* How an apartment's mean is formed from its rooms' means.
|