@busy-app/busy-lib 0.11.0 → 0.12.0

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/index.d.ts CHANGED
@@ -18,9 +18,9 @@ declare class AccountMethods {
18
18
  *
19
19
  * @param {TimeoutOptions} [params] - Optional parameters.
20
20
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
21
- * @returns {Promise<AccountState>} A promise that resolves to the account state.
21
+ * @returns {Promise<AccountStatus>} A promise that resolves to the account state.
22
22
  */
23
- AccountStateGet(this: BusyBar, params?: TimeoutOptions): Promise<AccountState>;
23
+ AccountStateGet(this: BusyBar, params?: TimeoutOptions): Promise<AccountStatus>;
24
24
  /**
25
25
  * Get account profile.
26
26
  *
@@ -33,7 +33,8 @@ declare class AccountMethods {
33
33
  * Set account profile.
34
34
  *
35
35
  * @param {SetAccountProfileParams} params - Parameters for setting the account profile.
36
- * @param {string} params.profile - Profile data string.
36
+ * @param {string} params.profile - Profile name.
37
+ * @param {string} [params.custom_url] - Custom profile URL.
37
38
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
38
39
  * @returns {Promise<SuccessResponse>} A promise that resolves on success.
39
40
  */
@@ -58,29 +59,31 @@ declare class AccountMethods {
58
59
 
59
60
  export declare type AccountProfile = components['schemas']['AccountProfile'];
60
61
 
61
- export declare interface AccountProfileSetParams extends TimeoutOptions {
62
- profile: operations['setAccountProfile']['parameters']['query']['profile'];
62
+ export declare interface AccountProfileSetParams extends TimeoutOptions, AccountProfile {
63
63
  }
64
64
 
65
- export declare type AccountState = components['schemas']['AccountState'];
65
+ export declare type AccountStatus = components['schemas']['AccountStatus'];
66
+
67
+ export declare type AnimationElement = components['schemas']['AnimationElement'];
66
68
 
67
69
  declare type ApiKey = string;
68
70
 
69
71
  declare type ApiSemver = components['schemas']['VersionInfo']['api_semver'];
70
72
 
71
- export declare interface AssetsDeleteParams extends TimeoutOptions {
72
- appId: paths['/assets/upload']['delete']['parameters']['query']['app_id'];
73
+ export declare interface AssetsDeleteParams extends TimeoutOptions, AssetsDeleteQuery {
73
74
  }
74
75
 
76
+ declare type AssetsDeleteQuery = operations['deleteAppAssets']['parameters']['query'];
77
+
75
78
  declare class AssetsMethods {
76
79
  /**
77
80
  * Upload asset file with app ID. Uploads a file to a specific app's assets directory.
78
81
  *
79
82
  * @param {UploadParams} params - Parameters for the upload.
80
- * @param {UploadParams['appId']} params.appId - Application ID for organizing assets.
81
- * @param {UploadParams['fileName']} params.fileName - Filename for the uploaded asset.
82
- * @param {UploadParams['file']} params.file - File data to upload.
83
- * @param {UploadParams['timeout']} [params.timeout] - Request timeout in milliseconds.
83
+ * @param {string} params.application_name - Application name for organizing assets.
84
+ * @param {string} params.file - Filename for the uploaded asset.
85
+ * @param {BusyFile} params.data - File data to upload.
86
+ * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
84
87
  * @returns {Promise<SuccessResponse>} Result of the upload operation.
85
88
  */
86
89
  AssetsUpload(this: BusyBar, params: AssetsUploadParams): Promise<SuccessResponse>;
@@ -88,25 +91,25 @@ declare class AssetsMethods {
88
91
  * Delete app assets. Deletes all assets for a specific app ID.
89
92
  *
90
93
  * @param {DeleteParams} params - Parameters for the delete.
91
- * @param {DeleteParams['appId']} params.appId - Application ID whose assets should be deleted.
92
- * @param {DeleteParams['timeout']} [params.timeout] - Request timeout in milliseconds.
94
+ * @param {string} params.application_name - Application name whose assets should be deleted.
95
+ * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
93
96
  * @returns {Promise<SuccessResponse>} Result of the delete operation.
94
97
  */
95
98
  AssetsDelete(this: BusyBar, params: AssetsDeleteParams): Promise<SuccessResponse>;
96
99
  }
97
100
 
98
- export declare interface AssetsUploadParams extends TimeoutOptions {
99
- appId: paths['/assets/upload']['post']['parameters']['query']['app_id'];
100
- fileName: paths['/assets/upload']['post']['parameters']['query']['file'];
101
- file: BusyFile;
101
+ export declare interface AssetsUploadParams extends TimeoutOptions, AssetsUploadQuery {
102
+ data: BusyFile_2;
102
103
  }
103
104
 
105
+ declare type AssetsUploadQuery = operations['uploadAssetWithAppId']['parameters']['query'];
106
+
104
107
  declare class AudioMethods {
105
108
  /**
106
109
  * Play audio file. Plays a file from internal storage.
107
110
  *
108
111
  * @param {AudioPlayParams} params - Parameters for audio playback.
109
- * @param {string} params.appId - Application ID.
112
+ * @param {string} params.application_name - Application name.
110
113
  * @param {string} params.path - Path to the audio file.
111
114
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
112
115
  * @returns {Promise<SuccessResponse>} A promise that resolves on successful play command.
@@ -139,17 +142,18 @@ declare class AudioMethods {
139
142
  AudioVolumeSet(this: BusyBar, params: AudioVolumeParams): Promise<SuccessResponse>;
140
143
  }
141
144
 
142
- export declare interface AudioPlayParams extends TimeoutOptions {
143
- appId: paths['/audio/play']['post']['parameters']['query']['app_id'];
144
- path: paths['/audio/play']['post']['parameters']['query']['path'];
145
+ export declare interface AudioPlayParams extends TimeoutOptions, AudioPlayQuery {
145
146
  }
146
147
 
148
+ declare type AudioPlayQuery = operations['playAudio']['parameters']['query'];
149
+
147
150
  export declare type AudioVolumeInfo = components['schemas']['AudioVolumeInfo'];
148
151
 
149
- export declare interface AudioVolumeParams extends TimeoutOptions {
150
- volume: operations['setAudioVolume']['parameters']['query']['volume'];
152
+ export declare interface AudioVolumeParams extends TimeoutOptions, AudioVolumeQuery {
151
153
  }
152
154
 
155
+ declare type AudioVolumeQuery = operations['setAudioVolume']['parameters']['query'];
156
+
153
157
  export declare type AutoUpdateSettings = components['schemas']['AutoupdateSettings'];
154
158
 
155
159
  declare class BleMethods {
@@ -191,7 +195,7 @@ export declare type BleStatusResponse = components['schemas']['BleStatusResponse
191
195
 
192
196
  declare type Brightness = number | 'auto';
193
197
 
194
- export declare interface BusyBar extends SystemMethods, UpdateMethods, TimeMethods, AccountMethods, DisplayMethods, AudioMethods, WifiMethods, StorageMethods, SettingsMethods, BleMethods, InputMethods, AssetsMethods, MatterMethods {
198
+ export declare interface BusyBar extends SystemMethods, UpdateMethods, TimeMethods, AccountMethods, DisplayMethods, AudioMethods, WifiMethods, StorageMethods, SettingsMethods, BleMethods, InputMethods, AssetsMethods, SmartHomeMethods {
195
199
  }
196
200
 
197
201
  /**
@@ -271,9 +275,11 @@ export declare type BusyBarConfig = {
271
275
  token?: string;
272
276
  };
273
277
 
274
- declare type BusyFile = Buffer | Blob | File | ArrayBuffer;
278
+ export declare type BusyFile = Buffer | Blob | File | ArrayBuffer;
275
279
 
276
- declare type CamelizedRequest = DeepCamelize<components['schemas']['ConnectRequestConfig']>;
280
+ declare type BusyFile_2 = Buffer | Blob | File | ArrayBuffer;
281
+
282
+ declare type ClearDisplayQuery = NonNullable<operations['clearDisplay']['parameters']['query']>;
277
283
 
278
284
  declare interface components {
279
285
  schemas: {
@@ -476,7 +482,7 @@ declare interface components {
476
482
  file: string;
477
483
  };
478
484
  /** @example {
479
- * "app_id": "my_app",
485
+ * "application_name": "my_app",
480
486
  * "elements": [
481
487
  * {
482
488
  * "id": "0",
@@ -520,14 +526,14 @@ declare interface components {
520
526
  * @description Application ID for organizing assets
521
527
  * @example my_app
522
528
  */
523
- app_id: string;
529
+ application_name: string;
524
530
  /**
525
- * @description Draw requests with a lower priority than the currently active draw request will be ignored. Value is 1 through 10, inclusive, higher number means higher priority. Any built-in app is treated as priority level 5.
526
- * @default 6
531
+ * @description Draw priority in the range [1, 100] inclusive. A draw request is accepted when its priority is greater than or equal to (>=) the priority of the currently running system app. Equal-priority requests from a different application_name override whatever is on screen. System app priority levels: stub/poweroff apps = 0 (always preemptable), any standard built-in app = 10, active BUSY/CUSTOM work session = 90. The draw API only accepts values 1–100; 0 is reserved for internal use.
532
+ * @default 50
527
533
  */
528
534
  priority: number;
529
535
  /** @description Array of elements to display */
530
- elements: (components['schemas']['TextElement'] | components['schemas']['ImageElement'] | components['schemas']['AnimElement'] | components['schemas']['CountdownElement'])[];
536
+ elements: (components['schemas']['TextElement'] | components['schemas']['ImageElement'] | components['schemas']['AnimationElement'] | components['schemas']['CountdownElement'])[];
531
537
  };
532
538
  DisplayElement: {
533
539
  /** @description Unique identifier for the element */
@@ -540,11 +546,17 @@ declare interface components {
540
546
  * @description Type of display element
541
547
  * @enum {string}
542
548
  */
543
- type: 'text' | 'image' | 'anim' | 'countdown';
544
- /** @description X coordinate of selected anchor point relative to top-left of display */
545
- x?: number;
546
- /** @description Y coordinate of selected anchor point relative to top-left of display */
547
- y?: number;
549
+ type: 'text' | 'image' | 'animation' | 'countdown';
550
+ /**
551
+ * @description X coordinate of selected anchor point relative to top-left of display
552
+ * @default 0
553
+ */
554
+ x: number;
555
+ /**
556
+ * @description Y coordinate of selected anchor point relative to top-left of display
557
+ * @default 0
558
+ */
559
+ y: number;
548
560
  /**
549
561
  * @description Which display to show the element on (for dual-display devices)
550
562
  * @default front
@@ -562,7 +574,6 @@ declare interface components {
562
574
  text: string;
563
575
  /**
564
576
  * @description One of the available fonts to display the text in
565
- * @default tiny5_8
566
577
  * @enum {string}
567
578
  */
568
579
  font: 'small' | 'medium' | 'medium_condensed' | 'big';
@@ -584,10 +595,10 @@ declare interface components {
584
595
  };
585
596
  ImageElement: Omit<components['schemas']['DisplayElement'], 'type'> & ({
586
597
  /** @description Path to the image file in the app's assets */
587
- path?: string;
598
+ path: string;
588
599
  } | {
589
- /** @description Identifier of builtin image */
590
- builtin_image?: string;
600
+ /** @description Stock image file name */
601
+ stock_path: string;
591
602
  }) & {
592
603
  /**
593
604
  * @description discriminator enum property added by openapi-typescript
@@ -595,12 +606,12 @@ declare interface components {
595
606
  */
596
607
  type: 'image';
597
608
  };
598
- AnimElement: Omit<components['schemas']['DisplayElement'], 'type'> & (({
609
+ AnimationElement: Omit<components['schemas']['DisplayElement'], 'type'> & (({
599
610
  /** @description Path to the animation file in the app's assets */
600
611
  path?: string;
601
612
  } | {
602
- /** @description Identifier of builtin animation */
603
- builtin_anim?: string;
613
+ /** @description Stock animation file name */
614
+ stock_path?: string;
604
615
  }) & {
605
616
  /**
606
617
  * @description Whether to loop the requested part of the animation
@@ -612,14 +623,14 @@ declare interface components {
612
623
  * @default false
613
624
  */
614
625
  await_previous_end: boolean;
615
- /** @description Name of the section to play back. Specifying \"default\" selects the entire animation. */
616
- section_name?: string;
626
+ /** @description Name of the section to play back. Specifying "default" selects the entire animation. */
627
+ section?: string;
617
628
  }) & {
618
629
  /**
619
630
  * @description discriminator enum property added by openapi-typescript
620
631
  * @enum {string}
621
632
  */
622
- type: 'anim';
633
+ type: 'animation';
623
634
  };
624
635
  CountdownElement: Omit<components['schemas']['DisplayElement'], 'type'> & {
625
636
  /** @description Seconds-based Unix UTC timestamp to count down or up to. Note: it's a number in a string. */
@@ -669,10 +680,20 @@ declare interface components {
669
680
  };
670
681
  TimezoneInfo: {
671
682
  /**
672
- * @description Timezone name
673
- * @example Berlin
683
+ * @description Time zone name
684
+ * @example Bangalore
674
685
  */
675
- timezone: string;
686
+ name: string;
687
+ /**
688
+ * @description Time zone offset from UTC
689
+ * @example +05:30
690
+ */
691
+ offset: string;
692
+ /**
693
+ * @description Time zone abbreviation
694
+ * @example IST
695
+ */
696
+ abbr: string;
676
697
  };
677
698
  Status: {
678
699
  device?: components['schemas']['StatusDevice'];
@@ -798,7 +819,7 @@ declare interface components {
798
819
  * @example WPA3
799
820
  * @enum {string}
800
821
  */
801
- WifiSecurityMethod: 'Open' | 'WPA' | 'WPA2' | 'WEP' | 'WPA/WPA2' | 'WPA3' | 'WPA2/WPA3';
822
+ WifiSecurityMethod: 'Open' | 'WPA' | 'WPA2' | 'WEP' | 'WPA/WPA2' | 'WPA3' | 'WPA2/WPA3' | 'Unsupported';
802
823
  /**
803
824
  * @example dhcp
804
825
  * @enum {string}
@@ -816,21 +837,38 @@ declare interface components {
816
837
  /** @example 58 */
817
838
  rssi?: number;
818
839
  };
840
+ /** @description Wi-Fi status. Only `state` is always present.
841
+ * Fields `ssid`, `bssid`, `channel`, `rssi`, `security`, and `ip_config` are only included when state is "connected".
842
+ * */
819
843
  StatusResponse: {
820
844
  /**
821
845
  * @example disconnected
822
846
  * @enum {string}
823
847
  */
824
- state?: 'unknown' | 'disconnected' | 'connected' | 'connecting' | 'disconnecting' | 'reconnecting';
825
- /** @example Your_WIFI_SSID */
848
+ state: 'unknown' | 'disconnected' | 'connected' | 'connecting' | 'disconnecting' | 'reconnecting';
849
+ /**
850
+ * @description Only present when connected
851
+ * @example Your_WIFI_SSID
852
+ */
826
853
  ssid?: string;
827
- /** @example EC:5A:00:0B:55:1D */
854
+ /**
855
+ * @description Only present when connected
856
+ * @example EC:5A:00:0B:55:1D
857
+ */
828
858
  bssid?: string;
829
- /** @example 3 */
859
+ /**
860
+ * @description Only present when connected
861
+ * @example 3
862
+ */
830
863
  channel?: number;
831
- /** @example -43 */
864
+ /**
865
+ * @description Only present when connected
866
+ * @example -43
867
+ */
832
868
  rssi?: number;
869
+ /** @description Only present when connected */
833
870
  security?: components['schemas']['WifiSecurityMethod'];
871
+ /** @description Only present when connected */
834
872
  ip_config?: {
835
873
  ip_method?: components['schemas']['WifiIpMethod'];
836
874
  ip_type?: components['schemas']['WifiIpType'];
@@ -879,20 +917,23 @@ declare interface components {
879
917
  /** @example 12345678-9abc-def0-1234-56789abcdef0 */
880
918
  user_id?: string;
881
919
  };
882
- AccountState: {
920
+ AccountStatus: {
883
921
  /**
884
922
  * @example connected
885
923
  * @enum {string}
886
924
  */
887
- state?: 'error' | 'disconnected' | 'connected';
925
+ status?: 'error' | 'disconnected' | 'connected';
888
926
  };
889
927
  AccountProfile: {
890
928
  /**
891
929
  * @example dev
892
930
  * @enum {string}
893
931
  */
894
- state?: 'dev' | 'prod' | 'local' | 'custom';
895
- /** @example mqtts://mqtt.example.com:8883 */
932
+ profile: 'dev' | 'prod' | 'local' | 'custom';
933
+ /**
934
+ * @description Only present when profile is "custom"
935
+ * @example mqtts://mqtt.example.com:8883
936
+ */
896
937
  custom_url?: string;
897
938
  };
898
939
  AccountLink: {
@@ -906,18 +947,17 @@ declare interface components {
906
947
  * @example connected
907
948
  * @enum {string}
908
949
  */
909
- state?: 'reset' | 'initialization' | 'disabled' | 'enabled' | 'connected' | 'internal error';
910
- /** @example 50:DA:D6:FE:DD:A9 */
911
- address?: string;
950
+ status: 'reset' | 'initialization' | 'disabled' | 'enabled' | 'connectable' | 'connected' | 'internal error';
912
951
  /**
913
- * @example paired
914
- * @enum {string}
952
+ * @description Remote device address. Only present when status is "connected".
953
+ * @example 50:DA:D6:FE:DD:A9
915
954
  */
916
- pairing?: 'unknown' | 'not paired' | 'paired';
955
+ address?: string;
917
956
  };
918
957
  BusySnapshot: {
919
- snapshot: components['schemas']['BusySnapshotNotStarted'] | components['schemas']['BusySnapshotInfinite'] | components['schemas']['BusySnapshotSimple'] | components['schemas']['BusySnapshotInterval'];
920
- busy_bar_settings: components['schemas']['BusyBarSettings'];
958
+ snapshot: (components['schemas']['BusySnapshotNotStarted'] | components['schemas']['BusySnapshotInfinite'] | components['schemas']['BusySnapshotSimple'] | components['schemas']['BusySnapshotInterval']) & {
959
+ busy_bar_settings: components['schemas']['BusyBarSettings'];
960
+ };
921
961
  /** @example 1761582532251 */
922
962
  snapshot_timestamp_ms: number;
923
963
  };
@@ -1018,75 +1058,54 @@ declare interface components {
1018
1058
  trigger_smart_home: boolean;
1019
1059
  };
1020
1060
  TimezoneListResponse: {
1021
- list?: {
1022
- /**
1023
- * @description Time zone name
1024
- * @example Bangalore
1025
- */
1026
- name?: string;
1027
- /**
1028
- * @description Time zone offset from UTC
1029
- * @example +05:30
1030
- */
1031
- offset?: string;
1032
- /**
1033
- * @description Time zone abbreviation
1034
- * @example IST
1035
- */
1036
- abbr?: string;
1037
- }[];
1061
+ list?: components['schemas']['TimezoneInfo'][];
1038
1062
  };
1039
- MatterCommissionedFabrics: {
1063
+ SmartHomePairingInfo: {
1040
1064
  /**
1041
- * @description Number of Matter smart homes ("fabrics") that this device is linked with ("commissioned into")
1065
+ * @description Number of smart homes (Matter "fabrics") that this device is paired with ("commissioned into")
1042
1066
  * @example 1
1043
1067
  */
1044
1068
  fabric_count?: number;
1045
- latest_commissioning_status?: {
1069
+ latest_pairing_status?: {
1046
1070
  /**
1047
- * @description Latest state of Matter smart home linking ("commissioning") process. Note: "never_started" only refers to the current power cycle of the device; this status is not recorded across reboots.
1071
+ * @description Latest state of smart home pairing (Matter "commissioning") process. Note: "never_started" only refers to the current power cycle of the device; this status is not recorded across reboots.
1048
1072
  * @example completed_successfully
1049
1073
  * @enum {string}
1050
1074
  */
1051
1075
  value?: 'never_started' | 'started' | 'completed_successfully' | 'failed';
1052
1076
  /**
1053
- * @description UTC Unix millisecond timestamp of latest state update. Note: it's a number in a string.
1054
- * @example 1769436711000
1077
+ * @description UTC Unix second timestamp of latest state update. Only present when a status update has occurred.
1078
+ * @example 1769436711
1055
1079
  */
1056
- timestamp?: string;
1080
+ timestamp?: number;
1057
1081
  };
1058
1082
  };
1059
- MatterCommissioningPayload: {
1083
+ /** @description Set of information for pairing with a Matter smart home */
1084
+ SmartHomePairingPayload: {
1060
1085
  /**
1061
- * @description Linking with ("commissioning into") a Matter smart home using the provided payload is possible before this UTC Unix millisecond timestamp. Note: it's a number in a string.
1086
+ * @description Pairing with ("commissioning into") a Matter smart home using the provided payload is possible before this UTC Unix millisecond timestamp. Note: it's a number in a string.
1062
1087
  * @example 1769437579000
1063
1088
  */
1064
1089
  available_until?: string;
1065
1090
  /**
1066
- * @description Payload of the QR code for linking with ("commissioning into") a Matter smart home
1091
+ * @description Payload of the QR code for pairing with ("commissioning into") a smart home
1067
1092
  * @example MT:YNDA0-O913..VV7I000
1068
1093
  */
1069
1094
  qr_code?: string;
1070
1095
  /**
1071
- * @description Manual code for linking with ("commissioning into") a Matter smart home
1096
+ * @description Manual code for pairing with ("commissioning into") a smart home
1072
1097
  * @example 1155-360-0377
1073
1098
  */
1074
1099
  manual_code?: string;
1075
1100
  };
1076
- MatterEndpointState: {
1077
- /**
1078
- * @description Type of device emulated by a Matter endpoint. Currently only "switch" is implemented.
1079
- * @example switch
1080
- * @enum {string}
1081
- */
1082
- type?: 'switch';
1101
+ SmartHomeSwitchState: {
1083
1102
  /**
1084
- * @description State of device emulated by a Matter endpoint. Boolean for "switch" device type.
1103
+ * @description State of emulated switch.
1085
1104
  * @example false
1086
1105
  */
1087
1106
  state?: boolean;
1088
1107
  /**
1089
- * @description For the "switch" device type, specifies the value on startup. Never sent by the server, but can be specified by the client.
1108
+ * @description State of emulated switch on startup. Never sent by the server, but can be specified by the client.
1090
1109
  * @enum {string}
1091
1110
  */
1092
1111
  startup?: 'off' | 'on' | 'toggle' | 'last';
@@ -1099,11 +1118,9 @@ declare interface components {
1099
1118
  pathItems: never;
1100
1119
  }
1101
1120
 
1102
- declare type DataListener = (data: Uint8Array) => void;
1121
+ export declare type CountdownElement = components['schemas']['CountdownElement'];
1103
1122
 
1104
- declare type DeepCamelize<T> = T extends (...args: any[]) => any ? T : T extends Array<infer U> ? Array<DeepCamelize<U>> : T extends object ? {
1105
- [K in keyof T as SnakeToCamel<K & string>]: DeepCamelize<T[K]>;
1106
- } : T;
1123
+ declare type DataListener = (data: Uint8Array) => void;
1107
1124
 
1108
1125
  export declare enum DeviceScreen {
1109
1126
  FRONT = 0,
@@ -1113,41 +1130,46 @@ export declare enum DeviceScreen {
1113
1130
  export declare type DisplayBrightnessInfo = components['schemas']['DisplayBrightnessInfo'];
1114
1131
 
1115
1132
  export declare interface DisplayBrightnessParams extends TimeoutOptions {
1116
- value?: Brightness;
1133
+ value: Brightness;
1134
+ }
1135
+
1136
+ export declare interface DisplayClearParams extends TimeoutOptions, Partial<ClearDisplayQuery> {
1117
1137
  }
1118
1138
 
1119
- export declare interface DisplayDrawParams extends TimeoutOptions {
1120
- appId: components['schemas']['DisplayElements']['app_id'];
1121
- elements: components['schemas']['DisplayElements']['elements'];
1122
- /** @default 6 */
1123
- priority?: components['schemas']['DisplayElements']['priority'];
1139
+ export declare interface DisplayDrawParams extends TimeoutOptions, DisplayElements {
1124
1140
  }
1125
1141
 
1142
+ export declare type DisplayElement = components['schemas']['DisplayElement'];
1143
+
1144
+ export declare type DisplayElements = components['schemas']['DisplayElements'];
1145
+
1126
1146
  declare class DisplayMethods {
1127
1147
  /**
1128
- * Draw on display. Starts the Canvas application if not running.
1148
+ * Draw on display. Sends drawing data to the display. Supports JSON-defined display elements.
1129
1149
  *
1130
1150
  * @param {DrawParams} params - Parameters for the draw operation.
1131
- * @param {DrawParams['appId']} params.appId - Application ID.
1132
- * @param {DrawParams['elements']} params.elements - Display elements to draw.
1133
- * @param {DrawParams['priority']} [params.priority=6] - Priority for the draw request (1-10).
1151
+ * @param {string} params.application_name - Application ID for organizing assets.
1152
+ * @param {Array} params.elements - Display elements to draw.
1153
+ * @param {number} [params.priority=50] - Draw priority in the range [1, 100].
1134
1154
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1135
1155
  * @returns {Promise<SuccessResponse>} A promise that resolves on successful draw command.
1136
1156
  */
1137
1157
  DisplayDraw(this: BusyBar, params: DisplayDrawParams): Promise<SuccessResponse>;
1138
1158
  /**
1139
- * Clear display. Clears the display and stops the Canvas application if running.
1159
+ * Clear display. Deletes display elements drawn by the Canvas application.
1160
+ * If application_name is specified, only elements for that app are removed.
1140
1161
  *
1141
- * @param {TimeoutOptions} [params] - Optional parameters.
1162
+ * @param {ClearParams} [params] - Optional parameters.
1163
+ * @param {string} [params.application_name] - Application identifier.
1142
1164
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1143
1165
  * @returns {Promise<SuccessResponse>} A promise that resolves on successful clear command.
1144
1166
  */
1145
- DisplayClear(this: BusyBar, params?: TimeoutOptions): Promise<SuccessResponse>;
1167
+ DisplayClear(this: BusyBar, params?: DisplayClearParams): Promise<SuccessResponse>;
1146
1168
  /**
1147
1169
  * Get single frame for requested screen.
1148
1170
  *
1149
1171
  * @param {GetScreenFrameParams} params - Parameters for the frame request.
1150
- * @param {string} params.display - Display identifier.
1172
+ * @param {number} params.display - Type of the display (Front = 0, Back = 1).
1151
1173
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1152
1174
  * @returns {Promise<Blob>} A promise that resolves to the screen frame as a Blob.
1153
1175
  */
@@ -1163,8 +1185,8 @@ declare class DisplayMethods {
1163
1185
  /**
1164
1186
  * Set display brightness.
1165
1187
  *
1166
- * @param {BrightnessParams} params - Brightness parameters:
1167
- * @param {BrightnessParams['value']} [params.value] - Brightness (0-100 or "auto").
1188
+ * @param {BrightnessParams} params - Brightness parameters.
1189
+ * @param {number | 'auto'} params.value - Brightness (0-100 or "auto").
1168
1190
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1169
1191
  * @returns {Promise<SuccessResponse>} A promise that resolves on success.
1170
1192
  */
@@ -1184,11 +1206,13 @@ declare interface ErrorPayload {
1184
1206
 
1185
1207
  export declare type HttpAccessInfo = components['schemas']['HttpAccessInfo'];
1186
1208
 
1187
- export declare interface HttpAccessParams extends TimeoutOptions {
1188
- mode: operations['setHttpAccess']['parameters']['query']['mode'];
1189
- key: operations['setHttpAccess']['parameters']['query']['key'];
1209
+ export declare interface HttpAccessParams extends TimeoutOptions, HttpAccessQuery {
1190
1210
  }
1191
1211
 
1212
+ declare type HttpAccessQuery = operations['setHttpAccess']['parameters']['query'];
1213
+
1214
+ export declare type ImageElement = components['schemas']['ImageElement'];
1215
+
1192
1216
  export declare class Input {
1193
1217
  readonly addr: string;
1194
1218
  connected: boolean;
@@ -1220,16 +1244,17 @@ export declare interface InputConfig {
1220
1244
  apiSemver?: ApiSemver;
1221
1245
  }
1222
1246
 
1223
- export declare interface InputKeyParams extends TimeoutOptions {
1224
- keyName: KeyName;
1247
+ export declare interface InputKeyParams extends TimeoutOptions, InputKeyQuery {
1225
1248
  }
1226
1249
 
1250
+ declare type InputKeyQuery = operations['setInputKey']['parameters']['query'];
1251
+
1227
1252
  declare class InputMethods {
1228
1253
  /**
1229
1254
  * Send input event. Send single key press event.
1230
1255
  *
1231
1256
  * @param {InputKeyParams} params - Button press parameters:
1232
- * @param {KeyName} params.keyName - Name of the key to press.
1257
+ * @param {KeyName} params.key - Key name.
1233
1258
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1234
1259
  * @returns {Promise<SuccessResponse>} A promise that resolves on success.
1235
1260
  */
@@ -1240,41 +1265,9 @@ export declare type KeyName = operations['setInputKey']['parameters']['query']['
1240
1265
 
1241
1266
  export declare type KeyValue = 1 | 0;
1242
1267
 
1243
- declare class MatterMethods {
1244
- /**
1245
- * Get Matter status.
1246
- *
1247
- * @param {TimeoutOptions} [params] - Optional parameters.
1248
- * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1249
- * @returns {Promise<MatterStatus>} A promise that resolves to the Matter status.
1250
- */
1251
- MatterStatusGet(this: BusyBar, params?: TimeoutOptions): Promise<MatterStatus>;
1252
- /**
1253
- * Pair Matter device.
1254
- *
1255
- * @param {TimeoutOptions} [params] - Optional parameters.
1256
- * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1257
- * @returns {Promise<MatterPairingInfo>} A promise that resolves on success.
1258
- */
1259
- MatterPair(this: BusyBar, params?: TimeoutOptions): Promise<MatterPairingInfo>;
1260
- /**
1261
- * Erase Matter devices.
1262
- *
1263
- * @param {TimeoutOptions} [params] - Optional parameters.
1264
- * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
1265
- * @returns {Promise<SuccessResponse>} A promise that resolves on success.
1266
- */
1267
- MatterErase(this: BusyBar, params?: TimeoutOptions): Promise<SuccessResponse>;
1268
- }
1269
-
1270
- export declare type MatterPairingInfo = components['schemas']['MatterCommissioningPayload'];
1271
-
1272
- export declare type MatterStatus = components['schemas']['MatterCommissionedFabrics'];
1273
-
1274
1268
  export declare type NameInfo = components['schemas']['NameInfo'];
1275
1269
 
1276
- export declare interface NameParams extends TimeoutOptions {
1277
- name: NameInfo['name'];
1270
+ export declare interface NameParams extends TimeoutOptions, NameInfo {
1278
1271
  }
1279
1272
 
1280
1273
  declare interface operations {
@@ -1336,10 +1329,10 @@ declare interface operations {
1336
1329
  */
1337
1330
  mode: 'disabled' | 'enabled' | 'key';
1338
1331
  /**
1339
- * @description Access key (4-10 digits length)
1332
+ * @description Access key (4-10 digits length). Required when mode is "key".
1340
1333
  * @example 12345678
1341
1334
  */
1342
- key: string;
1335
+ key?: string;
1343
1336
  };
1344
1337
  header?: never;
1345
1338
  path?: never;
@@ -1674,7 +1667,7 @@ declare interface operations {
1674
1667
  * @description Application ID for organizing assets
1675
1668
  * @example my_app
1676
1669
  */
1677
- app_id: string;
1670
+ application_name: string;
1678
1671
  /**
1679
1672
  * @description Filename for the uploaded asset
1680
1673
  * @example data.png
@@ -1727,7 +1720,7 @@ declare interface operations {
1727
1720
  * @description Application ID whose assets should be deleted
1728
1721
  * @example my_app
1729
1722
  */
1730
- app_id: string;
1723
+ application_name: string;
1731
1724
  };
1732
1725
  header?: never;
1733
1726
  path?: never;
@@ -2061,8 +2054,8 @@ declare interface operations {
2061
2054
  'application/json': components['schemas']['Error'];
2062
2055
  };
2063
2056
  };
2064
- /** @description Display error */
2065
- 500: {
2057
+ /** @description Failed to load canvas app */
2058
+ 503: {
2066
2059
  headers: {
2067
2060
  [name: string]: unknown;
2068
2061
  };
@@ -2079,7 +2072,7 @@ declare interface operations {
2079
2072
  * @description Application identifier
2080
2073
  * @example my_app
2081
2074
  */
2082
- app_id?: string;
2075
+ application_name?: string;
2083
2076
  };
2084
2077
  header?: never;
2085
2078
  path?: never;
@@ -2096,15 +2089,6 @@ declare interface operations {
2096
2089
  'application/json': components['schemas']['SuccessResponse'];
2097
2090
  };
2098
2091
  };
2099
- /** @description Display error */
2100
- 500: {
2101
- headers: {
2102
- [name: string]: unknown;
2103
- };
2104
- content: {
2105
- 'application/json': components['schemas']['Error'];
2106
- };
2107
- };
2108
2092
  };
2109
2093
  };
2110
2094
  getDisplayBrightness: {
@@ -2129,12 +2113,12 @@ declare interface operations {
2129
2113
  };
2130
2114
  setDisplayBrightness: {
2131
2115
  parameters: {
2132
- query?: {
2116
+ query: {
2133
2117
  /**
2134
2118
  * @description Displays brightness (0-100/auto)
2135
2119
  * @example 50
2136
2120
  */
2137
- value?: string;
2121
+ value: string;
2138
2122
  };
2139
2123
  header?: never;
2140
2124
  path?: never;
@@ -2169,7 +2153,7 @@ declare interface operations {
2169
2153
  * @description Application ID for organizing assets
2170
2154
  * @example my_app
2171
2155
  */
2172
- app_id: string;
2156
+ application_name: string;
2173
2157
  /**
2174
2158
  * @description Path to audio file within app's assets directory
2175
2159
  * @example data.snd
@@ -2538,7 +2522,7 @@ declare interface operations {
2538
2522
  };
2539
2523
  };
2540
2524
  };
2541
- getTime: {
2525
+ connectScreenWebSocket: {
2542
2526
  parameters: {
2543
2527
  query?: never;
2544
2528
  header?: never;
@@ -2547,16 +2531,14 @@ declare interface operations {
2547
2531
  };
2548
2532
  requestBody?: never;
2549
2533
  responses: {
2550
- /** @description Timestamp retrieved successfully */
2551
- 200: {
2534
+ /** @description WebSocket connection established */
2535
+ 101: {
2552
2536
  headers: {
2553
2537
  [name: string]: unknown;
2554
2538
  };
2555
- content: {
2556
- 'application/json': components['schemas']['TimestampInfo'];
2557
- };
2539
+ content?: never;
2558
2540
  };
2559
- /** @description Bad request */
2541
+ /** @description Exceed max clients count */
2560
2542
  400: {
2561
2543
  headers: {
2562
2544
  [name: string]: unknown;
@@ -2567,6 +2549,26 @@ declare interface operations {
2567
2549
  };
2568
2550
  };
2569
2551
  };
2552
+ getTime: {
2553
+ parameters: {
2554
+ query?: never;
2555
+ header?: never;
2556
+ path?: never;
2557
+ cookie?: never;
2558
+ };
2559
+ requestBody?: never;
2560
+ responses: {
2561
+ /** @description Timestamp retrieved successfully */
2562
+ 200: {
2563
+ headers: {
2564
+ [name: string]: unknown;
2565
+ };
2566
+ content: {
2567
+ 'application/json': components['schemas']['TimestampInfo'];
2568
+ };
2569
+ };
2570
+ };
2571
+ };
2570
2572
  unlinkAccount: {
2571
2573
  parameters: {
2572
2574
  query?: never;
@@ -2636,7 +2638,7 @@ declare interface operations {
2636
2638
  };
2637
2639
  };
2638
2640
  };
2639
- getAccountState: {
2641
+ getAccountStatus: {
2640
2642
  parameters: {
2641
2643
  query?: never;
2642
2644
  header?: never;
@@ -2651,7 +2653,7 @@ declare interface operations {
2651
2653
  [name: string]: unknown;
2652
2654
  };
2653
2655
  content: {
2654
- 'application/json': components['schemas']['AccountState'];
2656
+ 'application/json': components['schemas']['AccountStatus'];
2655
2657
  };
2656
2658
  };
2657
2659
  };
@@ -2965,7 +2967,7 @@ declare interface operations {
2965
2967
  };
2966
2968
  };
2967
2969
  };
2968
- getMatterCommissioningStatus: {
2970
+ getSmartHomeCommissioningStatus: {
2969
2971
  parameters: {
2970
2972
  query?: never;
2971
2973
  header?: never;
@@ -2974,18 +2976,18 @@ declare interface operations {
2974
2976
  };
2975
2977
  requestBody?: never;
2976
2978
  responses: {
2977
- /** @description Successfully got Matter commissioning status */
2979
+ /** @description Successfully got smart home commissioning status */
2978
2980
  200: {
2979
2981
  headers: {
2980
2982
  [name: string]: unknown;
2981
2983
  };
2982
2984
  content: {
2983
- 'application/json': components['schemas']['MatterCommissionedFabrics'];
2985
+ 'application/json': components['schemas']['SmartHomePairingInfo'];
2984
2986
  };
2985
2987
  };
2986
2988
  };
2987
2989
  };
2988
- startMatterCommissioning: {
2990
+ startSmartHomePairing: {
2989
2991
  parameters: {
2990
2992
  query?: never;
2991
2993
  header?: never;
@@ -2994,16 +2996,16 @@ declare interface operations {
2994
2996
  };
2995
2997
  requestBody?: never;
2996
2998
  responses: {
2997
- /** @description Successfully started Matter commissioning */
2999
+ /** @description Successfully started smart home pairing */
2998
3000
  200: {
2999
3001
  headers: {
3000
3002
  [name: string]: unknown;
3001
3003
  };
3002
3004
  content: {
3003
- 'application/json': components['schemas']['MatterCommissioningPayload'];
3005
+ 'application/json': components['schemas']['SmartHomePairingPayload'];
3004
3006
  };
3005
3007
  };
3006
- /** @description Internal Matter service is broken */
3008
+ /** @description Internal smart home service is broken */
3007
3009
  503: {
3008
3010
  headers: {
3009
3011
  [name: string]: unknown;
@@ -3463,7 +3465,7 @@ declare interface paths {
3463
3465
  post: operations['drawOnDisplay'];
3464
3466
  /**
3465
3467
  * Clear display
3466
- * @description Clears the display and stops the Canvas application if running
3468
+ * @description Deletes display elements drawn by the Canvas application. If application_name is specified, only elements for that app are removed.
3467
3469
  */
3468
3470
  delete: operations['clearDisplay'];
3469
3471
  options?: never;
@@ -3670,6 +3672,29 @@ declare interface paths {
3670
3672
  patch?: never;
3671
3673
  trace?: never;
3672
3674
  };
3675
+ '/status/ws': {
3676
+ parameters: {
3677
+ query?: never;
3678
+ header?: never;
3679
+ path?: never;
3680
+ cookie?: never;
3681
+ };
3682
+ /**
3683
+ * Device status streaming WebSocket endpoint
3684
+ * @description WebSocket connection for real-time device status and screen streaming.
3685
+ * Upgrade from HTTP to WebSocket protocol is required.
3686
+ * After connection, client must enable streaming by sending JSON: {"enable": true}
3687
+ *
3688
+ */
3689
+ get: operations['connectWebSocket'];
3690
+ put?: never;
3691
+ post?: never;
3692
+ delete?: never;
3693
+ options?: never;
3694
+ head?: never;
3695
+ patch?: never;
3696
+ trace?: never;
3697
+ };
3673
3698
  '/wifi/status': {
3674
3699
  parameters: {
3675
3700
  query?: never;
@@ -3911,7 +3936,7 @@ declare interface paths {
3911
3936
  * as JSON {"display": 0}
3912
3937
  *
3913
3938
  */
3914
- get: operations['connectWebSocket'];
3939
+ get: operations['connectScreenWebSocket'];
3915
3940
  put?: never;
3916
3941
  post?: never;
3917
3942
  delete?: never;
@@ -3951,6 +3976,15 @@ declare interface paths {
3951
3976
  'application/json': components['schemas']['SuccessResponse'];
3952
3977
  };
3953
3978
  };
3979
+ /** @description Unable to start BLE */
3980
+ 503: {
3981
+ headers: {
3982
+ [name: string]: unknown;
3983
+ };
3984
+ content: {
3985
+ 'application/json': components['schemas']['Error'];
3986
+ };
3987
+ };
3954
3988
  };
3955
3989
  };
3956
3990
  delete?: never;
@@ -3990,6 +4024,15 @@ declare interface paths {
3990
4024
  'application/json': components['schemas']['SuccessResponse'];
3991
4025
  };
3992
4026
  };
4027
+ /** @description Unable to stop BLE */
4028
+ 503: {
4029
+ headers: {
4030
+ [name: string]: unknown;
4031
+ };
4032
+ content: {
4033
+ 'application/json': components['schemas']['Error'];
4034
+ };
4035
+ };
3993
4036
  };
3994
4037
  };
3995
4038
  delete?: never;
@@ -4173,7 +4216,7 @@ declare interface paths {
4173
4216
  * Get MQTT status info
4174
4217
  * @description Retrieves MQTT status
4175
4218
  */
4176
- get: operations['getAccountState'];
4219
+ get: operations['getAccountStatus'];
4177
4220
  put?: never;
4178
4221
  post?: never;
4179
4222
  delete?: never;
@@ -4319,7 +4362,7 @@ declare interface paths {
4319
4362
  patch?: never;
4320
4363
  trace?: never;
4321
4364
  };
4322
- '/matter/commissioning': {
4365
+ '/smart_home/pairing': {
4323
4366
  parameters: {
4324
4367
  query?: never;
4325
4368
  header?: never;
@@ -4327,10 +4370,10 @@ declare interface paths {
4327
4370
  cookie?: never;
4328
4371
  };
4329
4372
  /** Smart home commissioning status */
4330
- get: operations['getMatterCommissioningStatus'];
4373
+ get: operations['getSmartHomeCommissioningStatus'];
4331
4374
  put?: never;
4332
4375
  /** Link device to a smart home */
4333
- post: operations['startMatterCommissioning'];
4376
+ post: operations['startSmartHomePairing'];
4334
4377
  /** Erase all smart home links */
4335
4378
  delete: {
4336
4379
  parameters: {
@@ -4341,7 +4384,7 @@ declare interface paths {
4341
4384
  };
4342
4385
  requestBody?: never;
4343
4386
  responses: {
4344
- /** @description Successfully erased all Matter commissioning info, device restart is needed */
4387
+ /** @description Successfully erased all smart home pairing info, device restart is needed */
4345
4388
  200: {
4346
4389
  headers: {
4347
4390
  [name: string]: unknown;
@@ -4350,7 +4393,7 @@ declare interface paths {
4350
4393
  'application/json': components['schemas']['SuccessResponse'];
4351
4394
  };
4352
4395
  };
4353
- /** @description Internal Matter service is broken */
4396
+ /** @description Internal smart home service is broken */
4354
4397
  503: {
4355
4398
  headers: {
4356
4399
  [name: string]: unknown;
@@ -4366,14 +4409,14 @@ declare interface paths {
4366
4409
  patch?: never;
4367
4410
  trace?: never;
4368
4411
  };
4369
- '/matter/endpoint/1': {
4412
+ '/smart_home/switch': {
4370
4413
  parameters: {
4371
4414
  query?: never;
4372
4415
  header?: never;
4373
4416
  path?: never;
4374
4417
  cookie?: never;
4375
4418
  };
4376
- /** Get Matter endpoint 1 state */
4419
+ /** Get state of emulated smart home switch */
4377
4420
  get: {
4378
4421
  parameters: {
4379
4422
  query?: never;
@@ -4383,16 +4426,16 @@ declare interface paths {
4383
4426
  };
4384
4427
  requestBody?: never;
4385
4428
  responses: {
4386
- /** @description Successfully got Matter endpoint 1 state */
4429
+ /** @description Successfully got state of emulated smart home switch */
4387
4430
  200: {
4388
4431
  headers: {
4389
4432
  [name: string]: unknown;
4390
4433
  };
4391
4434
  content: {
4392
- 'application/json': components['schemas']['MatterEndpointState'];
4435
+ 'application/json': components['schemas']['SmartHomeSwitchState'];
4393
4436
  };
4394
4437
  };
4395
- /** @description Internal Matter service is broken */
4438
+ /** @description Internal smart home service is broken */
4396
4439
  503: {
4397
4440
  headers: {
4398
4441
  [name: string]: unknown;
@@ -4404,7 +4447,7 @@ declare interface paths {
4404
4447
  };
4405
4448
  };
4406
4449
  put?: never;
4407
- /** Set Matter endpoint 1 state */
4450
+ /** Set state of emulated smart home switch */
4408
4451
  post: {
4409
4452
  parameters: {
4410
4453
  query?: never;
@@ -4414,11 +4457,11 @@ declare interface paths {
4414
4457
  };
4415
4458
  requestBody: {
4416
4459
  content: {
4417
- 'application/json': components['schemas']['MatterEndpointState'];
4460
+ 'application/json': components['schemas']['SmartHomeSwitchState'];
4418
4461
  };
4419
4462
  };
4420
4463
  responses: {
4421
- /** @description Successfully set Matter endpoint 1 state */
4464
+ /** @description Successfully set state of emulated smart home switch */
4422
4465
  200: {
4423
4466
  headers: {
4424
4467
  [name: string]: unknown;
@@ -4427,7 +4470,7 @@ declare interface paths {
4427
4470
  'application/json': components['schemas']['SuccessResponse'];
4428
4471
  };
4429
4472
  };
4430
- /** @description Internal Matter service is broken */
4473
+ /** @description Internal smart home service is broken */
4431
4474
  503: {
4432
4475
  headers: {
4433
4476
  [name: string]: unknown;
@@ -4446,16 +4489,17 @@ declare interface paths {
4446
4489
  };
4447
4490
  }
4448
4491
 
4449
- declare type RenameQuery = operations['RenameStorageFile']['parameters']['query'];
4450
-
4451
- declare type RequiredIpConfig = RequireKeys<NonNullable<CamelizedRequest['ipConfig']>, 'ipMethod'>;
4492
+ declare type RequiredIpConfig = RequireKeys<NonNullable<WifiConnectRequestConfig['ip_config']>, 'ip_method'>;
4452
4493
 
4453
4494
  declare type RequireKeys<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
4454
4495
 
4455
- export declare interface ScreenFrameGetParams extends TimeoutOptions {
4456
- display: paths['/screen']['get']['parameters']['query']['display'];
4496
+ export declare interface ScreenFrameGetParams extends TimeoutOptions, ScreenQuery {
4457
4497
  }
4458
4498
 
4499
+ declare type ScreenQuery = paths['/screen']['get']['parameters']['query'];
4500
+
4501
+ export declare type ScreenResponse = components['schemas']['ScreenResponse'];
4502
+
4459
4503
  export declare class ScreenStream {
4460
4504
  private config;
4461
4505
  readonly addr: string;
@@ -4484,6 +4528,8 @@ export declare interface ScreenStreamConfig {
4484
4528
  apiSemver?: ApiSemver;
4485
4529
  }
4486
4530
 
4531
+ declare type SetTimezoneQuery = operations['setTimeTimezone']['parameters']['query'];
4532
+
4487
4533
  declare class SettingsMethods {
4488
4534
  /**
4489
4535
  * Get HTTP API access over Wi-Fi configuration.
@@ -4498,7 +4544,7 @@ declare class SettingsMethods {
4498
4544
  *
4499
4545
  * @param {HttpAccessParams} params - Access parameters:
4500
4546
  * @param {boolean} params.mode - Enable/disable access.
4501
- * @param {string} params.key - Access key (4-10 digits).
4547
+ * @param {string} [params.key] - Access key (4-10 digits).
4502
4548
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4503
4549
  * @returns {Promise<SuccessResponse>} A promise that resolves on success.
4504
4550
  */
@@ -4522,7 +4568,64 @@ declare class SettingsMethods {
4522
4568
  SettingsNameSet(this: BusyBar, params: NameParams): Promise<SuccessResponse>;
4523
4569
  }
4524
4570
 
4525
- declare type SnakeToCamel<S extends string> = S extends `${infer Head}_${infer Tail}` ? `${Head}${Capitalize<SnakeToCamel<Tail>>}` : S;
4571
+ declare class SmartHomeMethods {
4572
+ /**
4573
+ * Smart home commissioning status.
4574
+ *
4575
+ * @param {TimeoutOptions} [params] - Optional parameters.
4576
+ * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4577
+ * @returns {Promise<SmartHomePairingInfo>} A promise that resolves to the pairing info.
4578
+ */
4579
+ SmartHomePairingGet(this: BusyBar, params?: TimeoutOptions): Promise<SmartHomePairingInfo>;
4580
+ /**
4581
+ * Link device to a smart home.
4582
+ *
4583
+ * @param {TimeoutOptions} [params] - Optional timeout.
4584
+ * @returns {Promise<SmartHomePairingPayload>} A promise that resolves to the pairing payload.
4585
+ */
4586
+ SmartHomePair(this: BusyBar, params?: TimeoutOptions): Promise<SmartHomePairingPayload>;
4587
+ /**
4588
+ * Erase all smart home links.
4589
+ *
4590
+ * @param {TimeoutOptions} [params] - Optional parameters.
4591
+ * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4592
+ * @returns {Promise<SuccessResponse>} A promise that resolves on success.
4593
+ */
4594
+ SmartHomeErase(this: BusyBar, params?: TimeoutOptions): Promise<SuccessResponse>;
4595
+ /**
4596
+ * Get state of emulated smart home switch.
4597
+ *
4598
+ * @param {TimeoutOptions} [params] - Optional parameters.
4599
+ * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4600
+ * @returns {Promise<SmartHomeSwitchState>} A promise that resolves to the switch state.
4601
+ */
4602
+ SmartHomeSwitchStateGet(this: BusyBar, params?: TimeoutOptions): Promise<SmartHomeSwitchState>;
4603
+ /**
4604
+ * Set state of emulated smart home switch.
4605
+ *
4606
+ * @param {SmartHomeSwitchState & TimeoutOptions} params - Switch state and optional timeout.
4607
+ * @returns {Promise<SuccessResponse>} A promise that resolves on success.
4608
+ */
4609
+ SmartHomeSwitchStateSet(this: BusyBar, params: SmartHomeSwitchState & TimeoutOptions): Promise<SuccessResponse>;
4610
+ /**
4611
+ * @deprecated Use SmartHomePairingGet instead.
4612
+ */
4613
+ MatterStatusGet(this: BusyBar, params?: TimeoutOptions): Promise<SmartHomePairingInfo>;
4614
+ /**
4615
+ * @deprecated Use SmartHomePair instead.
4616
+ */
4617
+ MatterPair(this: BusyBar, params?: TimeoutOptions): Promise<SmartHomePairingPayload>;
4618
+ /**
4619
+ * @deprecated Use SmartHomeErase instead.
4620
+ */
4621
+ MatterErase(this: BusyBar, params?: TimeoutOptions): Promise<SuccessResponse>;
4622
+ }
4623
+
4624
+ export declare type SmartHomePairingInfo = components['schemas']['SmartHomePairingInfo'];
4625
+
4626
+ export declare type SmartHomePairingPayload = components['schemas']['SmartHomePairingPayload'];
4627
+
4628
+ export declare type SmartHomeSwitchState = components['schemas']['SmartHomeSwitchState'];
4526
4629
 
4527
4630
  export declare type Status = components['schemas']['Status'];
4528
4631
 
@@ -4536,15 +4639,15 @@ export declare type StatusSystem = components['schemas']['StatusSystem'];
4536
4639
 
4537
4640
  declare type StopListener = () => void;
4538
4641
 
4539
- export declare interface StorageCreateDirectoryParams extends TimeoutOptions {
4540
- path: operations['createStorageDir']['parameters']['query']['path'];
4642
+ export declare interface StorageCreateDirectoryParams extends TimeoutOptions, StorageCreateDirQuery {
4541
4643
  }
4542
4644
 
4645
+ declare type StorageCreateDirQuery = operations['createStorageDir']['parameters']['query'];
4646
+
4543
4647
  export declare type StorageDirElement = components['schemas']['StorageDirElement'];
4544
4648
 
4545
- export declare interface StorageDownloadFileParams extends TimeoutOptions {
4546
- path: operations['readStorageFile']['parameters']['query']['path'];
4547
- asArrayBuffer?: boolean;
4649
+ export declare interface StorageDownloadFileParams extends TimeoutOptions, StorageReadQuery {
4650
+ as_array_buffer?: boolean;
4548
4651
  }
4549
4652
 
4550
4653
  export declare type StorageFileElement = components['schemas']['StorageFileElement'];
@@ -4553,6 +4656,8 @@ export declare type StorageList = components['schemas']['StorageList'];
4553
4656
 
4554
4657
  export declare type StorageListElement = components['schemas']['StorageListElement'];
4555
4658
 
4659
+ declare type StorageListQuery = operations['listStorageFiles']['parameters']['query'];
4660
+
4556
4661
  declare class StorageMethods {
4557
4662
  /**
4558
4663
  * Upload file to internal storage. Uploads a file to a specified path.
@@ -4569,7 +4674,7 @@ declare class StorageMethods {
4569
4674
  *
4570
4675
  * @param {DownloadFileParams} params - Download parameters:
4571
4676
  * @param {string} params.path - Path to the file.
4572
- * @param {boolean} [params.asArrayBuffer] - Whether to return ArrayBuffer instead of Blob.
4677
+ * @param {boolean} [params.as_array_buffer] - Whether to return ArrayBuffer instead of Blob.
4573
4678
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4574
4679
  * @returns {Promise<StorageReadResponse>} A promise that resolves to the file content (Blob or ArrayBuffer).
4575
4680
  */
@@ -4621,26 +4726,31 @@ declare class StorageMethods {
4621
4726
  StorageRename(this: BusyBar, params: StorageRenameParams): Promise<SuccessResponse>;
4622
4727
  }
4623
4728
 
4624
- export declare interface StorageReadDirectoryParams extends TimeoutOptions {
4625
- path: operations['listStorageFiles']['parameters']['query']['path'];
4729
+ export declare interface StorageReadDirectoryParams extends TimeoutOptions, StorageListQuery {
4626
4730
  }
4627
4731
 
4732
+ declare type StorageReadQuery = operations['readStorageFile']['parameters']['query'];
4733
+
4628
4734
  export declare type StorageReadResponse = ArrayBuffer | Blob;
4629
4735
 
4630
- export declare interface StorageRemoveParams extends TimeoutOptions {
4631
- path: operations['removeStorageFile']['parameters']['query']['path'];
4736
+ export declare interface StorageRemoveParams extends TimeoutOptions, StorageRemoveQuery {
4632
4737
  }
4633
4738
 
4634
- export declare interface StorageRenameParams extends TimeoutOptions, RenameQuery {
4739
+ declare type StorageRemoveQuery = operations['removeStorageFile']['parameters']['query'];
4740
+
4741
+ export declare interface StorageRenameParams extends TimeoutOptions, StorageRenameQuery {
4635
4742
  }
4636
4743
 
4744
+ declare type StorageRenameQuery = operations['RenameStorageFile']['parameters']['query'];
4745
+
4637
4746
  export declare type StorageStatus = components['schemas']['StorageStatus'];
4638
4747
 
4639
- export declare interface StorageUploadFileParams extends TimeoutOptions {
4640
- path: operations['writeStorageFile']['parameters']['query']['path'];
4641
- file: BusyFile;
4748
+ export declare interface StorageUploadFileParams extends TimeoutOptions, StorageWriteQuery {
4749
+ file: BusyFile_2;
4642
4750
  }
4643
4751
 
4752
+ declare type StorageWriteQuery = operations['writeStorageFile']['parameters']['query'];
4753
+
4644
4754
  export declare type SuccessResponse = components['schemas']['SuccessResponse'];
4645
4755
 
4646
4756
  declare class SystemMethods {
@@ -4694,6 +4804,8 @@ declare class SystemMethods {
4694
4804
  SystemStatusFirmwareGet(this: BusyBar, params?: TimeoutOptions): Promise<StatusFirmware>;
4695
4805
  }
4696
4806
 
4807
+ export declare type TextElement = components['schemas']['TextElement'];
4808
+
4697
4809
  declare class TimeMethods {
4698
4810
  /**
4699
4811
  * Get current timestamp info.
@@ -4745,12 +4857,10 @@ export declare interface TimeoutOptions {
4745
4857
 
4746
4858
  export declare type TimestampInfo = components['schemas']['TimestampInfo'];
4747
4859
 
4748
- export declare interface TimeTimestampParams extends TimeoutOptions {
4749
- timestamp: operations['setTimeTimestamp']['parameters']['query']['timestamp'];
4860
+ export declare interface TimeTimestampParams extends TimeoutOptions, TimestampInfo {
4750
4861
  }
4751
4862
 
4752
- export declare interface TimeTimezoneParams extends TimeoutOptions {
4753
- timezone: operations['setTimeTimezone']['parameters']['query']['timezone'];
4863
+ export declare interface TimeTimezoneParams extends TimeoutOptions, SetTimezoneQuery {
4754
4864
  }
4755
4865
 
4756
4866
  export declare type TimezoneInfo = components['schemas']['TimezoneInfo'];
@@ -4764,18 +4874,20 @@ export declare interface UpdateAutoUpdateParams extends TimeoutOptions, AutoUpda
4764
4874
 
4765
4875
  export declare type UpdateChangelog = operations['getUpdateChangelog']['responses']['200']['content']['application/json'];
4766
4876
 
4767
- export declare interface UpdateChangelogParams extends TimeoutOptions {
4768
- version: string;
4877
+ export declare interface UpdateChangelogParams extends TimeoutOptions, UpdateChangelogQuery {
4769
4878
  }
4770
4879
 
4880
+ declare type UpdateChangelogQuery = operations['getUpdateChangelog']['parameters']['query'];
4881
+
4771
4882
  export declare interface UpdateFromFileParams extends TimeoutOptions {
4772
- file: BusyFile;
4883
+ file: BusyFile_2;
4773
4884
  }
4774
4885
 
4775
- export declare interface UpdateInstallParams extends TimeoutOptions {
4776
- version: string;
4886
+ export declare interface UpdateInstallParams extends TimeoutOptions, UpdateInstallQuery {
4777
4887
  }
4778
4888
 
4889
+ declare type UpdateInstallQuery = operations['installFirmwareUpdate']['parameters']['query'];
4890
+
4779
4891
  declare class UpdateMethods {
4780
4892
  /**
4781
4893
  * Upload firmware update package.
@@ -4853,9 +4965,9 @@ export declare type UpdateStatus = components['schemas']['UpdateStatus'];
4853
4965
 
4854
4966
  export declare type VersionInfo = components['schemas']['VersionInfo'];
4855
4967
 
4856
- export declare type WifiConnectParams = RequireKeys<Omit<CamelizedRequest, 'ipConfig'> & {
4857
- ipConfig: RequiredIpConfig;
4858
- }, 'ssid' | 'security' | 'ipConfig'> & TimeoutOptions;
4968
+ export declare type WifiConnectParams = RequireKeys<Omit<WifiConnectRequestConfig, 'ip_config'> & {
4969
+ ip_config: RequiredIpConfig;
4970
+ }, 'ssid' | 'security' | 'ip_config'> & TimeoutOptions;
4859
4971
 
4860
4972
  export declare type WifiConnectRequestConfig = components['schemas']['ConnectRequestConfig'];
4861
4973
 
@@ -4879,7 +4991,7 @@ declare class WifiMethods {
4879
4991
  * @param {string} params.ssid - Network SSID.
4880
4992
  * @param {string} params.password - Network password.
4881
4993
  * @param {WifiSecurityMethod} params.security - Security method.
4882
- * @param {object} params.ipConfig - IP configuration.
4994
+ * @param {object} [params.ip_config] - IP configuration.
4883
4995
  * @param {TimeoutOptions['timeout']} [params.timeout] - Request timeout in milliseconds.
4884
4996
  * @returns {Promise<SuccessResponse>} A promise that resolves on successful connection initiation.
4885
4997
  */